OfferTurnkey landing from $150
All posts
Updated
  • observability
  • sre
  • grafana
Infrastructure

An observability budget that scales

How we keep metrics, logs, and traces useful without drowning the bill — sampling, SLOs, and ownership.

  • DM
  • AK
Authors

Observability fails in two ways: too little signal, or too much noise. Both are expensive.

Start from user journeys

Instrument the path a customer cares about. Everything else is optional until that path is green.

SLO sketch

For availability target aa over window TT:

error budget=(1a)T\text{error budget} = (1 - a) \cdot T

Example: a=0.999a = 0.999 over 30 days ≈ 43 minutes of budget.

Sampling without blindness

go
// Prefer head sampling with a floor for errors
func shouldSample(trace Trace) bool {
  if trace.HasError() {
    return true
  }
  return rand.Float64() < 0.05
}

Ownership table

SignalOwnerRetention
RED metricsService team90d
Structured logsService team14–30d
TracesPlatform7–14d

Closing

Budget the telemetry like you budget CPU. If nobody owns a dashboard, delete it.