Operational Diagnostics Reports
Dependency Health Report
Score dependency health from failed and total counts and assign a status label.
dependency health
Dependency health scoring reduces a set of component checks to a single status label.
Dependency Health Report
dependency_health.pl
Replay: real traced execution (multi-file project)
use strict;
use warnings;
my $failed_deps = 1;
my $total_deps = 5;
my $healthy_deps = $total_deps - $failed_deps;
my $dep_status = "green";
if ($failed_deps >= 3) {
$dep_status = "red";
} elsif ($failed_deps > 0) {
$dep_status = "watch";
}
print "failed=$failed_deps healthy=$healthy_deps status=$dep_status\n";
use strict;
use warnings;
my $failed_deps = 0;
my $total_deps = 5;
my $healthy_deps = $total_deps - $failed_deps;
my $dep_status = "green";
if ($failed_deps >= 3) {
$dep_status = "red";
} elsif ($failed_deps > 0) {
$dep_status = "watch";
}
print "failed=$failed_deps healthy=$healthy_deps status=$dep_status\n";
use strict;
use warnings;
my $failed_deps = 3;
my $total_deps = 5;
my $healthy_deps = $total_deps - $failed_deps;
my $dep_status = "green";
if ($failed_deps >= 3) {
$dep_status = "red";
} elsif ($failed_deps > 0) {
$dep_status = "watch";
}
print "failed=$failed_deps healthy=$healthy_deps status=$dep_status\n";
$failed_deps ← 1, $total_deps ← 5, $healthy_deps ← 4, $dep_status ← green
4my $failed_deps→ 1 = 1; #@failed_deps=0, 35my $total_deps→ 5 = 5;6my $healthy_deps→ 4 = $total_deps5 - $failed_deps1;7my $dep_status→ green = "green";$dep_status ← watch
10 $dep_status = "red";11} elsif ($failed_deps1 > 0) {12 $dep_status→ watch = "watch";13}print "failed=$failed_deps healthy=$healthy_deps status=$dep_status ";
15print "failed=$failed_deps1 healthy=$healthy_deps4 status=$dep_statuswatch\n";outputfailed=1 healthy=4 status=watch
$failed_deps ← 0, $total_deps ← 5, $healthy_deps ← 5, $dep_status ← green
4my $failed_deps→ 0 = 0;5my $total_deps→ 5 = 5;6my $healthy_deps→ 5 = $total_deps5 - $failed_deps0;7my $dep_status→ green = "green";89if ($failed_deps >= 3) {10 $dep_status = "red";11} elsif ($failed_deps > 0) {12 $dep_status = "watch";13}1415print "failed=$failed_deps0 healthy=$healthy_deps5 status=$dep_statusgreen\n";outputfailed=0 healthy=5 status=green
$failed_deps ← 3, $total_deps ← 5, $healthy_deps ← 2, $dep_status ← green
4my $failed_deps→ 3 = 3;5my $total_deps→ 5 = 5;6my $healthy_deps→ 2 = $total_deps5 - $failed_deps3;7my $dep_status→ green = "green";$dep_status ← red
9if ($failed_deps3 >= 3) {10 $dep_status→ red = "red";11} elsif ($failed_deps > 0) {print "failed=$failed_deps healthy=$healthy_deps status=$dep_status ";
15print "failed=$failed_deps3 healthy=$healthy_deps2 status=$dep_statusred\n";outputfailed=3 healthy=2 status=red