rendered paste body#!/usr/bin/perl
use strict;
my $targetdisk = "sda";
my $runs = 10;
my @data;
foreach ( 0 .. $runs ) {
my (
$time, $disk, $rrqm_s, $wrqm_s, $r_s,
$w_s, $rsec_s, $wsec_s, $avgrq_sz, $avgqu_sz,
$await, $svctm, $util
);
open( IOSTAT, "iostat -d -t -x /dev/$targetdisk |" ) || die;
while (<IOSTAT>) {
if (/Time:(.*)/) {
$time = "$1";
}
elsif (/^$targetdisk/) {
(
$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
push(
@data,
[
$time, $disk, $rrqm_s, $wrqm_s, $r_s,
$w_s, $rsec_s, $wsec_s, $avgrq_sz, $avgqu_sz,
$await, $svctm, $util
]
);
}
print "Processing Data\n";
foreach my $data (@data) {
my @fields = @$data;
my $time = shift @fields;
print "$time: ", join( ",", @fields ), "\n";
}