PMDABCC(1)
β¨ NAME β¨
pmdabpf β it's the eBPF PMDA bestie π
(yes the manual page is called PMDABCC(1), don't ask, we don't gatekeep names around here)
πΈ SYNOPSIS πΈ
$PCP_PMDAS_DIR/bpf/pmdabpf [-D debug]
π¦ DESCRIPTION π¦
Okay so pmdabpf is a Performance Co-Pilot (PCP) Performance Metrics Domain Agent (PMDA) and its whole thing is pulling live performance data out of eBPF programs, using BPF CO-RE (libbpf and BTF). It's giving observability, no cap π₯
pmdabpf loads and acts as a bridge for any number of configured, separate bpf PMDA modules. And like β existing libbpf tools should be possible to utilize with the bpf PMDA modules with reasonable effort. (Emphasis on reasonable π)
For the full lore, go read the eBPF, libbpf and BPF CO-RE documentation. They explain it in detail. β¨
π CONFIGURATION π
pmdabpf reads a mandatory ini-style configuration file:
$PCP_PMDAS_DIR/bpf/bpf.conf
Every section of that file = one bpf PMDA module. Obsessed with the structure honestly π«Ά
These global options are available for every module (default values shown in parenthesis):
enabled(unset) β a boolean value, and it's literally just "should thisbpfPMDA module be started or not". That's it. That's the whole option. π
Modules may also support additional module-specific configuration options β go check the default configuration file for which options they support. iykyk π
β 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, bestie. Do not. π« The Install and Remove scripts notify pmcd(1) when the agent is installed or removed, so they handle the group chat for you. π«Ά
Also lowkey important: some modules will start providing values only after having collected data from related system activity. So don't panic if it's quiet at first, it's just warming up. π±
π FILES π
$PCP_PMDAS_DIR/bpf/bpf.confβ configuration file for thepmdabpfagent$PCP_PMDAS_DIR/bpf/modules/*.{o,so}βbpfPMDA modules available for thepmdabpfagent$PCP_PMDAS_DIR/bpf/Installβ installation script for thepmdabpfagent$PCP_PMDAS_DIR/bpf/Removeβ undo installation script for thepmdabpfagent$PCP_LOG_DIR/pmcd/bpf.logβ default log file for messages from thepmdabpfagent
Note that the usual/default value for$PCP_PMDAS_DIRis/var/lib/pcp/pmdasand the default for$PCP_LOG_DIRis/var/log/pcpβ but these settings are platform dependent. So don't come for me if yours is different, it's just built different. π
π PCP ENVIRONMENT π
Environment variables with the prefix PCP_ are used to parameterize the file and directory names that PCP uses. Every installation has a file at /etc/pcp.conf holding the local values for these variables. π
And if you wanna get spicy, the $PCP_CONF variable may be used to specify an alternative configuration file, as described in pcp.conf(5). Slay. π
π DEBUGGING OPTIONS π
The -D or --debug option enables the output of additional diagnostics on stderr to help triage problems β although ngl, the information is sometimes cryptic and primarily intended to provide guidance for developers rather than for 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. Periodt. π
π₯ SEE ALSO π₯
PCPIntro(1), bpf(1) and pmcd(1).
And that's the whole page, bestie!! π This one came from Performance Co-Pilot β that's the PCP source and version tag β and the page itself is PMDABCC(1), dated in that lil footer right there. Go forth and monitor something iconic. ππ¦π
π¦ where this page comes from
- arch rolling: pcp 7.2.2-2 Β· GPL-2.0-or-later AND LGPL-2.1-or-later AND CC-BY-3.0
- fedora 43: pcp-doc 7.2.1-1.fc43
- fedora 43: pcp-doc 7.2.2-1.fc43
- fedora 43: pcp-doc 7.2.2-2.fc43 Β· GPL-2.0-or-later AND CC-BY-3.0
- fedora 44: pcp-doc 7.2.1-1.fc44
- fedora 44: pcp-doc 7.2.2-1.fc44
- fedora 44: pcp-doc 7.2.2-2.fc44 Β· GPL-2.0-or-later AND CC-BY-3.0
- ubuntu stonking: pcp 7.2.1-2build1
- Copyright (C) 2021 Red Hat
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms