Classify diagnostic health from failed-check and stale-minute signals.

diagnostic report A diagnostic report keeps raw health signals and the derived label visible in one scalar output row.

Diagnostic Signal Report

failed_checks
diagnostic_signal.pl
Replay: real traced execution (multi-file project)
use strict;
use warnings;

my $failed_checks = 1;
my $stale_minutes = 12;
my $signal_status = "watch";

if ($failed_checks >= 4) {
    $signal_status = "critical";
} elsif ($failed_checks == 0 && $stale_minutes <= 20) {
    $signal_status = "clean";
}

print "failed=$failed_checks stale=$stale_minutes signal=$signal_status\n";
use strict;
use warnings;

my $failed_checks = 0;
my $stale_minutes = 12;
my $signal_status = "watch";

if ($failed_checks >= 4) {
    $signal_status = "critical";
} elsif ($failed_checks == 0 && $stale_minutes <= 20) {
    $signal_status = "clean";
}

print "failed=$failed_checks stale=$stale_minutes signal=$signal_status\n";
use strict;
use warnings;

my $failed_checks = 4;
my $stale_minutes = 12;
my $signal_status = "watch";

if ($failed_checks >= 4) {
    $signal_status = "critical";
} elsif ($failed_checks == 0 && $stale_minutes <= 20) {
    $signal_status = "clean";
}

print "failed=$failed_checks stale=$stale_minutes signal=$signal_status\n";
  1. $failed_checks ← 1, $stale_minutes ← 12, $signal_status ← watch

    4my $failed_checks→ 1 = 1; #@failed_checks=0, 45my $stale_minutes→ 12 = 12;6my $signal_status→ watch = "watch";78if ($failed_checks >= 4) {9    $signal_status = "critical";10} elsif ($failed_checks == 0 && $stale_minutes <= 20) {11    $signal_status = "clean";12}1314print "failed=$failed_checks1 stale=$stale_minutes12 signal=$signal_statuswatch\n";
    outputfailed=1 stale=12 signal=watch
  1. $failed_checks ← 0, $stale_minutes ← 12, $signal_status ← watch

    4my $failed_checks→ 0 = 0;5my $stale_minutes→ 12 = 12;6my $signal_status→ watch = "watch";
  2. $signal_status ← clean

    9    $signal_status = "critical";10} elsif ($failed_checks0 == 0 && $stale_minutes12 <= 20) {11    $signal_status→ clean = "clean";12}
  3. print "failed=$failed_checks stale=$stale_minutes signal=$signal_statu…

    14print "failed=$failed_checks0 stale=$stale_minutes12 signal=$signal_statusclean\n";
    outputfailed=0 stale=12 signal=clean
  1. $failed_checks ← 4, $stale_minutes ← 12, $signal_status ← watch

    4my $failed_checks→ 4 = 4;5my $stale_minutes→ 12 = 12;6my $signal_status→ watch = "watch";
  2. $signal_status ← critical

    8if ($failed_checks4 >= 4) {9    $signal_status→ critical = "critical";10} elsif ($failed_checks == 0 && $stale_minutes <= 20) {
  3. print "failed=$failed_checks stale=$stale_minutes signal=$signal_statu…

    14print "failed=$failed_checks4 stale=$stale_minutes12 signal=$signal_statuscritical\n";
    outputfailed=4 stale=12 signal=critical