Skip to content
About
Main content

Summary and key takeaways

The reframe. Observability is a second machine whose output is a of the first. A system is observable only if you pay for that property. The design question is what to throw away, along four dimensions: time resolution, , population and retention. Three new constraints: information (you see a lossy projection), self-reference (the path is a pipeline with the same problems), and attention (humans do not scale with money).

Six families. Emission (four signals + ), data-state observables, signal to action, active observation, economic and capacity observation, and safe change.

The signals, one sentence each:

  • Metrics: cheap, independent of event rate, keep aggregate shape, lose identity. Counters survive loss, gauges alias, fix resolution early, count = product of label cardinalities.
  • Logs: keep the specific record, cost grows with every event; index labels and scan bodies.
  • Traces: keep causality, but only if every hop propagates context; is forced (head = cheap and blind, = smart and costly); join metrics to traces.
  • Profiles: sample the stack for where; matters for data systems; compare estimated and actual rows per operator.
  • Change events: nearly free and resolve the most incidents.

Data observables. Services are correct per request; are correct per arrival. is a property of the data (event-time based), never of the job. Absence needs an explicit expectation. Lag: watch the derivative and per-partition values. : watch max/median (past about 5× you lose parallelism). ETA is wrong because the maximum task decides.

Alerting. It is a base-rate problem: at 10⁻³ incident rate and 1% false positives, precision is 9%. Page on symptoms, put causes on dashboards. and burn-rate alerts (14.4× / 1 h = 2% of budget; 6× / 6 h = 5%) make detection speed a priced choice. Suppression (dedup, dependency grouping, ownership routing) fights fatigue. must be rate-limited and counted.

Active observation. Canaries manufacture traffic to see absence, but prove only liveness along their own path. For cost, watch the derivative of unit costs, not totals; for capacity, watch a leading signal such as queue depth, not .

The observer and its incidents. The telemetry pipeline must be lossy by design and its alert path must live outside the observed , with a . Change events are the cheapest signal: "what changed in the last hour?" resolves more incidents than any detector. Capture state, then mitigate. exist because blame degrades the sensor.

Equations and rules to remember:

RuleMeaning
Time to drain = lag ÷ (consume − produce)undefined or infinite when consumption ≤ production; watch the slope
Precision = P(real) / (P(real) + P(false alarm))when real incidents are rare, even 1% false positives make 9% precision
Error budget = (1 − ) × window99.9% over 30 days = 43.2 minutes
Fault cost = damage rate × (detect + decide + repair)shrink the cheapest term first
Headroom ≥ growth rate × lead time10%/month × 1.5 months ≈ 15%

Patterns that repeat:

  • The fault lives in what you discarded.
  • Aggregation destroys the shape that contains the fault: the max, not the mean, hurts.
  • fixes your questions: bucket boundaries, labels, structured fields, head sampling.
  • Detection is cheap; suppression is hard.
  • Every measurement that becomes a target stops measuring.
  • The observer must fail independently of the observed, and never does entirely.