# pmdabpf

## NAME



           **pmdabpf** - eBPF PMDA
    


## SYNOPSIS



           **$PCP_PMDAS_DIR/bpf/pmdabpf**[**-D** _debug_]
    


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


## DEBUGGING OPTIONS



           The **-D** or **--debug** option enables the output of additional
           diagnostics on _stderr_ to help triage problems, although the
           information is sometimes cryptic and primarily intended to provide
           guidance for developers rather end-users.  _debug_ is a comma
           separated list of debugging options; use pmdbg(1) with the **-l**
           option to obtain a list of the available debugging options and
           their meaning.
    


* * *