Observability Platform · View 18 of 25 · Runtime
Decisions
- The shed order is declared in advance and is the same every time: debug logs, then access logs, then trace rate. The metric path is not in the order at all.
- Every shed volume is counted and attributed to a team, and appears in the same interface where the data is missing. A gap with a name is recoverable knowledge; a gap without one is a mystery for the next incident.
- Beyond the burst budget the platform sheds rather than queues without limit, because an unbounded queue turns a 10-minute incident into an hours-long freshness incident.
Numbers (assumptions)
- Absorb 5× steady state for 10 minutes without loss; shed by class beyond it. Headroom sized at 1.3× steady state for cardinality.
- Buffer retention 72 h, which is what allows recovery to be a replay from the retained offset rather than a permanent loss.
Risks
- The shed order is only as good as the class declarations, and classification is the step teams skip (view 05). Shedding the default class first would be shedding at random with extra ceremony.
- "Absorb the whole storm instead" means sizing ingest and storage for the worst incident rather than the steady state — headroom that is idle almost always. ADR-19 leaves the trade open.