AccelerUpDocs
Analytics and cost/Analytics/SLOs and error budgets

SLOs and error budgets

A target, a budget, and a burn rate that pages before the budget is gone.

Analytics → SLO / Budgets turns reliability from an opinion into a number.

The three terms

TermIs
SLIThe measurement — "the proportion of requests served in under 300 ms"
SLOThe target — "99.5% of them, over 30 days"
Error budgetWhat the target allows — 0.5%, which over 30 days is about 3.6 hours

Why a budget

An error budget turns "how reliable should this be" into a spendable quantity.

  • Budget remaining → you can take risks. Ship, experiment, run chaos.
  • Budget exhausted → stop shipping features and spend the effort on reliability.

It is a policy both sides of that argument can agree to in advance, which is the only time such an argument can be settled.

Defining one

FieldNotes
Service
SLIAvailability, latency, error rate, or a custom metric
Target99.9% is three nines. Be honest about what you can hold
WindowRolling 30 days is usual
Important

Set the target at what the service needs, not at the most impressive number. Every extra nine costs roughly an order of magnitude more effort, and a target you miss every month is not a target — it is a source of noise that everyone learns to ignore.

Burn rate

Burn rate is how fast the budget is being spent relative to the window.

Burn rateMeaning
On track to exactly exhaust the budget
14.4×The whole month's budget in about two hours

Alerting on burn rate rather than on the raw error rate is the point: it fires when the trajectory matters, and stays quiet when a brief blip does not.

The endpoint guard can derive alert severity from burn rate for the same reason — an endpoint with budget to spare does not need to wake anybody.

Multi-window alerting

The standard arrangement:

WindowBurn rateSeverity
1 hour14.4×Critical — page
6 hoursHigh
3 daysWarning — ticket

Fast burns page; slow burns become work.

Reporting

SLO status belongs in a scheduled report to leadership. It is the number that makes reliability work legible to people who do not read alerts.

Where this behaviour lives: backend/internal/worker/slo_burn_worker.go, frontend/src/app/slo/. If the code and this page disagree, the code is right — please fix the page.

Part of Analytics and costDashboards, SLOs, reports and what the infrastructure costs.