X-Git-Url: http://git.pippins.net/embedvideo/.git/static/git-logo.png?a=blobdiff_plain;f=zfs-log-parser;h=94e4490b500a581b623dc6daa681eabb4e1735ff;hb=10a71c7b97fad02881bd9cc0c1b512a204cf884f;hp=c277e142bf63cc094e0a6657dfc22831d8be80da;hpb=7ecda38f0bec4bba1705620ced99f973a13627a0;p=zfs-ubuntu%2F.git diff --git a/zfs-log-parser b/zfs-log-parser index c277e14..94e4490 100755 --- a/zfs-log-parser +++ b/zfs-log-parser @@ -52,14 +52,14 @@ sub parse_replicate_logfile { 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}; } @@ -82,7 +82,11 @@ sub parse_replicate_logfile { $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"; } } @@ -155,7 +159,11 @@ sub parse_snapshot_totals_logfile { # 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(); }