Request latency and process health · refreshes every 30 seconds
Loading performance monitoring…
| Route | Requests | Average | First byte p95 | p95 | p99 | Interrupted | 5xx | Slow |
|---|---|---|---|---|---|---|---|---|
| {{ row.route }}{{ row.service }} · {{ row.method }} | {{ fmt.number(row.count) }} | {{ row.avgMs }} ms | {{ firstByteBound(row) }} | {{ latencyBound(row, 'p95UpperMs') }} | {{ latencyBound(row, 'p99UpperMs') }} | {{ fmt.number(row.aborted) }} | {{ fmt.number(row.errors) }} | {{ fmt.number(row.slow) }} |
No recorded requests in this time range yet.
API and streamer processes · latest sample per instance
| Process | RSS / limit | CPU | Event loop p95 | Active requests | Sockets / CLOSE_WAIT | Workers / waiting | Sample age | Dropped batches / metrics |
|---|---|---|---|---|---|---|---|---|
| {{ sample.instance }} Needs attention | {{ humanBytes(sample.memory.rss) }} / {{ humanBytes(sample.memoryLimitBytes) }}Peak {{ humanBytes(peakRss(sample)) }} | {{ sample.cpuPercent.toFixed(1) }}% | {{ sample.eventLoop.p95Ms.toFixed(1) }} ms | {{ sample.activeRequests }} | {{ sample.sockets?.descriptors ?? 'Unavailable' }} / {{ sample.sockets?.closeWait ?? 'Unavailable' }} | {{ sample.workers?.running ?? 0 }} / {{ sample.workers?.waiting ?? 0 }} | {{ sampleAge(sample) }} s | {{ sample.droppedBatches }} / {{ sample.droppedMetrics }} |
| Work stage | Samples | Average | p95 |
|---|---|---|---|
| {{ row.metric }}{{ row.service }} | {{ fmt.number(row.count) }} | {{ row.avgMs }} ms | {{ latencyBound(row, 'p95UpperMs') }} |
No recorded work stages or cache results in this time range yet.
Latency includes upstream waits and response transfer. Percentiles show histogram bucket upper bounds, not exact timings. Process rows marked “Needs attention” have stale samples, dropped monitoring data, CLOSE_WAIT sockets, high event loop delay, or high memory usage.