intermediate

USE metrics

Track utilization, saturation, and errors for infrastructure resources such as CPU, memory, disks, queues, and thread pools.

USE (Utilization, Saturation, Errors) describes resources: CPU, memory, disks, network, connection pools, and thread pools. It complements RED when the bottleneck is infrastructure capacity rather than per-request logic.

| Letter | Question | |--------|----------| | Utilization | How busy is the resource? (e.g. CPU %, pool in-use) | | Saturation | Is work queueing? (run queue, disk await, pool wait) | | Errors | Hardware/driver/pool errors |

					API RED says "slow checkout"
USE on DB pool says "all connections busy, wait queue growing"
				

Watch saturation early—it often precedes user-visible latency spikes. For Node.js, also track event-loop lag and GC pauses as utilization signals.

On interviews: when USE beats RED, interpreting saturation vs utilization, and capacity planning from queue depth.

Common pitfalls: CPU alone without saturation; ignoring connection pool metrics; alerting on utilization without trend context.

The trade-off is comprehensive capacity views versus metric sprawl on small teams.

Checklist:

  • Monitor pools, disks, and queues—not only CPU.
  • Alert on saturation before hard failures.
  • Correlate USE spikes with RED latency.
  • Document ownership per resource class.