Sys::Statistics::Linux::Compilation man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

Sys::Statistics::LinuxUsermContributed PSys::Statistics::Linux::Compilation(3)

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), "\n";
	   }

	   # 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), "\n";
	   }

	   # or

	   foreach my $key ($stat->loadavg) {
	       print $key, " ", $stat->loadavg->{$key}, "\n";
	   }

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.1			  2011-0Sys::Statistics::Linux::Compilation(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net