rendered paste body#!/usr/bin/perl
use strict;
my $debug = 0;
my $limit=10;
my (@time,@disk,@rrqm_s,@wrqm_s,@r_s,@w_s,@rsec_s,@wsec_s,@avgrq_sz,@avgqu_sz,@await,@svctm,@util);
my ($time,$disk,$rrqm_s,$wrqm_s,$r_s,$w_s,$rsec_s,$wsec_s,$avgrq_sz,$avgqu_sz,$await,$svctm,$util);
foreach( 0 .. $limit )
{
open( IOSTAT, "iostat -d -t -x /dev/sda |")|| die ;
while ( <IOSTAT> )
{
if ( /Time:(.*)/ )
{
$time="$1";
}
elsif( /sda/ )
{
#if ($debug == 1 ){ print ("$_"); }
($disk,$rrqm_s,$wrqm_s,$r_s,$w_s,$rsec_s,$wsec_s,$avgrq_sz,$avgqu_sz,$await,$svctm,$util)=split(/\s+/, $_);
}
}
close(IOSTAT);
# Pack the data into arrays
push( @time, $time );
push( @disk, $disk );
push( @rrqm_s, $rrqm_s );
push( @wrqm_s, $wrqm_s );
push( @r_s, $r_s );
push( @w_s, $w_s );
push( @rsec_s, $rsec_s );
push( @wsec_s, $wsec_s );
push( @avgrq_sz,$avgrq_sz);
push( @avgqu_sz,$avgqu_sz);
push( @await, $await );
push( @svctm , $svctm );
push( @util, $util );
}
print "Processing Data\n";
foreach( 0 .. $limit ){
print ("$time: $disk,$rrqm_s,$wrqm_s,$r_s,$w_s,$rsec_s,$wsec_s,$avgrq_sz,$avgqu_sz,$await,$svctm,$util\n");
}