At a glance
The live throughput of your Databricks SQL warehouses, expressed as queries executed per hour. This is the heartbeat metric of the lakehouse’s analytics layer: it tells a platform team how much demand the warehouses are serving right now, and it is the denominator behind almost every other SQL card. A healthy reading is one that tracks your business rhythm: rising through the morning, peaking with the reporting window, quiet overnight. A sudden drop can mean an outage upstream (no one can query because the warehouse is down or a dashboard is broken); a sudden surge can mean a runaway dashboard, a misconfigured polling loop, or genuine demand that is about to saturate capacity.
| What it tracks | The count of SQL queries executed across the monitored warehouses in the trailing hour, projected to an hourly rate, as dbx_qps. |
| Data source | Databricks query history (GET /api/2.0/sql/history/queries) and, where the system schema is enabled, system.query.history. Vortex IQ counts completed and in-flight query starts in the rolling window. |
| Why it matters | Throughput is the context for every other SQL metric. A latency or error reading means nothing without knowing whether the warehouse is serving 50 or 50,000 queries per hour. It is also the earliest sign of demand-driven capacity pressure. |
| Time window | RT (real-time): a rolling trailing-hour rate, refreshed each poll. |
| Alert trigger | None by default. This is an Executive Overview throughput gauge, not a threshold card; act on it via the cards it feeds (saturation, latency, error rate). |
| Sentiment | Neutral. Higher is not inherently better or worse; the signal is in the shape and in sudden deviations from the normal curve. |
| Roles | owner, engineering, operations (DBA / platform / SRE) |
Calculation
Vortex IQ reads the query-history feed for the monitored warehouses and counts query executions whose start time falls within the trailing 60-minute window, then reports that count as the live per-hour rate:Worked example
A platform team runs three SQL warehouses:bi-interactive (analyst dashboards), embedded-storefront (a customer-facing analytics widget) and etl-adhoc (engineers’ manual queries). The normal weekday curve peaks around 4,000 queries/hour mid-morning. Snapshot taken on 21 Apr 26 across the morning.
| Time (UTC) | bi-interactive | embedded-storefront | etl-adhoc | Total q/h | Note |
|---|---|---|---|---|---|
| 07:00 | 600 | 900 | 40 | 1,540 | Pre-peak |
| 09:30 | 2,800 | 1,050 | 120 | 3,970 | Normal peak |
| 10:15 | 2,750 | 9,400 | 110 | 12,260 | Anomaly |
| 10:40 | 2,800 | 1,020 | 130 | 3,950 | Recovered |
embedded-storefront. The platform engineer investigates.
- Trace the surge to its source. The throughput card flagged that demand jumped; the per-warehouse drill-down said where (embedded-storefront); the storefront deploy log said why (poll interval change). Roll back or hotfix the poll interval.
- Contain the cost while fixing. The runaway polling doubled DBU on that warehouse and pushed saturation to 92%. A short-term mitigation is to cap the widget’s query rate or add a result cache so identical polls do not re-execute.
- Add a guard rail. A polling widget should never query the warehouse directly at high frequency; a 30 to 60 second materialised cache in front of it would make a future mis-config harmless.
- Throughput is the alarm; the other SQL cards are the diagnosis. This card has no threshold of its own because the right response depends entirely on why it moved. It pointed the team at the right warehouse; SQL Warehouse Saturation % and SQL Query Latency p95 (ms) sized the impact.
- A surge of identical queries is a cost problem before it is a capacity problem. The warehouse autoscaled to cope, so users barely noticed, but the DBU bill doubled silently. Watch this card alongside DBU Burned (24h) so demand surges do not turn into surprise spend.
Sibling cards
| Card | Why pair it with SQL Queries per Hour | What the combination tells you |
|---|---|---|
| SQL Warehouse Saturation % | Throughput is the demand; saturation is whether capacity can absorb it. | Rising q/h with rising saturation equals a real capacity decision is due. |
| SQL Query Latency p95 (ms) | Latency per query at a given throughput tells you efficiency. | q/h flat but latency rising equals queries getting heavier, not more numerous. |
| SQL Query Error Rate % | Error rate needs throughput as its denominator. | A throughput drop with a constant error count spikes the error rate artificially. |
| Active SQL Sessions | Sessions are the clients generating the queries. | Many queries from few sessions equals automated polling, not human analysts. |
| Active SQL Warehouses | Tells you how the throughput is spread. | All q/h on one warehouse equals a routing imbalance. |
| DBU Burned (24h) | Throughput surges drive autoscaling and cost. | A throughput surge that doubles DBU is a cost event even if users are unaffected. |
| Databricks Health Score | The composite that uses throughput as a load context. | A sudden throughput collapse can drag the composite down as an outage signal. |
Reconciling against the source
Where to look in Databricks:
Open SQL → Query History and filter to the warehouse and a one-hour window; the row count is the direct equivalent of this card.
Run SELECT count(*) FROM system.query.history WHERE start_time >= now() - interval 1 hour (where the system schema is enabled) for an account-level count.
Each warehouse’s Monitoring tab shows a “Completed queries” series over time, the visual form of the same throughput.
Why our number may legitimately differ from the Databricks UI:
| Reason | Direction | Why |
|---|---|---|
| Rolling vs clock hour | Variable | Vortex IQ uses a trailing 60-minute window; the UI often shows fixed clock-hour buckets, so mid-hour the two will differ. |
| System-query filtering | Vortex IQ count lower | Metadata and housekeeping queries can be excluded from our headline but are counted in the raw history view. |
| Started vs completed | Vortex IQ slightly higher | We count by query start (including in-flight runs); a “completed queries” chart counts only finished ones. |
| Multi-warehouse aggregation | Vortex IQ higher | The headline sums all monitored warehouses; a single-warehouse UI view will be lower. |
| Refresh latency | Brief | Query history can lag real execution by a few seconds, so the live rate trails actual demand by the poll interval. |
| Card | Expected relationship | What causes divergence |
|---|---|---|
| Databricks SQL Spike vs Ecom Order Rate | Storefront-driven query throughput should track order/traffic rate. | A query surge with flat orders points at internal tooling or a polling bug, not demand. |
| DBU Burn vs Ecom Order Volume | More queries usually mean more DBU. | Throughput up but DBU flat equals queries hitting cache; both up equals genuine load growth. |