Arte SheetsLearn. Try. Understand.

Site Reliability Engineering & Cloud Ops

SRE SLO Error Budget & Burn-Rate Alert Formula

Calculate monthly SLO error-budget minutes, dimensionless Burn Rate = Error_Rate / (1 - SLO), hours to exhaustion, and Google SRE 14.4x fast-burn paging thresholds.

Replace noisy raw error-count alerts with dimensionless SRE Error-Budget Burn Rates!

In Site Reliability Engineering (Google SRE Workbook), a Service Level Objective SLO in (0, 1) (e.g., 99.9% availability over W_days = 30 days) grants an explicit Error Budget of W_days * 1,440 * (1 - SLO) downtime-equivalent minutes (and allowed failure fraction 1 - SLO). Rather than paging engineers on arbitrary 5-minute spikes, SRE multi-window alerting computes dimensionless Burn Rate BR = (Window_Errors / Window_Requests) / (1 - SLO)! At BR = 1.0x, the service consumes exactly 100% of its 30-day budget in 720 hours; at Google SRE’s standard Fast-Burn Page threshold BR >= 14.4x, the service burns 2.0% of its entire monthly error budget in just 1 hour (exhausting 100% in 720 / 14.4 = 50.0 hours)!

Verify on Target_SLO = 0.999 (B2 = 99.9%), Window_Days_W = 30 (B3 -> 43,200 minutes), Window_1h_Requests = 100,000 (B4), and Window_1h_Errors = 1,440 (B5 -> 1.44% error rate): Monthly Error Budget is 43,200 * 0.001 = 43.20 minutes, Burn Rate is 0.0144 / 0.001 = 14.4000x, Time to Complete Exhaustion is 720 / 14.40 = 50.00 hours, and Alert Action triggers "PAGE: Critical Fast Burn (>= 14.4x)"!

SRE Error-Budget Metric (SLO=99.9%, 30d, 1,440/100k Errors)FormulaVerified Output
30-Day Error Budget (Minutes)W_days * 1,440 * (1 - SLO)43.20 minutes
Current Error-Budget Burn Rate (BR)(Errors / Requests) / (1 - SLO)14.4000x (2% Budget / Hour)
Hours Until 100% Budget Exhaustion(W_days * 24) / BR50.00 hours
Multi-Severity Alert Tier>= 14.4x Page | >= 1.0x Ticket | < 1.0x OKPAGE: Critical Fast Burn (>= 14.4x)

Dimensionless Error-Budget Burn Rate Formula

Validate 0 < SLO < 1, W_days > 0, Requests > 0, and 0 <= Errors <= Requests.

=LET(slo_t, B2, w_dy, B3, n_rq, B4, n_er, B5, IF(OR(slo_t <= 0, slo_t >= 1, w_dy <= 0, n_rq <= 0, n_er < 0, n_er > n_rq), "Invalid SLO Input", ROUND((n_er / n_rq) / (1 - slo_t), 4)))

SRE Burn-Rate Alert Routing Formula

Route >= 14.4x to immediate paging, >= 1.0x to daytime Jira/ticket investigation, and < 1.0x to normal budget compliance.

=IF(ISTEXT(E3), E3, IF(E3 >= 14.4, "PAGE: Critical Fast Burn (>= 14.4x)", IF(E3 >= 1, "TICKET: Slow Burn (>= 1.0x)", "OK: Within Error Budget")))

Try the example

Use the original values or change them to test your understanding.

Further reading