Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

sys::statistics::linux::diskusage(3pm) [debian man page]

Sys::Statistics::Linux::DiskUsage(3pm)			User Contributed Perl Documentation		    Sys::Statistics::Linux::DiskUsage(3pm)

NAME
Sys::Statistics::Linux::DiskUsage - Collect linux disk usage. SYNOPSIS
use Sys::Statistics::Linux::DiskUsage; my $lxs = new Sys::Statistics::Linux::DiskUsage; my $stat = $lxs->get; DESCRIPTION
Sys::Statistics::Linux::DiskUsage gathers the disk usage with the command "df". For more information read the documentation of the front-end module Sys::Statistics::Linux. DISK USAGE INFORMATIONS
Generated by /bin/df -kP. total - The total size of the disk. usage - The used disk space in kilobytes. free - The free disk space in kilobytes. usageper - The used disk space in percent. mountpoint - The moint point of the disk. GLOBAL VARS If you want to change the path or arguments for "df" you can use the following variables... $Sys::Statistics::Linux::DiskUsage::DF_PATH = '/bin'; $Sys::Statistics::Linux::DiskUsage::DF_CMD = 'df -akP'; Example: use Sys::Statistics::Linux; use Sys::Statistics::Linux::DiskUsage; $Sys::Statistics::Linux::DiskUsage::DF_CMD = 'df -akP'; my $sys = Sys::Statistics::Linux->new(diskusage => 1); my $disk = $sys->get; METHODS
new() Call "new()" to create a new object. my $lxs = Sys::Statistics::Linux::DiskUsage->new; It's possible to set the path to df. Sys::Statistics::Linux::DiskUsage->new( cmd => { # This is the default path => '/bin', df => 'df -kP 2>/dev/null', } ); get() Call "get()" to get the statistics. "get()" returns the statistics as a hash reference. my $stat = $lxs->get; EXPORTS
No exports. SEE ALSO
df(1) 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. perl v5.14.2 2012-03-09 Sys::Statistics::Linux::DiskUsage(3pm)

Check Out this Related Man Page

Sys::Statistics::Linux::Compilation(3pm)		User Contributed Perl Documentation		  Sys::Statistics::Linux::Compilation(3pm)

NAME
Sys::Statistics::Linux::Compilation - Statistics compilation. SYNOPSIS
use Sys::Statistics::Linux; my $lxs = Sys::Statistics::Linux->new( loadavg => 1 ); my $stat = $lxs->get; foreach my $key ($stat->loadavg) { print $key, " ", $stat->loadavg($key), " "; } # or use Sys::Statistics::Linux::LoadAVG; use Sys::Statistics::Linux::Compilation; my $lxs = Sys::Statistics::Linux::LoadAVG->new(); my $load = $lxs->get; my $stat = Sys::Statistics::Linux::Compilation->new({ loadavg => $load }); foreach my $key ($stat->loadavg) { print $key, " ", $stat->loadavg($key), " "; } # or foreach my $key ($stat->loadavg) { print $key, " ", $stat->loadavg->{$key}, " "; } DESCRIPTION
This module provides different methods to access and filter the statistics compilation. METHODS
new() Create a new "Sys::Statistics::Linux::Compilation" object. This creator is only useful if you don't call "get()" of "Sys::Statistics::Linux". You can create a new object with: my $lxs = Sys::Statistics::Linux::LoadAVG->new(); my $load = $lxs->get; my $stat = Sys::Statistics::Linux::Compilation->new({ loadavg => $load }); Statistic methods sysinfo() cpustats() procstats() memstats() pgswstats() netstats() netinfo() "netinfo()" provides raw data - no deltas. sockstats() diskstats() diskusage() loadavg() filestats() processes() All methods returns the statistics as a hash reference in scalar context. In list all methods returns the first level keys of the statistics. Example: my $net = $stat->netstats; # netstats as a hash reference my @dev = $stat->netstats; # the devices eth0, eth1, ... my $eth0 = $stat->netstats('eth0'); # eth0 statistics as a hash reference my @keys = $stat->netstats('eth0'); # the statistic keys my @vals = $stat->netstats('eth0', @keys); # the values for the passed device and @keys my $val = $stat->netstats('eth0', $key); # the value for the passed device and key Sorted ... my @dev = sort $stat->netstats; my @keys = sort $stat->netstats('eth0'); pstop() This method is looking for top processes and returns a sorted list of PIDs as an array or array reference depending on the context. It expected two values: a key name and the number of top processes to return. As example you want to get the top 5 processes with the highest cpu usage: my @top5 = $stat->pstop( ttime => 5 ); # or as a reference my $top5 = $stat->pstop( ttime => 5 ); If you want to get all processes: my @top_all = $stat->pstop( ttime => $FALSE ); # or just my @top_all = $stat->pstop( 'ttime' ); search(), psfind() Both methods provides a simple scan engine to find special statistics. Both methods except a filter as a hash reference. It's possible to pass the statistics as second argument if the data is not stored in the object. The method "search()" scans for statistics and rebuilds the hash tree until that keys that matched your filter and returns the hits as a hash reference. my $hits = $stat->search({ processes => { cmd => qr/[su]/, owner => qr/root/ }, cpustats => { idle => 'lt:10', iowait => 'gt:10' }, diskusage => { '/dev/sda1' => { usageper => 'gt:80' } } }); This would return the following matches: * processes with the command "[su]" * processes with the owner "root" * all cpu where "idle" is less than 50 * all cpu where "iowait" is grather than 10 * only disk '/dev/sda1' if "usageper" is grather than 80 The method "psfind()" scans for processes only and returns a array reference with all process IDs that matched the filter. Example: my $pids = $stat->psfind({ cmd => qr/init/, owner => 'eq:apache' }); This would return the following process ids: * processes that matched the command "init" * processes with the owner "apache" There are different match operators available: gt - grather than lt - less than eq - is equal ne - is not equal Notation examples: gt:50 lt:50 eq:50 ne:50 Both argumnents have to be set as a hash reference. Note: the operators < > = ! are not available any more. It's possible that in further releases could be different changes for "search()" and "psfind()". So please take a look to the documentation if you use it. EXPORTS
No exports. TODOS
* Are there any wishs from your side? Send me a mail! REPORTING BUGS
Please report all bugs to <jschulz.cpan(at)bloonix.de>. AUTHOR
Jonny Schulz <jschulz.cpan(at)bloonix.de>. Thanks to Moritz Lenz for his suggestion for the name of this module. 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. perl v5.14.2 2012-03-09 Sys::Statistics::Linux::Compilation(3pm)
Man Page