Formatez vos résultats IOMETER

Formatez vos résultats IOMETER

IOMETER est un logiciel permettant de benchmarker votre stockage en le sollicitant avec des conditions proches d’une production voire même un test de stress intensif ! Cependant les résultats obtenus avec IOMETER sont assez catastrophiques en terme de mise en page.

Bref, trève de blabla, vous observez que le résultat obtenu est immédiatement exploitable !

Voici donc le script PERL qui permet cette merveille !

<pre>#!/usr/bin/perl
#
# IOMeter results parser, 2005, Paul Venezia
#
#       Simply run this script in the directory containing the CSV output of IOMeter.
#       Results are organized by filename.
#
#

use File::Glob ':glob';
use Data::Dumper;

@files = &lt;*.csv&gt;;
my %results;
my $parmcount = 1;
my $lcount = 0;
foreach my $file (@files) {
	undef @lines;
	open (LOG, "&lt;$file");
	my @lines = &lt;LOG&gt;;
	foreach my $line (@lines) {
		$lcount++;
		if ($line =~ /'Access\sspecification\sname.+/) {
			$line = @lines[$lcount];
			$line =~ /(.+),\d/;
			#%results-&gt;{$file}-&gt;{test} = "$1";
			$thistest = "$1";
			#print $thistest;

		}
		if ($line =~ /ALL,All.+/) {
			#$line = @lines[$lcount];
			@thisres = (split(",", $line));
			%results-&gt;{$file}-&gt;{$thistest}{IOps} = @thisres[6];
			%results-&gt;{$file}-&gt;{$thistest}{ReadIOps} = @thisres[7];
			%results-&gt;{$file}-&gt;{$thistest}{WriteIOps} = @thisres[8];
			%results-&gt;{$file}-&gt;{$thistest}{MBps} = @thisres[9];
			%results-&gt;{$file}-&gt;{$thistest}{ReadMBps} = @thisres[10];
			%results-&gt;{$file}-&gt;{$thistest}{CPU} = @thisres[45];
		}

	}
$parmcount = 0;
$lcount = 0;

}

sub swrite {
  my $fmt = shift(@_);
  $^A = '';
  formline($fmt,@_);
  return $^A;
}

my %output;
foreach my $logfile ( sort keys %results ) {
	#$TXT .= "$logfile: \n";
	$header = 1;
	foreach $test ( sort keys %{$results{$logfile}} ) {
		foreach $tsize ( sort keys %{$results{$logfile}{$test}} ) {
			$output{$test}{$logfile}{$tsize} =  swrite("@&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;", $results{$logfile}{$test}{$tsize});
		}

	}
}

#print Dumper %results;
foreach $testsize ( sort keys %output ) {
	$TXT .= "$testsize\n";
	$header = 1;
	foreach $unit ( sort keys %{$output{$testsize}} ) {
		if ($header) {
			$TXT .= "\t\t";
			foreach $test ( sort keys %{$output{$testsize}{$unit}} ) {
				$TXT .= swrite("@&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; @&lt;&lt;&lt;&lt;&lt;&lt;", $test);
			}
			$TXT .= "\n";
			undef $header;
		}
		$testunit = $unit;
		$testunit =~ s/\.csv//;
		$TXT .= swrite("@&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; @&lt;&lt;&lt;&lt;&lt;", $testunit);

		foreach $test ( sort keys %{$output{$testsize}{$unit}} ) {
			$TXT .= swrite("@&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; @&lt;&lt;&lt;&lt;&lt;&lt;&lt;", $output{$testsize}{$unit}{$test});
		}
		$TXT .= "\n";
	}
	$TXT .= "\n";
}

print $TXT;
#print Dumper %output;</pre>
<pre>

Merci donc à Paul Venezia de nous avoir pondu ce script téléchargeable ici http://pvenezia.com/iw/iometer-parse.pl

Partagez si ça vous plait !
0 0 votes
Évaluation de l'article
S’abonner
Notification pour
guest

0 Commentaires
Commentaires en ligne
Afficher tous les commentaires