logAsny.pl
#! perl -w
my $logName = "E:\\tmp\\ldfs_log\\fw_4_single_ok.log";
#my $logName = "E:\\tmp\\ldfs_log\\fw_12_single_lost.log";
my $ioNum = 0;
my $lazyIoNum = 0;
my $lazyIoNum30 = 0;
my $lazyIoNum60 = 0;
#logAnsyFile
my $logAnsyFile = "E:\\logAnsy01_30ms.log";
#my $logAnsyFile = "E:\\logAnsy02_30ms.log";
open(OUTFILE, ">$logAnsyFile");
open(LOGFILE, $logName) || die("couldn't read file $logName01: $!\n");
while (my $line = <LOGFILE>) {
$ioNum++;
if($line =~ /TimeInterval/) {
$lazyIoNum++;
printf "I/O time: ";
my @seg = split /\s+/, $line;
print OUTFILE ("$seg[7] ");
if($seg[7]>=30) {
$lazyIoNum30++;
}
if($seg[7]>=60) {
$lazyIoNum60++;
}
printf $seg[7]."ms\n";
}
}
print OUTFILE ("\nioNum: $ioNum \n");
print OUTFILE ("lazyIoNum: $lazyIoNum \n");
print OUTFILE ("lazyIoNum30: $lazyIoNum30 \n");
print OUTFILE ("lazyIoNum60: $lazyIoNum60 \n");
my $point = $lazyIoNum/$ioNum;
my $point30 = $lazyIoNum30/$ioNum;
my $point301 = $lazyIoNum30/$lazyIoNum;
my $point601 = $lazyIoNum60/$lazyIoNum;
$point = sprintf("%.4f", $point);
$point30 = sprintf("%.4f", $point30);
$point301 = sprintf("%.4f", $point301);
$point601 = sprintf("%.4f", $point601);
print OUTFILE ("lazy/ALL: $point \n");
print OUTFILE ("lazy30/ALL: $point30 \n");
print OUTFILE ("lazy30/lazy: $point301 \n");
print OUTFILE ("lazy60/lazy: $point601 \n");