Shared storage, repeated reads and anonymization work · refreshes every 30 seconds
Loading cache monitoring…
Shared blob storage is disabled. Inspection and legacy-cache activity are still measured.
Shared blobs require a local filesystem. The configured storage continues to use its existing cache.
| Pool | Allocated / budget | Reserved for fills | Original bytes | Blobs | Active readers |
|---|---|---|---|---|---|
| {{ pool.name }} | {{ humanBytes(pool.data?.allocatedBytes) }} / {{ humanBytes(pool.data?.budgetBytes) }} | {{ humanBytes(pool.data?.reservedBytes) }} | {{ humanBytes(pool.data?.originalBytes) }} | {{ pool.data?.blobs }} | {{ pool.data?.activeReaders }} |
Source request hit rate: {{ cacheRate('source', 'count') }} · Source byte hit rate: {{ cacheRate('source', 'bytes') }} · Decision hit rate: {{ cacheRate('decision', 'count') }}
Reuse counts measure consecutive reads of the same blob within each interval. Codec timings are elapsed stream time, not CPU time; eviction times measure how long a blob was idle. Known monitors are identified by request metadata; other automation may remain in file reads.
| Event | Traffic | Count | Bytes | Mean measured time | p95 bound |
|---|---|---|---|---|---|
| {{ cacheEventName(row.name) }} | {{ row.traffic }} | {{ row.count }} | {{ humanBytes(row.bytes) }} | {{ row.ms ? (row.ms / row.count).toFixed(2) + " ms" : "Not timed" }} | {{ cacheP95(row) }} |
No cache events in this time range for the selected traffic.
Updated {{ sampleAge(cacheReport) }} seconds ago. Minute history is retained for 48 hours; hourly history for 30 days.
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) }} | {{ formatMs(row.avgMs) }} | {{ 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 == null ? 'Unavailable' : sample.cpuPercent.toFixed(1) + '%' }} | {{ sample.eventLoop?.p95Ms == null ? 'Not applicable' : 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) }} | {{ formatMs(row.avgMs) }} | {{ 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.