NAME

Sys::Statistics::Linux::NetStats - Collect linux net statistics.

SYNOPSIS

use Sys::Statistics::Linux::NetStats;

my $lxs = new Sys::Statistics::Linux::NetStats;
$lxs->init;
sleep 1;
my $stats = $lxs->get;

DESCRIPTION

This module collects statistics by the virtual /proc filesystem (procfs) and is developed on default vanilla kernels. It is tested on x86 hardware with the distributions SuSE (SuSE on s390 and s390x architecture as well), Red Hat, Debian, Asianux, Slackware and Mandrake on kernel versions 2.4 and 2.6 and should run on all linux kernels with a default vanilla kernel as well. It is possible that this module doesn't run on all distributions if the procfs is too much changed.

Further it is necessary to run it as a user with the authorization to read the /proc filesystem.

DELTAS

It's necessary to initialize the statistics by calling init(), because the statistics are deltas between the call of init() and get(). By calling get() the deltas be generated and the initial values be updated automatically. This way making it possible that the call of init() is only necessary after the call of new(). Further it's recommended to sleep for a while - at least one second - between the call of init() and/or get() if you want to get useful statistics.

NET STATISTICS

Generated by /proc/net/dev.

rxbyt    -  Number of bytes received.
rxpcks   -  Number of packets received.
rxerrs   -  Number of errors that happend while received packets.
rxdrop   -  Number of packets that were dropped.
rxfifo   -  Number of FIFO overruns that happend on received packets.
rxframe  -  Number of carrier errors that happend on received packets.
rxcompr  -  Number of compressed packets received.
rxmulti  -  Number of multicast packets received.
txbyt    -  Number of bytes transmitted.
txpcks   -  Number of packets transmitted.
txerrs   -  Number of errors that happend while transmitting packets.
txdrop   -  Number of packets that were dropped.
txfifo   -  Number of FIFO overruns that happend on transmitted packets.
txcolls  -  Number of collisions that were detected.
txcarr   -  Number of carrier errors that happend on transmitted packets.
txcompr  -  Number of compressed packets transmitted.
ttbyt    -  Number of total bytes (received + transmitted).

METHODS

new()

Call new() to create a new object.

my $lxs = new Sys::Statistics::Linux::NetStats;

init()

Call init() to initialize the statistics.

$lxs->init;

get()

Call get() to get the statistics. get() returns the statistics as a hash reference.

my $stats = $lxs->get;

EXPORTS

No exports.

SEE ALSO

proc(5)

REPORTING BUGS

Please report all bugs to <jschulz.cpan(at)bloonix.de>.

AUTHOR

Jonny Schulz <jschulz.cpan(at)bloonix.de>.

COPYRIGHT

Copyright (c) 2006, 2007 by Jonny Schulz. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.