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.pl
Replay: real traced execution (multi-file project)
use strict;
use warnings;

my $error_rate = 2;
my $budget = 5;
my $budget_status = "halt";

if ($error_rate <= 2) {
    $budget_status = "ok";
} elsif ($error_rate <= $budget) {
    $budget_status = "watch";
}

print "error_rate=$error_rate budget=$budget status=$budget_status\n";
use strict;
use warnings;

my $error_rate = 4;
my $budget = 5;
my $budget_status = "halt";

if ($error_rate <= 2) {
    $budget_status = "ok";
} elsif ($error_rate <= $budget) {
    $budget_status = "watch";
}

print "error_rate=$error_rate budget=$budget status=$budget_status\n";
use strict;
use warnings;

my $error_rate = 7;
my $budget = 5;
my $budget_status = "halt";

if ($error_rate <= 2) {
    $budget_status = "ok";
} elsif ($error_rate <= $budget) {
    $budget_status = "watch";
}

print "error_rate=$error_rate budget=$budget status=$budget_status\n";
  1. $error_rate ← 2, $budget ← 5, $budget_status ← halt

    4my $error_rate→ 2 = 2; #@error_rate=4, 75my $budget→ 5 = 5;6my $budget_status→ halt = "halt";
  2. $budget_status ← ok

    8if ($error_rate2 <= 2) {9    $budget_status→ ok = "ok";10} elsif ($error_rate <= $budget) {
  3. print "error_rate=$error_rate budget=$budget status=$budget_status ";

    14print "error_rate=$error_rate2 budget=$budget5 status=$budget_statusok\n";
    outputerror_rate=2 budget=5 status=ok
  1. $error_rate ← 4, $budget ← 5, $budget_status ← halt

    4my $error_rate→ 4 = 4;5my $budget→ 5 = 5;6my $budget_status→ halt = "halt";
  2. $budget_status ← watch

    9    $budget_status = "ok";10} elsif ($error_rate4 <= $budget5) {11    $budget_status→ watch = "watch";12}
  3. print "error_rate=$error_rate budget=$budget status=$budget_status ";

    14print "error_rate=$error_rate4 budget=$budget5 status=$budget_statuswatch\n";
    outputerror_rate=4 budget=5 status=watch
  1. $error_rate ← 7, $budget ← 5, $budget_status ← halt

    4my $error_rate→ 7 = 7;5my $budget→ 5 = 5;6my $budget_status→ halt = "halt";78if ($error_rate <= 2) {9    $budget_status = "ok";10} elsif ($error_rate <= $budget) {11    $budget_status = "watch";12}1314print "error_rate=$error_rate7 budget=$budget5 status=$budget_statushalt\n";
    outputerror_rate=7 budget=5 status=halt