USE Method Performance

Utilization, Saturation, and Errors

Observability | Technical Operations Excellence

3
Core Metrics
7
Resource Types
<80%
Utilization Target
0
Ideal Saturation

USE Method Defined

MetricDefinitionTarget
Utilization% time resource is busy<80%
SaturationQueued work beyond capacity0
ErrorsError count/rate0

Created by Brendan Gregg for systematic resource analysis

Resource Types

ResourceU MetricS Metric
CPU% busyRun queue length
Memory% usedOOM events, swap
Disk I/O% busyQueue depth
Network% bandwidthDrop/retransmit
Storage% capacityOut of space
ThreadsPool usageBlocked threads
File HandlesOpen FDsFD exhaustion

USE vs RED vs Golden Signals

MethodFocusBest For
USEResourcesInfrastructure, VMs
REDRequestsServices, APIs
Golden SignalsUser experienceCustomer-facing

Key Insight

For every resource, check utilization, saturation, and errors. Start here for performance issues.

- Brendan Gregg

Common Prometheus Queries

MetricQuery Pattern
CPU Utilrate(cpu_seconds[5m])
Mem Utilused / total * 100
Disk Utilrate(io_time[5m])
Net Utilrate(bytes[5m]) / bw

Profiling & Flame Graphs

  • CPU flame graph: Where time is spent
  • Off-CPU flame: What code is waiting
  • Memory flame: Allocation patterns
  • Differential flame: Before/after comparison

Tools: perf, bcc, bpftrace, async-profiler, pprof

Performance Anti-Patterns

IssueSymptom
Resource leakGradual degradation
Lock contentionHigh CPU, low throughput
Thundering herdBursty overload
N+1 queriesLinear database calls

Saturation Indicators

  • Run queue > cores: CPU saturation
  • Swap active: Memory saturation
  • Disk queue > 1: I/O saturation
  • TCP retransmits: Network saturation

Measure First

Never guess; always profile before optimizing.