#!/usr/bin/perl

$out = "";

$temp = 0;
$volt = 0;
$volt_non = 0;
$temp_non = 0;

$total_crit_volt = 0;
$total_crit_temp = 0;
$total_noncrit_volt = 0;
$total_noncrit_temp = 0;

while (<stdin>) {
  $out = $out . $_;
  if (m!^u[0-9]{4}!) {
     if ($node_now) {
        if ($temp_non == 0 && $temp == 0 && $volt == 0) {
           print "node $node_now : ok\n";
        }
        else
        {
           $out = sprintf("node %s : %3u critical temp, %3u non-critical temp; %3u critical voltage %3u non-critical voltage\n", $node_now, $temp, $temp_non, $volt, $volt_non);
           print $out;

           $total_crit_volt += ($volt > 0 ? 1 : 0);
           $total_crit_temp += ($temp > 0 ? 1 : 0);
           $total_noncrit_volt += ($volt_non > 0 ? 1 : 0);
           $total_noncrit_temp += ($temp_non > 0 ? 1 : 0);
        }
     }
     $_ =~ s/\s+//;
     $node_now = $_;
     $temp_non = 0;
     $temp = 0;
     $volt = 0;
     $volt_non = 0;
  }
  if (m!^\=\=\=\=!) {
  }
  if ($node_now) {
     if (m!Voltage.*Non-critical!) {
        $volt_non++;
     }
     elsif (m!Voltage.*Critical!) {
        $volt++;
     }
     if (m!Temperature.*Non-critical!) {
        $temp_non++;
     }
     elsif (m!Temperature.*Critical!) {
        $temp++;
     }
   }
}
if ($node_now) {
   $out = sprintf("node %s : %3u critical temp, %3u non-critical temp; %3u critical voltage %3u non-critical voltage\n", $node_now, $temp, $temp_non, $volt, $volt_non);
   print $out
}

print "Total nodes with critical voltages:     " .  $total_crit_volt . "\n";
print "Total nodes with non-critical voltages: " .  $total_noncrit_volt . "\n";
print "Total nodes with critical temps:        " .  $total_crit_temp . "\n";
print "Total nodes with non-critical temps:    " .  $total_noncrit_temp . "\n";

-- MattWalsh - 25 Aug 2005

Topic revision: r1 - 25 Aug 2005 - MattWalsh
 
This site is powered by the TWiki collaboration platformCopyright © 2008-2012 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback