ENGINEERING

Detect N+1 query patterns in Honeycomb and page when SLO burns

Scans Honeycomb traces for repeated identical queries within a single request, and if the resulting latency burns the service SLO it pages via PagerDuty and files a GitHub issue…

CategoryEngineering
Enginesim
Difficultyadvanced
Triggerschedule
Steps5
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • Trigger30-minute schedule fires
  • ActionQuery Honeycomb for repeated queries per traceHoneycomb
  • LogicFlag N+1 traces; compute SLO burn from added latency
  • ActionIf burning SLO, trigger PagerDuty incidentPagerDutyPagerDuty
  • OutputElse file GitHub backlog issue tagged n+1GitHubGitHub

What it does

Periodically inspects Honeycomb traces for N+1 patterns — the same query executed many times inside one request — calculates the latency cost, and escalates only when that cost is burning the service error budget.

When to use it

When ORM-driven N+1 queries are your recurring perf killer and you want them caught automatically with severity tied to SLO impact, not just logged. Ideal for teams with a PagerDuty rotation who only want to be paged for real budget burn.

How it works

  1. 1A schedule fires every 30 minutes.
  2. 2Query Honeycomb for traces grouped by `trace.trace_id`, counting repeated `db.statement` values per trace.
  3. 3A logic step flags traces where one query repeats above the N+1 threshold and computes aggregate added latency against the SLO budget.
  4. 4If the SLO burn rate is breached, trigger a PagerDuty incident with the call site and repeat count.
  5. 5Otherwise, open a GitHub issue tagged `n+1` with the query, repeat count, and a trace link for backlog triage.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect HoneycombDistributed traces and queries.
  2. 2
    Connect PagerDutyIncidents, on-call, escalations.
  3. 3
    Connect GitHubRepos, issues, pull requests, actions.
  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.