All pastes #747329 Raw Edit

Someone

public text v1 · immutable
·published 2007-10-23 22:30 UTC
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";
}