Operational Reliability Reports
Error Budget Reliability Report
Compare spent error budget with the available budget and report burn status.
budget spend
Budget spend is kept as a scalar so each replay variant has a clear input.
burn status
The burn status switches from ok to watch to halt as the budget is consumed.
Error Budget Reliability Report
error_budget_reliability_report.cpp
Replay: real traced execution (multi-file project)
#include <iostream>
#include <string>
int main() {
int spent = 2;
int budget = 5;
std::string status = "ok";
if (spent >= budget - 1) {
status = "watch";
}
if (spent > budget) {
status = "halt";
}
std::cout << "spent=" << spent << std::endl;
std::cout << "budget=" << budget << std::endl;
std::cout << "status=" << status << std::endl;
return 0;
}
#include <iostream>
#include <string>
int main() {
int spent = 4;
int budget = 5;
std::string status = "ok";
if (spent >= budget - 1) {
status = "watch";
}
if (spent > budget) {
status = "halt";
}
std::cout << "spent=" << spent << std::endl;
std::cout << "budget=" << budget << std::endl;
std::cout << "status=" << status << std::endl;
return 0;
}
#include <iostream>
#include <string>
int main() {
int spent = 7;
int budget = 5;
std::string status = "ok";
if (spent >= budget - 1) {
status = "watch";
}
if (spent > budget) {
status = "halt";
}
std::cout << "spent=" << spent << std::endl;
std::cout << "budget=" << budget << std::endl;
std::cout << "status=" << status << std::endl;
return 0;
}
spent ← 2, budget ← 5, status ← ok
4int main() {5 int spent→ 2 = 2; //@spent=4, 76 int budget→ 5 = 5;7 std::string status→ ok = "ok";89 if (spent >= budget - 1) {10 status = "watch";11 }1213 if (spent > budget) {14 status = "halt";15 }1617 std::cout << "spent=" << spent2 << std::endl;18 std::cout << "budget=" << budget5 << std::endl;19 std::cout << "status=" << statusok << std::endl;20 return 0;21}outputspent=2 budget=5 status=ok
spent ← 4, budget ← 5, status ← ok
4int main() {5 int spent→ 4 = 4;6 int budget→ 5 = 5;7 std::string status→ ok = "ok";status ← watch
9if (spent4 >= budget5 - 1) {10 status→ watch = "watch";11}std::cout << "spent=" << spent << std::endl;
17 std::cout << "spent=" << spent4 << std::endl;18 std::cout << "budget=" << budget5 << std::endl;19 std::cout << "status=" << statuswatch << std::endl;20 return 0;21}outputspent=4 budget=5 status=watch
spent ← 7, budget ← 5, status ← ok
4int main() {5 int spent→ 7 = 7;6 int budget→ 5 = 5;7 std::string status→ ok = "ok";status ← watch
9if (spent7 >= budget5 - 1) {10 status→ watch = "watch";11}status ← halt
13if (spent7 > budget5) {14 status→ halt = "halt";15}std::cout << "spent=" << spent << std::endl;
17 std::cout << "spent=" << spent7 << std::endl;18 std::cout << "budget=" << budget5 << std::endl;19 std::cout << "status=" << statushalt << std::endl;20 return 0;21}outputspent=7 budget=5 status=halt