NAME

Sys::Statistics::Linux::DiskStats - Collect linux disk statistics.

SYNOPSIS

use Sys::Statistics::Linux::DiskStats;

my $lxs = new Sys::Statistics::Linux::DiskStats;
$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.

DISK STATISTICS

Generated by /proc/diskstats or /proc/partitions.

major   -  The mayor number of the disk
minor   -  The minor number of the disk
rdreq   -  Number of read requests that were made to physical disk.
rdbyt   -  Number of bytes that were read from physical disk.
wrtreq  -  Number of write requests that were made to physical disk.
wrtbyt  -  Number of bytes that were written to physical disk.
ttreq   -  Total number of requests were made from/to physical disk.
ttbyt   -  Total number of bytes transmitted from/to physical disk.

METHODS

new()

Call new() to create a new object.

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

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.