#!/usr/bin/perl # Draw spectrum of HTTP transaction lengths from netgrind output # (c) 2003 Martin Mares , GPL'ed use strict; use warnings; use POSIX; my @k = ( 0, 0.25, 0.5, 1, 2, 4, 8, 16, 32, 64, 1000000000 ); my @v1 = map { 0 } @k; my @v2 = map { 0 } @k; while (<>) { chomp; /^#/ && next; my ($t1, $t2, $src, $dst, $ffor, $result, $cache, $queue, $length, $totaltime, $waittime, $ctype, $method, $url) = split /\s+/; if ($result =~ /^\d+$/) { my $i = 0; while ($totaltime >= $k[$i+1]) { $i++; } $v1[$i]++; $i = 0; while ($waittime >= $k[$i+1]) { $i++; } $v2[$i]++; } } my $datafile = "gp.tmp"; open D, ">$datafile" or die; for(my $i=0; $i<$#k; $i++) { print D $k[$i], "\t", $v1[$i], "\t", $v2[$i], "\n"; } close D; open GP, "|gnuplot" or die; print GP <