Collect linux net statistics.
use Sys::Statistics::Linux::NetStats; my $lxs = Sys::Statistics::Linux::NetStats->new; $lxs->init; sleep 1; my $stat = $lxs->get;
Or
my $lxs = Sys::Statistics::Linux::NetStats->new(initfile => $file); $lxs->init; my $stat = $lxs->get;
Sys::Statistics::Linux::NetStats gathers net statistics from the virtual /proc filesystem (procfs).
For more information read the documentation of the front-end module Sys::Statistics::Linux.
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. ttpcks - Number of total packets (received + transmitted) per second. ttbyt - Number of total bytes (received + transmitted) per second.
Call \*(C`new()\*(C' to create a new object.
my $lxs = Sys::Statistics::Linux::NetStats->new;
Maybe you want to store/load the initial statistics to/from a file:
my $lxs = Sys::Statistics::Linux::NetStats->new(initfile => '/tmp/netstats.yml');
If you set \*(C`initfile\*(C' it's not necessary to call sleep before \*(C`get()\*(C'.
It's also possible to set the path to the proc filesystem.
Sys::Statistics::Linux::NetStats->new( files => { # This is the default path => '/proc', netdev => 'net/dev', } );
Call \*(C`init()\*(C' to initialize the statistics.
$lxs->init;
Call \*(C`get()\*(C' to get the statistics. \*(C`get()\*(C' returns the statistics as a hash reference.
my $stat = $lxs->get;
The same as get_raw() but it's not necessary to call init() first.
Call \*(C`get_raw()\*(C' to get the raw data - no deltas.
No exports.
proc\|(5)
Please report all bugs to <jschulz.cpan(at)bloonix.de>.
Jonny Schulz <jschulz.cpan(at)bloonix.de>.
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.