26 lines
1.0 KiB
Markdown
26 lines
1.0 KiB
Markdown
# Error budgets
|
||
|
||
Error budgets apply only to `PRODUCTION` SLO policies.
|
||
|
||
For a window with population `N`, objective `O` and bad count `B`:
|
||
|
||
```text
|
||
allowed_bad = (1 - O) × N
|
||
consumed_bad = B
|
||
remaining = max(0, allowed_bad - B)
|
||
burn_rate = (B / N) / (1 - O)
|
||
```
|
||
|
||
The long burn rate uses the complete rolling policy window. The short burn rate uses the last five
|
||
minutes, bounded by the policy window. Latency bad events are completed requests over the exact
|
||
policy threshold; success-ratio bad events are valid terminal failures.
|
||
|
||
An operational capability can be serving while consuming budget. The UI therefore shows SLO state,
|
||
observed value and budget separately. `remaining=0` is not rewritten as a capability outage, and an
|
||
acknowledged alert does not restore budget.
|
||
|
||
Windows roll naturally as old events leave the population. A new evaluation is an immutable
|
||
snapshot, so recovery is demonstrated by later snapshots rather than rewriting history. LAB and
|
||
BACKGROUND evaluations have `allowed_bad`, `consumed_bad`, `remaining` and burn rates unset by
|
||
default.
|