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 net statistics from the /proc filesystem. It is tested on x86 hardware with the distributions SuSE (SuSE on s390 and s390x architecture as well), Red Hat, Debian and Mandrake on kernel versions 2.4 and 2.6 but should also running on other linux distributions with the same kernel release number. To run this module it is necessary to start it as root or another 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.

METHODS

All methods

C<new()>
C<init()>
C<get()>

new()

Call new() to create a new object.

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

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.