PS¶
This combiner provides information about running processes based on the ps
command.
More specifically this consolidates data from
insights.parsers.ps.PsEo
,
insights.parsers.ps.PsAuxcww
,
insights.parsers.ps.PsEoCmd
,
insights.parsers.ps.PsEf
,
insights.parsers.ps.PsAux
,
insights.parsers.ps.PsAuxww
and
insights.parsers.ps.PsAlxwww
parsers (in that specific order).
Note
The final dataset can vary depending on availability of the parsers for a given
ExecutionContext
and added filters. The underlying filterable datasources
for this combiner can be filtered by passing insights.combiners.ps.Ps
to insights.core.filters.add_filter()
function along with a filter pattern.
Please see insights.core.filters
for more information on filtering.
Examples
>>> sorted(ps_combiner.pids)
[1, 2, 3, 8, 9, 10, 11, 12, 13]
>>> '[kthreadd]' in ps_combiner.commands
True
>>> '[kthreadd]' in ps_combiner
True
>>> ps_combiner[2] == {
... 'PID': 2,
... 'USER': 'root',
... 'UID': 0,
... 'PPID': 0,
... '%CPU': 0.0,
... '%MEM': 0.0,
... 'VSZ': 0.0,
... 'RSS': 0.0,
... 'TTY': '?',
... 'STAT': 'S',
... 'START': '2019',
... 'TIME': '1:04',
... 'COMMAND': '[kthreadd]',
... 'COMMAND_NAME': '[kthreadd]',
... 'ARGS': '',
... 'F': '1',
... 'PRI': 20,
... 'NI': '0',
... 'WCHAN': 'kthrea'
... }
True
-
class
insights.combiners.ps.
Ps
(ps_alxwww, ps_auxww, ps_aux, ps_ef, ps_auxcww, ps_eo, ps_eo_cmd)[source]¶ Bases:
object
Ps
combiner consolidates data from the parsers ininsights.parsers.ps
module.-
commands
¶ Returns the set of full command strings for each command including optional path and arguments, unless underlying parser contains command names only.
Returns: the set with command strings. Return type: set
-
pids
¶ Returns the list of running process IDs (integers).
Returns: the PIDs from the PID column. Return type: list
-
processes
¶ Returns the list of dictionaries, where each item in the list represents a process and the keys in each dictionary are the column headers.
Returns: the list of running processes. Return type: list
-
search
(**kwargs)[source]¶ Search the process list for matching rows based on key-value pairs.
This uses the
insights.parsers.keyword_search()
function for searching; see its documentation for usage details. If no search parameters are given, no rows are returned.Returns: A list of dictionaries of processes that match the given search criteria. Return type: list Examples
>>> ps_combiner.search(COMMAND__contains='[rcu_bh]') == [ ... {'PID': 9, 'USER': 'root', 'UID': 0, 'PPID': 2, '%CPU': 0.1, '%MEM': 0.0, ... 'VSZ': 0.0, 'RSS': 0.0, 'TTY': '?', 'STAT': 'S', 'START': '2019', 'TIME': '0:00', ... 'COMMAND': '[rcu_bh]', 'COMMAND_NAME': '[rcu_bh]', 'ARGS': '', 'F': '1', 'PRI': 20, ... 'NI': '0', 'WCHAN': 'rcu_gp'} ... ] True >>> ps_combiner.search(USER='root', COMMAND='[kthreadd]') == [ ... {'PID': 2, 'USER': 'root', 'UID': 0, 'PPID': 0, '%CPU': 0.0, '%MEM': 0.0, ... 'VSZ': 0.0, 'RSS': 0.0, 'TTY': '?', 'STAT': 'S', 'START': '2019', 'TIME': '1:04', ... 'COMMAND': '[kthreadd]', 'COMMAND_NAME': '[kthreadd]', 'ARGS': '', 'F': '1', 'PRI': 20, ... 'NI': '0', 'WCHAN': 'kthrea'} ... ] True
-