#!/usr/bin/perl

# vsanal
# John Jacobsen, NPX Designs, Inc., jacobsen\@npxdesigns.com
# Started: Mon Mar 29 12:43:19 2004

package MY_PACKAGE;
use strict;

print "Welcome to $0.\n";

open V, "vmstat 1|" || die "Can't pipe vmstat, sorry ($!).\n";

my $max = 100;
my $sumsys = 0.0;
my $sumsq = 0.0;
my $nsys = 0;
my $avg;
while(<V>) {
    print;
    my @nums = split /\s+/;
    my $sys = $nums[15];
    if($sys =~ /^\d+$/) {
	$nsys++;
	$sumsys += $sys;
	$sumsq += $sys*$sys;
        $avg = $sumsys/$nsys;
	my $rms = sqrt($sumsq/$nsys - $avg*$avg);
	printf "System CPU $sys N=$nsys sum=$sumsys avg=%2.3f rms=%2.3f.\n", $avg, $rms;
	last if $nsys >= $max;
    }
}
__END__

