Scheduling delay is the gap between when a run could start and when it does. Once it passes a minute the chart turns amber, and the queue table underneath tells you which queue is stuck and what's capping it: your environment limit, a limit in your code, or an override.
Your whole environment on one screen
4 tiles sit at the top: Queued, Running, Allocated (the sum of every queue's limit, as a share of your environment limit) and your Environment limit with its burst headroom.
Under them, 4 charts cover the environment over the period you pick:
- Env saturation: how much of your environment's concurrency is in use
- Backlog: how many runs are waiting, over time
- Scheduling delay p95: how long runs wait before they start, flagged once it passes 1 minute
- Throttled: how often runs were held back by a limit
Hover one chart and the others follow. Drag across any of them to zoom in.
The queue table below tells you what's holding each queue back. Every row shows its limit and what set it (your environment, your code, or an override), a health state (Paused, At capacity, Backlogged, Active, Idle), its p95 delay and a backlog sparkline. It sorts busiest first, so the queue that needs you is at the top.
The same numbers are queryable with TRQL, our SQL-style query language, so you can chart queue depth or scheduling delay your own way and pin it to a custom dashboard.
Drill into a queue
Click a queue for its own page. The Overview tab charts running against the limit, queue depth, throughput (enqueued vs started, with a warning when it's falling behind), scheduling delay at p50, p95 and p99, and throttling. If the queue has a total limit, that gets its own chart.
The Concurrency keys tab is for multi-tenant workloads. It charts waiting runs and throughput for your 8 busiest keys, how many keys have a backlog, and the worst wait any key is seeing. Every key gets a row with its queued and running counts, oldest wait and mean delay, so the one tenant whose runs are piling up is easy to find.
Fix it from the same page
The controls for acting on a queue now sit on this page too. Pause a queue to stop new runs without touching its limits, then Resume to let them go again. Override limit changes the per-key and total bounds right there with no deploy, and the override holds through later deploys until you choose Remove override.
Archive queues you don't use
Every deploy creates queues, and renamed queues or deleted tasks used to stay in the list forever. Choose Archive from a queue's menu to hide it. Archived queues stop counting towards Allocated, and Show archived brings them back into view.
Archiving only changes what the dashboard shows; runs and limits behave exactly as before. You can only archive a queue your current deployment no longer declares, and only while it's idle and not paused. If a later deploy declares it again, it comes back on its own.
The full archiving rules are in the queues docs, and all of the above is under Concurrency in the sidebar of every environment.

