Merged zfs-scrub scripts together
[zfs-nexenta/.git] / zfs-log-parser
index c277e142bf63cc094e0a6657dfc22831d8be80da..4ecca3c37e59db5a4aaeecfa9dea6277b4dda928 100755 (executable)
@@ -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(); }