DATA OPS

BigQuery Slot-Hog Detection and Owner Linear Tickets

Detects scheduled queries that exceed a slot-ms or scan-bytes budget, then opens a Linear ticket assigned to the query owner with the offending SQL and a cost breakdown attached.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerSchedule every few hours
  • ActionAggregate slot-ms and bytes scanned per scheduled queryGoogle BigQueryBigQuery
  • LogicFilter to over-budget queries and dedupe open tickets
  • ActionCreate Linear issue assigned to query ownerLinearLinear
  • OutputPost new-ticket summary to SlackSlack

What it does

Scans recent BigQuery job history for scheduled queries whose consumed slot-ms or bytes-scanned blow past a configured budget, identifies the owner from the query's `owner` label, and files a Linear issue assigned directly to that person. The ticket carries the query name, the SQL text, slot-ms consumed, and estimated cost so the owner can fix or schedule it without a back-and-forth.

When to use it

Use this when a few heavy scheduled queries dominate your reservation and you want accountability tracked as work, not just a Slack ping that scrolls away. It converts a slot-utilization spike into an assigned, trackable task.

How it works

  1. 1A schedule runs every few hours.
  2. 2Query `INFORMATION_SCHEMA.JOBS` for scheduled-query jobs and aggregate slot-ms and bytes scanned per query.
  3. 3Filter to queries above the slot or scan budget; deduplicate against tickets already open.
  4. 4For each new offender, resolve the owner from its label.
  5. 5Create a Linear issue assigned to the owner with SQL, slot-ms, and cost in the body.
  6. 6Post a short summary of new tickets to Slack.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect BigQueryDatasets, queries, schemas.
  2. 2
    Connect LinearIssues, projects, cycles, triage.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.