pmdabpf - Man Page

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).

Referenced By

pcp-atop(1), pcp-htop(5).

PCP Performance Co-Pilot