sometimes you need to see how much data your computer
gets through a certain device(at least I do).
I've put together this script that does just that
use strict;
use warnings;
sub get_measures {
my $data = `/sbin/ifconfig | grep “RX bytes” | head -1`;
$data =~ /RX bytes\:(\d+) .*TX bytes\:(\d+) .*/;
my $recv = $1/1024;
my $sent=$2/1024;
$recv =~ s/\..*//;
$sent =~ s/\..*//;
#printf “received:%s KB transmitted:%s KB”,$recv,$sent;$_=”";
return ($recv,$sent);
}
my @m1 = get_measures;
sleep 1;
my @m2 = get_measures;
my @rates = ($m2[0] - $m1[0], $m2[1]-$m1[1]);
foreach (’ received’ , ‘ transmit’) {
printf “$_ rate:%sKB”,shift @rates;
}
no comments yet
edit:
a slightly modified version,for making a live display of
the transfered data chart using as points the transfer
rates,and on the other axis time.