# pmdabpftrace

## NAME



           **pmdabpftrace** - bpftrace PMDA
    


## DESCRIPTION



           **pmdabpftrace** is a Performance Co-Pilot (PCP) Performance Metrics
           Domain Agent (PMDA) which exports metrics from **bpftrace**(8)
           scripts.
    


## CONFIGURATION



           **pmdabpftrace** reads an optional ini-style configuration file:
    
                  $PCP_PMDAS_DIR _/bpftrace/bpftrace.conf_
    
           This file may contain **[bpftrace]** and **[dynamic_scripts]** sections.
           If you enable the **dynamic scripts** functionality, please refer to
           **https://pcp.io/docs/lab.auth.html** on how to setup authentication.
           This is **highly recommended** , as otherwise anyone could run any
           **bpftrace**(8) script as **root**.
    
           **[bpftrace]** section specifies values for the following settings
           (their default values are shown in parenthesis):
    
           **bpftrace_path**(_bpftrace_)
                  Path to the **bpftrace**(8) executable.
    
           **script_expiry_time**(_60_)
                  Unnamed scripts are removed after this period of time (in
                  seconds) in case there has been no requests for their
                  values.
    
           **max_throughput**(_2097152_)
                  Maximum throughput of bpftrace scripts in bytes.
    
           **[dynamic_scripts]** section specifies values for the following
           settings (their default values are shown in parenthesis):
    
           **enabled**(_false_)
                  A boolean value to specify whether script should be started
                  on demand, by executing pmStore (3)
                  bpftrace.control.register.  This feature needs to be
                  enabled for the PCP bpftrace datasource in grafana-pcp.
    
           **auth_enabled**(_true_)
                  A boolean value to specify whether authentication is
                  required or not.  Please see the note above on
                  authentication setup.
    
           **allowed_users**(_root_)
                  A comma-separated list of usernames which are allowed to
                  register **bpftrace**(8) scripts.
    


## INSTALLATION



           To install, the following must be done as root:
    
               **# cd $PCP_PMDAS_DIR/bpftrace**
               **# ./Install**
    
           To uninstall, the following must be done as root:
    
               **# cd $PCP_PMDAS_DIR/bpftrace**
               **# ./Remove**
    
           **pmdabpftrace** 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.
    


## FILES



           $PCP_PMDAS_DIR _/bpftrace/bpftrace.conf_
                configuration file for the **pmdabpftrace** agent
    
           $PCP_PMDAS_DIR _/bpftrace/Install_
                installation script for the **pmdabpftrace** agent
    
           $PCP_PMDAS_DIR _/bpftrace/Remove_
                undo installation script for the **pmdabpftrace** agent
    
           $PCP_LOG_DIR _/pmcd/bpftrace.log_
                default log file for messages from the **pmdabpftrace** 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).
    


* * *