innreport_inn.pm
Alexander Bartolich
alexander.bartolich at gmx.at
Thu Jul 10 18:27:57 UTC 2008
Correct handling of undefined values in %innd_time_min, %innd_time_max,
%innfeed_time_min, %innfeed_time_max, %nnrpd_time_min and %nnrpd_time_max.
Added two error messages generated by perl-nocem.
Index: scripts/innreport_inn.pm
===================================================================
--- scripts/innreport_inn.pm (revision 7933)
+++ scripts/innreport_inn.pm (working copy)
@@ -701,24 +701,24 @@
# The exact timers change from various versions of INN, so try to deal
# with this in a general fashion.
if ($left =~ m/^\S+\s+ # ME
- time\ (\d+)\s+ # time
- ((?:\S+\ \d+\(\d+\)\s*)+) # timer values
+ time\s(\d+)\s+ # time
+ ((?:\S+\s\d+\(\d+\)\s*)+) # timer values
$/ox) {
$innd_time_times += $1;
my $timers = $2;
while ($timers =~ /(\S+) (\d+)\((\d+)\)\s*/g) {
my $name = $timer_names{$1} || $1;
- my $average = $2 / ($3 || 1);
$innd_time_time{$name} += $2;
- $innd_time_num{$name} += $3;
if ($3) {
+ my $average = $2 / $3;
+ $innd_time_num{$name} += $3;
my $min = $innd_time_min{$name};
$innd_time_min{$name} = $average
- if (defined($min) && $min > $average);
+ if (!defined($min) || $min > $average);
my $max = $innd_time_max{$name};
$innd_time_max{$name} = $average
- if (defined($max) && $max < $average);
+ if (!defined($max) || $max < $average);
}
}
return 1;
@@ -992,13 +992,17 @@
while ($timers =~ /(\S+) (\d+)\((\d+)\)\s*/g) {
my $name = $innfeed_timer_names{$1} || $1;
- my $average = $2 / ($3 || 1);
$innfeed_time_time{$name} += $2;
- $innfeed_time_num{$name} += $3;
- $innfeed_time_min{$name} = $average
- if ($3 && $innfeed_time_min{$name} > $average);
- $innfeed_time_max{$name} = $average
- if ($3 && $innfeed_time_max{$name} < $average);
+ if ($3) {
+ $innfeed_time_num{$name} += $3;
+ my $average = $2 / $3;
+ my $min = $innfeed_time_min{$name};
+ $innfeed_time_min{$name} = $average
+ if (!defined($min) || $min > $average);
+ my $max = $innfeed_time_max{$name};
+ $innfeed_time_max{$name} = $average
+ if (!defined($max) || $max < $average);
+ }
}
return 1;
}
@@ -1735,16 +1739,16 @@
while ($timers =~ /(\S+) (\d+)\((\d+)\)\s*/g) {
my $name = $nnrpd_timer_names{$1} || $1;
- my $average = $2 / ($3 || 1);
$nnrpd_time_time{$name} += $2;
- $nnrpd_time_num{$name} += $3;
if ($3) {
+ my $average = $2 / $3;
+ $nnrpd_time_num{$name} += $3;
my $min = $nnrpd_time_min{$name};
$nnrpd_time_min{$name} = $average
- if (defined($min) && $min > $average);
+ if (!defined($min) || $min > $average);
my $max = $nnrpd_time_max{$name};
$nnrpd_time_max{$name} = $average
- if (defined($max) && $max < $average);
+ if (!defined($max) || $max < $average);
}
}
return 1;
@@ -1951,13 +1955,28 @@
$nocem_totalids{$nocem_lastid} += $2;
return 1;
}
- if ($left =~ /bad signature from (.*)/o) {
+ if ($left =~ /Article <[^>]*>: (.*) \(ID [[:xdigit:]]*\) not in keyring/o) {
$nocem_badsigs{$1}++;
$nocem_goodsigs{$1} = 0 unless ($nocem_goodsigs{$1});
$nocem_totalbad++;
$nocem_lastid = $1;
return 1;
}
+ if ($left =~ /Article <[^>]*>: bad signature from (.*)/o) {
+ $nocem_badsigs{$1}++;
+ $nocem_goodsigs{$1} = 0 unless ($nocem_goodsigs{$1});
+ $nocem_totalbad++;
+ $nocem_lastid = $1;
+ return 1;
+ }
+ if ($left =~ /Article <[^>]*>: malformed signature/o) {
+ $nocem_badsigs{'N/A'}++;
+ $nocem_goodsigs{'N/A'} = 0 unless ($nocem_goodsigs{'N/A'});
+ $nocem_totalbad++;
+ $nocem_lastid = 'N/A';
+ return 1;
+ }
+
return 1;
}
More information about the inn-patches
mailing list