All pastes #407632 Raw Edit

Anonymous

public text v1 · immutable
#407632 ·published 2007-03-24 05:33 UTC
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");
    }
}