Queue ops: live dashboard
A realistic ops dashboard composed from existing primitives: SSE island push for metric StatCards, a bounded Timeline activity feed, a keyed jobs DataTable, a store.Computed status label, and the connection-health banner. See /docs/live-dashboards for the composition guide.
Throughput
1611 ev/s
live
Active workers
11
steady
Queue depth
76
live
Latency p99
157 ms
live
The same metrics, polled
This block is rung 3 of the reactivity ladder: data-cui-poll re-fetches a server-rendered fragment every 5 seconds. No SSE, no held connection, no fanout: any replica answers the GET. The stat cards above are rung 4: the server pushes the moment a tick lands. See /docs/reactivity for when each rung fits.
Queue depth (polled)
76
every 5s
Fragment rendered
02:59:57
server clock
Activity feed
ingest-batch-03 completed
Queue depth above 100
Worker pool scaled to 12
Throughput nominal
Worker pool rebalanced
Jobs
| Job | Status | Progress |
|---|---|---|
| ingest-batch-04 | running | 84% |
| reindex-users | running | 69% |
| export-csv-daily | queued | 0% |
Operational status
A store.Computed slice derives this label from two client-side signals. The +/- buttons mutate them locally; the reducer runs in the browser and the pill updates live. No RPC, no round-trip.
Open 0 · Acknowledged 0
How this is wired
- Open this page in a second browser (or private window). Both see the same metric ticks because the push is broadcast to every session on the live-dashboard-demo presence topic.
- SSE is best-effort: a dropped frame is gone. The dashboard reconstructs on reconnect: point a fetch at /__site/livedash/refresh?island=stats to reconcile.
- On an authenticated app you would set host.Islands.AuthorizeTopic to gate live-dashboard-demo by tenant: the push wiring is identical, only the ACL changes.
- Metric StatCards are NOT aria-live (high-frequency numbers would flood screen readers); the activity feed carries the polite-announcement lane.