Aglet

How to diagnose a queue backlog by age, class, and flow

A queue backlog is a flow problem that may come from more arrivals, slower consumers, blocked dependencies, or a small set of failing jobs. This triage guide measures arrival, service, depth, age, work class, and customer-visible delay to find where the flow first diverges.

Establish what is happening

  1. Capture depth, age, and work class

    Record queue or stream name, work class, arrival count, completion count, oldest item age, recent item age, retry count, consumer availability, and customer-visible action. Separate normal, delayed, failed, and retrying work. Use public or stable identifiers and redact payload content.

  2. Compare normal flow with backlog flow

    Align a healthy period with the backlog period and compare arrivals, service time, consumer concurrency, dependency waits, failures, retries, and completion ordering. Identify whether one work class grows while others drain. Mark gaps in queue age or service measurements instead of assuming capacity.

  3. Check isolation and recovery state

    Inspect whether a repeatedly failing or slow item blocks unrelated work, whether new arrivals are admitted, and whether completed work reaches its visible state. Observe after arrivals slow: record drain rate, oldest age, retries, and any lost or duplicated outcomes.

What to carry forward

Return a scope statement naming affected work class, first flow divergence, oldest age, customer action, and isolation or recovery behavior. Route next work to producers, consumers, dependencies, retries, or queue isolation. Stop when one bounded flow comparison identifies the next evidence step.

Keep the decision with the work.

Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.

Create an account See the product workflow