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 in insights.parsers.ps module.

property 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

property pids

Returns the list of running process IDs (integers).

Returns:

the PIDs from the PID column.

Return type:

list

property 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