To whom it may concern,
A simple perl script to parse bonnie++ 1.92 CSV file and produce data files and command files for gnuplot.
#!/usr/bin/perl
$dataFilename='bon';
$gpltFilename='bon.gplt';
while (<>) {
chomp;
push @AoA, [ split /,/];
}
sub print_col {
$col=shift;
for $i ( 0 .. $#AoA ) {
print OUT "$AoA[$i][$col],";
}
print OUT "n";
}
open (OUT, ">$dataFilename-1.dat");
print OUT "FS,";
print_col(2);
print OUT "Seq Create,";
print_col(24);
print OUT "Seq Delete,";
print_col(28);
print OUT "Rnd Create,";
print_col(30);
print OUT "Rnd Delete,";
print_col(34);
close OUT;
open (OUT, ">$dataFilename-2.dat");
print OUT "FS,";
print_col(2);
print OUT "Seq Read,";
print_col(26);
print OUT "Random Read,";
print_col(32);
close OUT;
open (OUT, ">$dataFilename-3.dat");
print OUT "FS,";
print_col(2);
print OUT "Block Out,";
print_col(9);
print OUT "Block Rewrite,";
print_col(11);
print OUT "Block Input,";
print_col(15);
close OUT;
open (OUT, ">$gpltFilename");
print OUT '#
#!/usr/bin/gnuplot
set datafile separator ","
set style data histogram
set style histogram cluster gap 1
set style fill solid border -1
set boxwidth 0.9
';
for $data (1..3) {
print OUT "plot '$dataFilename-$data.dat' using 2:xtic(1) ti col";
for $i ( 3 .. ($#AoA+2) ) {
print OUT ', '' u ' . $i . ' ti col';
}
print OUT "npause -1n";
}
close OUT;
