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