← ClaudeAtlas

slo-and-error-budgetslisted

Use when defining or reviewing service reliability targets and alerting — picking SLIs, setting SLO targets, computing error budgets, and writing burn-rate alerts. Triggers on "what should we alert on", "set an SLO", noisy or missing alerts, uptime targets, or dashboards that don't reflect user experience.
Markuysa/agent-skills · ★ 0 · AI & Automation · score 70
Install: claude install-skill Markuysa/agent-skills
# SLOs and error budgets An SLO exists to answer one question: **is the service reliable enough that we should keep shipping features, or should we stop and fix reliability?** If a number cannot drive that decision, it is a dashboard metric, not an SLO. ## SLI: measure what the user experiences A good SLI is a ratio of **good events / valid events**, measured as close to the user as you can get. | Type | Good events | Where to measure | | --- | --- | --- | | Availability | requests without a 5xx | load balancer / gateway, not the app | | Latency | requests served faster than a threshold | same | | Quality | responses served without degradation (fallback, stale) | app, explicitly tagged | | Freshness | records processed within N minutes of arrival | pipeline output | | Correctness | records passing a validation check | reconciliation job | Rules that matter: - **Measure at the edge.** CPU, memory, and pod restarts are causes, not experience. A service can be 100% "up" by those and completely broken. - **Latency SLIs are thresholds, not averages.** "99% of requests < 300ms" is actionable; "p99 latency" as a raw number is a metric you can't budget against. Averages hide exactly the tail you care about. - **Define "valid".** Exclude what the user caused (4xx from bad input) and count what you caused. Be explicit — this line is where SLOs get gamed. - **Per user journey, not per service.** "Checkout completes" beats "payment-svc returns 200" — the user doesn't care