Classify a fixed error-rate sample against an operational error budget.

error budget An error-budget report can use scalar rates and labels so replay shows each threshold decision.

Error Budget Reliability Report

errorRate
error_budget.js
Replay: real traced execution (multi-file project)
const errorRate = 2;
const budget = 5;
let budgetStatus = "halt";

if (errorRate <= 2) {
    budgetStatus = "ok";
} else if (errorRate <= budget) {
    budgetStatus = "watch";
}

console.log(`error_rate=${errorRate} budget=${budget} status=${budgetStatus}`);
const errorRate = 4;
const budget = 5;
let budgetStatus = "halt";

if (errorRate <= 2) {
    budgetStatus = "ok";
} else if (errorRate <= budget) {
    budgetStatus = "watch";
}

console.log(`error_rate=${errorRate} budget=${budget} status=${budgetStatus}`);
const errorRate = 7;
const budget = 5;
let budgetStatus = "halt";

if (errorRate <= 2) {
    budgetStatus = "ok";
} else if (errorRate <= budget) {
    budgetStatus = "watch";
}

console.log(`error_rate=${errorRate} budget=${budget} status=${budgetStatus}`);
  1. errorRate ← 2, budget ← 5, budgetStatus ← halt

    1const errorRate→ 2 = 2;  //@errorRate=4, 72const budget→ 5 = 5;3let budgetStatus→ halt = "halt";
  2. if (errorRate <= 2)

    2const budget = 5;3let budgetStatus = "halt";45if (errorRate2 <= 2) {6    budgetStatus = "ok";7} else if (errorRate <= budget) {
  3. console.log(`error_rate=${errorRate} budget=${budget} status=${budgetS…

    8    budgetStatus = "watch";9}1011console.log(`error_rate=${errorRate2} budget=${budget5} status=${budgetStatusok}`);
    outputerror_rate=2 budget=5 status=ok
  1. errorRate ← 4, budget ← 5, budgetStatus ← halt

    1const errorRate→ 4 = 4;2const budget→ 5 = 5;3let budgetStatus→ halt = "halt";
  2. if (errorRate <= budget)

    6    budgetStatus = "ok";7} else if (errorRate4 <= budget5) {8    budgetStatus = "watch";9}
  3. console.log(`error_rate=${errorRate} budget=${budget} status=${budgetS…

    8    budgetStatus = "watch";9}1011console.log(`error_rate=${errorRate4} budget=${budget5} status=${budgetStatuswatch}`);
    outputerror_rate=4 budget=5 status=watch
  1. errorRate ← 7, budget ← 5, budgetStatus ← halt

    1const errorRate→ 7 = 7;2const budget→ 5 = 5;3let budgetStatus→ halt = "halt";45if (errorRate <= 2) {6    budgetStatus = "ok";7} else if (errorRate <= budget) {8    budgetStatus = "watch";9}1011console.log(`error_rate=${errorRate7} budget=${budget5} status=${budgetStatushalt}`);
    outputerror_rate=7 budget=5 status=halt