if(($in_replicate == 0) && ("$startdate" ne "") && ($line !~ /$startdate/)) { next; }
if($line =~ /(\S+)\s+(\S+)\s+(\d+)\s+(\d+):(\d+):(\d+)\s+(\S+)\s+(\S+)/) {
$dayname=$1; $month=$2; $daynum=$3; $hour=$4; $minute=$5; $sec=$6; $year=$8;
- if(($in_replicate == 0) && ($line =~ /lock obtained/)) {
+ if(($in_replicate == 0) && ($line =~ /replicate started/)) {
$in_replicate = 1;
$date="$dayname $month $daynum $hour:$minute:$sec $year";
$totals{$date}{data} = 0;
$totals{$date}{transfertime} = 0;
$totals{$date}{duration} = time_to_seconds($hour,$minute,$sec);
}
- elsif(($in_replicate == 1) && ($line=~ /lock released/)) {
+ elsif(($in_replicate == 1) && ($line=~ /replicate complete/)) {
$in_replicate = 0;
$totals{$date}{duration} = time_to_seconds($hour,$minute,$sec) - $totals{$date}{duration};
}
$duration=adjust_duration($totals{$date}{duration});
$data=adjust_data($totals{$date}{data});
$transfertime=adjust_duration($totals{$date}{transfertime});
- $rate = adjust_data(int($totals{$date}{data}/$totals{$date}{transfertime}));
+ if($totals{$date}{transfertime} > 0) {
+ $rate = adjust_data(int($totals{$date}{data}/$totals{$date}{transfertime}));
+ } else {
+ $rate = 0;
+ }
print "$date: data=${data} transfertime=$transfertime rate=${rate}/sec duration=$duration\n";
}
}
# MAIN
#########
#print "-> Parsing $logfile\n";
-open(FILE,"$logfile") || die "-E- Unable to open $logfile\n";
+if("$logfile" =~ /\.[bz2|gz]/) {
+ open(FILE,"zcat $logfile|") || die "-E- Unable to open $logfile\n";
+} else {
+ open(FILE,"$logfile") || die "-E- Unable to open $logfile\n";
+}
if($logfile =~ /replicate/) { parse_replicate_logfile(); }
if($logfile =~ /snapshot-totals/) { parse_snapshot_totals_logfile(); }