NAME
Unix::Statgrab::sg_process_stats - container for libstatgrab process statistics
DESCRIPTION
Unix::Statgrab::sg_process_stats
is a Perl package name providing accessors to bundled libstatgrab sg_process_stats process statistics.
METHODS
nentries
Returns the number of entries in the container.
systime
Returns the seconds since Epoch (0:00:00 on January, 1st 1970) of the time measure the process statistics.
as_list
Deprecated alias of "fetchall_hash"
fetchall_hash
Returns all records from sg_process_stats container as list of hash containing each datum name as key and the datum as value.
fetchall_array
Returns all records from sg_process_stats container as list of arrays containing the values in following order:
(process_name proctitle pid parent pgid sessid uid euid gid egid
context_switches voluntary_context_switches involuntary_context_switches
proc_size proc_resident start_time time_spent cpu_percent nice state
systime)
in that order without leading headline.
fetchall_table
Returns all records from sg_process_stats container as list of arrays containing the values in following order:
(disk_name read_bytes write_bytes systime)
in that order including leading headline.
fetchrow_arrayref($row = 0)
Returns one row as array containing values as above.
fetchall_arrayref
Returns all records from sg_process_stats container as array of arrays without header.
fetchrow_hashref($row = 0)
Returns one row as hash containing { process_name => $self.process_name($row), proctitle => ... }
.
fetchall_hashref
Returns all records from sg_process_stats container as array of hashes.
colnames
Returns list of column names: (process_name proctitle pid parent pgid sessid uid euid gid egid context_switches voluntary_context_switches involuntary_context_switches proc_size proc_resident start_time time_spent cpu_percent nice state systime)
process_name
The name of the command that was run. The content of this field heavily depends on the underlying operating system, some store the basename the executable passes to the exec(2) system call, some the entire path. Most OS restrict the size of this field - some like the *BSD family to a very low value of 15 bytes.
This field is usually immutable for userland processes.
proctitle
The command line (the "title") of the process. Take note - this can be modified by the process, so isn't guaranteed to be the original command line.
pid
The process ID.
parent
The parent process ID.
pgid
The process ID of the process group leader.
sessid
Session id of the session the process belongs to.
uid
The ID of the user the process is running as.
euid
The ID of the effective user the process is running as.
gid
The ID of the group the process is running as.
egid
The ID of the effective group the process is running as.
context_switches
The number of context switches of this process (voluntary and involuntary).
voluntary_context_switches
The number of voluntary context switches of this process (e.g. by calling sched_yield()
, sleep()
or nanosleep()
).
involuntary_context_switches
The number of involuntary context switches of this process (e.g. time slice exhausted or signal sent).
proc_size
The virtual memory size of the process in bytes.
proc_resident
The size of the process that's resident in memory.
start_time
The time when the process has been started in seconds since epoch.
time_spent
The number of seconds the process has been running (user+system time, without time spent by child processes).
cpu_percent
The current percentage of CPU the process is using.
nice
The nice value of the process.
state
The current state of the process, one of
SG_PROCESS_STATE_RUNNING SG_PROCESS_STATE_SLEEPING SG_PROCESS_STATE_STOPPED
SG_PROCESS_STATE_ZOMBIE SG_PROCESS_STATE_UNKNOWN
AUTHOR
Jens Rehsack, <rehsack AT cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2012-2018 by Jens Rehsack
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.