Operational Reliability Reports
Error Budget Reliability Report
Classify error-budget spend against a fixed operating budget.
error budget
An error budget report compares current spend with the budget and tells the operator whether to continue, watch, or stop releases.
Error Budget Reliability Report
ErrorBudgetReliabilityReport.cs
Replay: real traced execution (multi-file project)
using System;
class Program
{
static string BudgetStatus(int spent, int budget)
{
if (spent > budget)
{
return "halt";
}
if (spent >= budget - 1)
{
return "watch";
}
return "ok";
}
static void Main()
{
int budget = 5;
int spent = 2;
string status = BudgetStatus(spent, budget);
Console.WriteLine("spent=" + spent);
Console.WriteLine("budget=" + budget);
Console.WriteLine("status=" + status);
}
}
using System;
class Program
{
static string BudgetStatus(int spent, int budget)
{
if (spent > budget)
{
return "halt";
}
if (spent >= budget - 1)
{
return "watch";
}
return "ok";
}
static void Main()
{
int budget = 5;
int spent = 4;
string status = BudgetStatus(spent, budget);
Console.WriteLine("spent=" + spent);
Console.WriteLine("budget=" + budget);
Console.WriteLine("status=" + status);
}
}
using System;
class Program
{
static string BudgetStatus(int spent, int budget)
{
if (spent > budget)
{
return "halt";
}
if (spent >= budget - 1)
{
return "watch";
}
return "ok";
}
static void Main()
{
int budget = 5;
int spent = 7;
string status = BudgetStatus(spent, budget);
Console.WriteLine("spent=" + spent);
Console.WriteLine("budget=" + budget);
Console.WriteLine("status=" + status);
}
}
budget ← 5, spent ← 2
20static void Main()21{22 int budget→ 5 = 5;23 int spent→ 2 = 2; //@spent=4, 724 string status = BudgetStatus(spent2, budget5);static string BudgetStatus(int spent, int budget)
4{5 static string BudgetStatus(int spent2, int budget5)6 {7 if (spent > budget)8 {9 return "halt";10 }1112 if (spent >= budget - 1)13 {14 return "watch";15 }1617 return "ok";18 }status ← ok
23 int spent = 2; //@spent=4, 724 string status→ ok = BudgetStatus(spent2, budget5);2526 Console.WriteLine("spent=" + spent2);27 Console.WriteLine("budget=" + budget5);28 Console.WriteLine("status=" + statusok);29}outputspent=2 budget=5 status=ok
budget ← 5, spent ← 4
20static void Main()21{22 int budget→ 5 = 5;23 int spent→ 4 = 4;24 string status = BudgetStatus(spent4, budget5);static string BudgetStatus(int spent, int budget)
4{5 static string BudgetStatus(int spent4, int budget5)6 {7 if (spent > budget)if (spent >= budget - 1)
12if (spent4 >= budget5 - 1)13{14 return "watch";15}status ← watch
23 int spent = 4;24 string status→ watch = BudgetStatus(spent4, budget5);2526 Console.WriteLine("spent=" + spent4);27 Console.WriteLine("budget=" + budget5);28 Console.WriteLine("status=" + statuswatch);29}outputspent=4 budget=5 status=watch
budget ← 5, spent ← 7
20static void Main()21{22 int budget→ 5 = 5;23 int spent→ 7 = 7;24 string status = BudgetStatus(spent7, budget5);static string BudgetStatus(int spent, int budget)
4{5 static string BudgetStatus(int spent7, int budget5)6 {7 if (spent > budget)if (spent > budget)
6{7 if (spent7 > budget5)8 {9 return "halt";10 }status ← halt
23 int spent = 7;24 string status→ halt = BudgetStatus(spent7, budget5);2526 Console.WriteLine("spent=" + spent7);27 Console.WriteLine("budget=" + budget5);28 Console.WriteLine("status=" + statushalt);29}outputspent=7 budget=5 status=halt