NAME
pmdabpf - eBPF PMDA
DESCRIPTION
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.
CONFIGURATION
pmdabpf reads a mandatory ini-style configuration file:
$PCP_PMDAS_DIR/bpf/bpf.conf
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.
INSTALLATION
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.
FILES
$PCP_PMDAS_DIR/bpf/bpf.conf
configuration file for the pmdabpf agent
$PCP_PMDAS_DIR/bpf/modules/*.{o,so}
bpf PMDA modules available for the pmdabpf agent
$PCP_PMDAS_DIR/bpf/Install
installation script for the pmdabpf agent
$PCP_PMDAS_DIR/bpf/Remove
undo installation script for the pmdabpf agent
$PCP_LOG_DIR/pmcd/bpf.log
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.
PCP ENVIRONMENT
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).
SEE ALSO
PCPIntro(1), bpf(1) and pmcd(1).