pmdabpftrace - Man Page

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

See Also

PCPIntro(1), pmcd(1) and bpftrace(8).

Referenced By

PCPCompat(1).

PCP Performance Co-Pilot