logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Sys::Statistics::Linux::ProcStats - Collect linux process statistics.

Author

       Jonny Schulz <jschulz.cpan(at)bloonix.de>.

Description

       Sys::Statistics::Linux::ProcStats gathers process statistics from the virtual /proc filesystem (procfs).

       For more information read the documentation of the front-end module Sys::Statistics::Linux.

Exports

       No exports.

Important

       I renamed key "procs_blocked" to "blocked"!

Load Average Statistics

       Generated by /proc/stat and /proc/loadavg.

           new       -  Number of new processes that were produced per second.
           runqueue  -  The number of currently executing kernel scheduling entities (processes, threads).
           count     -  The number of kernel scheduling entities that currently exist on the system (processes, threads).
           blocked   -  Number of processes blocked waiting for I/O to complete (Linux 2.5.45 onwards).
           running   -  Number of processes in runnable state (Linux 2.5.45 onwards).

Methods

new()
       Call "new()" to create a new object.

           my $lxs = Sys::Statistics::Linux::ProcStats->new;

       Maybe you want to store/load the initial statistics to/from a file:

           my $lxs = Sys::Statistics::Linux::ProcStats->new(initfile => '/tmp/procstats.yml');

       If you set "initfile" it's not necessary to call sleep before "get()".

       It's also possible to set the path to the proc filesystem.

            Sys::Statistics::Linux::ProcStats->new(
               files => {
                   # This is the default
                   path    => '/proc',
                   loadavg => 'loadavg',
                   stat    => 'stat',
               }
           );

   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 $stat = $lxs->get;

   raw()
       Get raw values.

Name

       Sys::Statistics::Linux::ProcStats - Collect linux process statistics.

Reporting Bugs

       Please report all bugs to <jschulz.cpan(at)bloonix.de>.

See Also

proc(5)

Synopsis

           use Sys::Statistics::Linux::ProcStats;

           my $lxs = Sys::Statistics::Linux::ProcStats->new;
           $lxs->init;
           sleep 1;
           my $stat = $lxs->get;

       Or

           my $lxs = Sys::Statistics::Linux::ProcStats->new(initfile => $file);
           $lxs->init;
           my $stat = $lxs->get;

See Also