RosConfig - file /var/lib/pcp/config/pmlogger/config.ros

This class provides parsing for the files:

/var/lib/pcp/config/pmlogger/config.ros

class insights.parsers.ros_config.RosConfig(context)[source]

Bases: Parser

Sample input data is in the format:

log mandatory on default {
    mem.util.used
    mem.physmem
    kernel.all.cpu.user
    kernel.all.cpu.sys
    kernel.all.cpu.nice
    kernel.all.cpu.steal
    kernel.all.cpu.idle
    kernel.all.cpu.wait.total
    disk.all.total
    mem.util.cached
    mem.util.bufmem
    mem.util.free
}
[access]
disallow .* : all;
disallow :* : all;
allow local:* : enquire;

Examples

>>> type(ros_input)
<class 'insights.parsers.ros_config.RosConfig'>
>>> ros_input.rules[0]['allow_disallow']
'disallow'
>>> ros_input.rules[0]['hostlist']
['.*']
>>> ros_input.rules[0]['operationlist']
['all']
>>> ros_input.specs[0].get('state')
'mandatory on'
>>> ros_input.specs[0].get('metrics')['mem.util.used']
[]
>>> ros_input.specs[0].get('metrics')['kernel.all.cpu.user']
[]
>>> ros_input.specs[0].get('logging_interval')
'default'
data

All parsed options and log files are stored in this list.

Type:

list

specs

List of the ROS specifications present in config.ros file.

Type:

list of dicts

rules

List of access control rules applied for config.ros file.

Type:

list of dicts

parse_content(content)[source]

This method must be implemented by classes based on this class.