#!/usr/bin/perl

# anabench
# John Jacobsen, NPX Designs, Inc., jacobsen\@npxdesigns.com
# Started: Thu May 27 18:08:27 2004

package MY_PACKAGE;
use strict;
sub doproc;

my $proc = "/proc/driver/domhub";
die "No driver ($proc not there)!\n" unless -d $proc;
my $allproc = "$proc/bench";

doproc $allproc;
exit;

sub doproc {
    my $pf = shift;
    die "Can't find DH driver proc file $pf!\n" unless -f $pf;
    my @lines = `cat $pf`;
    printf "%20s %7s %10s %10s %10s %6s %6s\n", 
     "Name", "Entries", "Min", "Max",
     "Last", "Avg", "Sumdt (sec)\n";

    for(@lines) {
	#print;
	if(/(.*): t1=(\d+) t2=(\d+) sumdt=(\S+) ndt=(\S+) mindt=(\S+) maxdt=(\S+) lastdt=(\S+)/) {
	    # print "$1 $2 $3 $4 $5 $6 $7 $8\n";
	    my $name   = $1;
	    my $t1     = $2;
	    my $t2     = $3;
	    my $sumdt  = $4*1.0;
	    my $ndt    = $5*1.0;
	    my $mindt  = $6;
	    my $maxdt  = $7;
	    my $lastdt = $8;
	    my $avg = "UNDEF";
	    $avg = $sumdt/($ndt*1000.) unless $ndt == 0;
	    $sumdt /= 1E9;
	    printf "%20s %10.0f %10d %10d %10d %10.2f %10.3f\n",
	           $name, $ndt, $mindt, $maxdt, $lastdt, $avg, $sumdt;
	} else {
	    chomp;
	    print "\t\t($_)\n";
	}
    }
}


__END__

