Classify an error-rate reading against a release budget.

error budget An error budget report can reduce a release decision to a small traced status label.

Error Budget Reliability Report

error_rate
error_budget.lua
Replay: real traced execution (multi-file project)
local error_rate = 2
local budget = 5
local budget_status = "halt"

if error_rate <= 2 then
  budget_status = "ok"
elseif error_rate <= budget then
  budget_status = "watch"
end

print("error_rate=" .. error_rate .. " budget=" .. budget .. " status=" .. budget_status)
local error_rate = 4
local budget = 5
local budget_status = "halt"

if error_rate <= 2 then
  budget_status = "ok"
elseif error_rate <= budget then
  budget_status = "watch"
end

print("error_rate=" .. error_rate .. " budget=" .. budget .. " status=" .. budget_status)
local error_rate = 7
local budget = 5
local budget_status = "halt"

if error_rate <= 2 then
  budget_status = "ok"
elseif error_rate <= budget then
  budget_status = "watch"
end

print("error_rate=" .. error_rate .. " budget=" .. budget .. " status=" .. budget_status)
  1. error_rate ← 2, budget ← 5, budget_status ← halt

    1local error_rate→ 2 = 2 --@error_rate=4, 72local budget→ 5 = 53local budget_status→ halt = "halt"
  2. budget_status ← ok

    5if error_rate2 <= 2 then6  budget_status→ ok = "ok"7elseif error_rate <= budget then
  3. print("error_rate=" .. error_rate .. " budget=" .. budget .. " status=…

    11print("error_rate=" .. error_rate2 .. " budget=" .. budget5 .. " status=" .. budget_statusok)
    outputerror_rate=2 budget=5 status=ok
  1. error_rate ← 4, budget ← 5, budget_status ← halt

    1local error_rate→ 4 = 42local budget→ 5 = 53local budget_status→ halt = "halt"
  2. budget_status ← watch

    6  budget_status = "ok"7elseif error_rate4 <= budget5 then8  budget_status→ watch = "watch"9end
  3. print("error_rate=" .. error_rate .. " budget=" .. budget .. " status=…

    11print("error_rate=" .. error_rate4 .. " budget=" .. budget5 .. " status=" .. budget_statuswatch)
    outputerror_rate=4 budget=5 status=watch
  1. error_rate ← 7, budget ← 5, budget_status ← halt

    1local error_rate→ 7 = 72local budget→ 5 = 53local budget_status→ halt = "halt"45if error_rate <= 2 then6  budget_status = "ok"7elseif error_rate <= budget then8  budget_status = "watch"9end1011print("error_rate=" .. error_rate7 .. " budget=" .. budget5 .. " status=" .. budget_statushalt)
    outputerror_rate=7 budget=5 status=halt