in reply to Re: measuring IN/OUT traffic on your computer
in thread measuring IN/OUT traffic on your computer

very nice and small

but does it do graphs with the rates in them ? :P

  • Comment on Re^2: measuring IN/OUT traffic on your computer

Replies are listed 'Best First'.
Re^3: measuring IN/OUT traffic on your computer
by ambrus (Abbot) on Aug 31, 2007 at 09:19 UTC

    That's easy too. Firstly change the print statement so it would print the time (in epoch seconds) and the rate separated by spaces. Write that output to a file, and then graph that file with gnuplot.

    I actually have a perl program that draws a graph by calling gnuplot, here are a few parts of its code (I did it as a work so I don't want to publish all of it). The part not shown here opens a tempfile and writes into it the numbers in the simple format mentioned above. I also print some overall statistics to stdout. The following sub graphs the data then (it might need some adaptation for your purposes).

    use File::Temp (); sub showgraph { my($cmdfile, $cmdfilename); my $cmds = qq[set key off\nplot "] . quote($outname) . qq[" wi +th lines\n! echo "Press return to continue" ; read\n]; ($cmdfile, $cmdfilename) = File::Temp::tempfile undef, "UNLINK +", 1; $out or die "error creating temporary commands file"; print "Writing gnuplot command to temporary file $cmdfilename\ +n"; print $cmdfile $cmds or die "error writing command file: $!"; flush $cmdfile or die "error flushing comand file"; print "Launching gnuplot\n"; system "gnuplot", $cmdfilename; close $cmdfile; }

    Update 2008-01-29: see Plot a spiral with gnuplot.

      I like it.

      On Linux you can use the tools nload or ipfraf for this... But anyway - short and definitely a cool use of Perl.

      ___
      __