Resource Saturation Audit
A systematic checklist for locating resource bottlenecks by examining utilisation, saturation and errors for every resource in the system.
For each resource — CPU, memory, network interfaces, disk, controllers, and software resources such as thread pools, connection pools and locks — check three things:
Utilisation — the proportion of time the resource was busy. Saturation — the degree of queued work it could not service. Run queue length, pool wait time, TCP backlog. Errors — error events: dropped packets, allocation failures, connection refusals.
The value is that it is exhaustive and mechanical. Under pressure, engineers investigate what they know or what they last saw; the checklist covers everything, including the resources nobody thinks of until they are the answer.
Saturation is the strongest signal, and the least commonly instrumented. Utilisation at 100% may be healthy; queued work is not. Errors are often silently discarded — dropped packets, connection pool timeouts and allocation failures frequently appear nowhere on a dashboard.
The complementary method for latency rather than resources is to work top-down along the request path: metrics to establish scope, traces to find the slow hop, logs for the reason, profiles for the function. USE finds saturated resources; the request path finds where time is spent. Most investigations need both.