rendered paste body#!/usr/bin/env perl
$delay = 5;
while (1) {
$results = `netstat -su`;
if (!($results =~ m/(\d+) packets received/)) {
print("Could not find packets received count\n");
sleep($delay);
next;
}
$received = $1;
if (!($results =~ m/(\d+) packet receive errors/)) {
print("Could not find packet error count\n");
sleep($delay);
next;
}
$errors = $1;
$time = time();
process_results($time, $received, $errors);
$lasttime = $time;
$lastreceived = $received;
$lasterrors = $errors;
sleep($delay);
}
sub process_results {
my $time = shift(@_);
my $received = shift(@_);
my $errors = shift(@_);
if (defined($lasttime)) {
$timediff = $time - $lasttime;
$receiveddiff = $received - $lastreceived;
$errorsdiff = $errors - $lasterrors;
print(scalar(localtime($time)), " (", $time, "): ",
$receiveddiff / $timediff, " ",
$errorsdiff / $timediff, "\n");
}
}