Operational Reliability Reports
Incident Queue Reliability
Count Visible Severity
A queue report can stay deterministic by keeping severities in a local list and deriving counts from a selected threshold. The selector changes which severities are visible.
Program
Play the program to choose a severity threshold and inspect the queue counts.
incident_queue_reliability_report.dart
Replay: real traced execution (multi-file project)
void main() {
var minSeverity = 2;
var severities = [1, 2, 3, 3];
var visible = severities.where((severity) => severity >= minSeverity).length;
var high = severities.where((severity) => severity >= 3).length;
var line = 'min=$minSeverity visible=$visible high=$high';
print(line);
}
void main() {
var minSeverity = 1;
var severities = [1, 2, 3, 3];
var visible = severities.where((severity) => severity >= minSeverity).length;
var high = severities.where((severity) => severity >= 3).length;
var line = 'min=$minSeverity visible=$visible high=$high';
print(line);
}
void main() {
var minSeverity = 3;
var severities = [1, 2, 3, 3];
var visible = severities.where((severity) => severity >= minSeverity).length;
var high = severities.where((severity) => severity >= 3).length;
var line = 'min=$minSeverity visible=$visible high=$high';
print(line);
}
minSeverity ← 2
1void main() {2 var minSeverity = 2;3 var severities = [1, 2, 3, 3];values this step2minSeverityseverities ← [1, 2, 3, 3]
2var minSeverity = 2;3var severities = [1, 2, 3, 3];4var visible = severities.where((severity) => severity >= minSeverity).length;values this step[1, 2, 3, 3]severitiesvisible ← 3
3var severities = [1, 2, 3, 3];4var visible = severities.where((severity) => severity >= minSeverity).length;5var high = severities.where((severity) => severity >= 3).length;values this step3visible2minSeverity[1, 2, 3, 3]severitieshigh ← 2
4var visible = severities.where((severity) => severity >= minSeverity).length;5var high = severities.where((severity) => severity >= 3).length;6var line = 'min=$minSeverity visible=$visible high=$high';values this step2high[1, 2, 3, 3]severitiesline ← min=2 visible=3 high=2
5var high = severities.where((severity) => severity >= 3).length;6var line = 'min=$minSeverity visible=$visible high=$high';7print(line);values this stepmin=2 visible=3 high=2line2minSeverity3visible2highprint(line);
6 var line = 'min=$minSeverity visible=$visible high=$high';7 print(line);8}outputmin=2 visible=3 high=2values this stepmin=2 visible=3 high=2line
minSeverity ← 1
1void main() {2 var minSeverity = 1;3 var severities = [1, 2, 3, 3];values this step1minSeverityseverities ← [1, 2, 3, 3]
2var minSeverity = 1;3var severities = [1, 2, 3, 3];4var visible = severities.where((severity) => severity >= minSeverity).length;values this step[1, 2, 3, 3]severitiesvisible ← 4
3var severities = [1, 2, 3, 3];4var visible = severities.where((severity) => severity >= minSeverity).length;5var high = severities.where((severity) => severity >= 3).length;values this step4visible1minSeverity[1, 2, 3, 3]severitieshigh ← 2
4var visible = severities.where((severity) => severity >= minSeverity).length;5var high = severities.where((severity) => severity >= 3).length;6var line = 'min=$minSeverity visible=$visible high=$high';values this step2high[1, 2, 3, 3]severitiesline ← min=1 visible=4 high=2
5var high = severities.where((severity) => severity >= 3).length;6var line = 'min=$minSeverity visible=$visible high=$high';7print(line);values this stepmin=1 visible=4 high=2line1minSeverity4visible2highprint(line);
6 var line = 'min=$minSeverity visible=$visible high=$high';7 print(line);8}outputmin=1 visible=4 high=2values this stepmin=1 visible=4 high=2line
minSeverity ← 3
1void main() {2 var minSeverity = 3;3 var severities = [1, 2, 3, 3];values this step3minSeverityseverities ← [1, 2, 3, 3]
2var minSeverity = 3;3var severities = [1, 2, 3, 3];4var visible = severities.where((severity) => severity >= minSeverity).length;values this step[1, 2, 3, 3]severitiesvisible ← 2
3var severities = [1, 2, 3, 3];4var visible = severities.where((severity) => severity >= minSeverity).length;5var high = severities.where((severity) => severity >= 3).length;values this step2visible3minSeverity[1, 2, 3, 3]severitieshigh ← 2
4var visible = severities.where((severity) => severity >= minSeverity).length;5var high = severities.where((severity) => severity >= 3).length;6var line = 'min=$minSeverity visible=$visible high=$high';values this step2high[1, 2, 3, 3]severitiesline ← min=3 visible=2 high=2
5var high = severities.where((severity) => severity >= 3).length;6var line = 'min=$minSeverity visible=$visible high=$high';7print(line);values this stepmin=3 visible=2 high=2line3minSeverity2visible2highprint(line);
6 var line = 'min=$minSeverity visible=$visible high=$high';7 print(line);8}outputmin=3 visible=2 high=2values this stepmin=3 visible=2 high=2line
severity threshold
`minSeverity` chooses which incidents are visible in the report.
where length
Filtering with `.where(...).length` gives a count without mutating the list.
independent high count
The `high` count stays fixed because it always uses severity `>= 3`.