pmdabpf is a Performance Co-Pilot (PCP) Performance Metrics Domain Agent (PMDA) which extracts live performance data from eBPF programs utilizing BPF CO-RE (libbpf and BTF).
pmdabpf loads and acts as a bridge for any number of configured, separate bpf PMDA modules. Existing libbpf tools should be possible to be utilized with the bpf PMDA modules with reasonable effort.
See the eBPF, libbpf and BPF CO-RE documentation for detailed descriptions.
pmdabpf reads a mandatory ini-style configuration file:
Each section of the file corresponds to one bpf PMDA module. The following global options are available for every module (their default values are shown in parenthesis):
- enabled (unset)
A boolean value to specify whether this bpf PMDA module should be started or not.
Modules may also support additional module-specific configuration options, refer to the default configuration file for their supported options.
To install, the following must be done as root:
# cd $PCP_PMDAS_DIR/bpf # ./Install
To uninstall, the following must be done as root:
# cd $PCP_PMDAS_DIR/bpf # ./Remove
pmdabpf is launched by pmcd(1) and should never be executed directly. The Install and Remove scripts notify pmcd(1) when the agent is installed or removed.
Some modules will start providing values only after having collected data from related system activity.
configuration file for the pmdabpf agent
bpf PMDA modules available for the pmdabpf agent
installation script for the pmdabpf agent
undo installation script for the pmdabpf agent
default log file for messages from the pmdabpf agent
Note that the usual/default value for $PCP_PMDAS_DIR is /var/lib/pcp/pmdas and the default for $PCP_LOG_DIR is /var/log/pcp but these settings are platform dependent.
Environment variables with the prefix PCP_ are used to parameterize the file and directory names used by PCP. On each installation, the file /etc/pcp.conf contains the local values for these variables. The $PCP_CONF variable may be used to specify an alternative configuration file, as described in pcp.conf(5).
PCPIntro(1), bpf(1) and pmcd(1).