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

errorRate
ErrorBudget.kt
Replay: real traced execution (multi-file project)
fun main() {
    val errorRate = 2
    val budget = 5
    var budgetStatus = "halt"

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

    println("error_rate=$errorRate budget=$budget status=$budgetStatus")
}
fun main() {
    val errorRate = 4
    val budget = 5
    var budgetStatus = "halt"

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

    println("error_rate=$errorRate budget=$budget status=$budgetStatus")
}
fun main() {
    val errorRate = 7
    val budget = 5
    var budgetStatus = "halt"

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

    println("error_rate=$errorRate budget=$budget status=$budgetStatus")
}
  1. errorRate ← 2, budget ← 5, budgetStatus ← halt

    1fun main() {2    val errorRate→ 2 = 2 //@errorRate=4, 73    val budget→ 5 = 54    var budgetStatus→ halt = "halt"
  2. budgetStatus ← ok

    6if (errorRate2 <= 2) {7    budgetStatus→ ok = "ok"8} else if (errorRate <= budget) {
  3. println("error_rate=$errorRate budget=$budget status=$budgetStatus")

    12    println("error_rate=$errorRate2 budget=$budget5 status=$budgetStatusok")13}
    outputerror_rate=2 budget=5 status=ok
  1. errorRate ← 4, budget ← 5, budgetStatus ← halt

    1fun main() {2    val errorRate→ 4 = 43    val budget→ 5 = 54    var budgetStatus→ halt = "halt"
  2. budgetStatus ← watch

    7    budgetStatus = "ok"8} else if (errorRate4 <= budget5) {9    budgetStatus→ watch = "watch"10}
  3. println("error_rate=$errorRate budget=$budget status=$budgetStatus")

    12    println("error_rate=$errorRate4 budget=$budget5 status=$budgetStatuswatch")13}
    outputerror_rate=4 budget=5 status=watch
  1. errorRate ← 7, budget ← 5, budgetStatus ← halt

    1fun main() {2    val errorRate→ 7 = 73    val budget→ 5 = 54    var budgetStatus→ halt = "halt"56    if (errorRate <= 2) {7        budgetStatus = "ok"8    } else if (errorRate <= budget) {9        budgetStatus = "watch"10    }1112    println("error_rate=$errorRate7 budget=$budget5 status=$budgetStatushalt")13}
    outputerror_rate=7 budget=5 status=halt