PMDAIB(1)

✨ PMDAIB ✨

okay bestie, this is the pmdaib manual page from the General Commands Manual section, and we're gonna get you fluent in Infiniband metrics, no cap πŸ’…


πŸ¦‹ NAME πŸ¦‹

pmdaib β€” the Infiniband performance metrics domain agent (PMDA), aka your girl for all things IB πŸ‘‘


🌸 SYNOPSIS 🌸

$PCP_PMDAS_DIR/infiniband/pmdaib [-c configFile] [-D debug] [-d domain]
[-l logfile] [-w]

πŸ’– DESCRIPTION πŸ’–

so pmdaib is a Performance Metrics Domain Agent (PMDA), and what she does is literally export info and performance metrics about local Infiniband HCAs plus local or remote Infiniband GUIDs. she's giving observability, she's giving range 🌈

here's the tea on the command line options, quick version:

  • -c β€” where the config file lives. default name is $PCP_PMDAS_DIR/infiniband/config. slide down to CONFIG FILE for the full story πŸ“–
  • -d β€” pick an alternate performance metrics domain number. almost never necessary, fr fr πŸ™ˆ
  • -l β€” where the log file lives. default is a log file named ib.log written to $PCP_LOG_DIR/pmcd. and if that log file can't be created or isn't writable? output goes to standard error instead, no drama πŸ’€
  • -w β€” writes out the default config file to $PCP_PMDAS_DIR/infiniband and dips immediately. the written config file will contain the local HCA ports. it will not overwrite an existing file. this argument should only be used to create the template config file and should never appear in pmcd.conf. see CONFIG FILE for more on the file format and on monitoring remote GUIDs πŸŽ€

🧚 CONFIG FILE 🧚

by default, the PMDA operates without using a config file. in this mode, the local HCA ports get monitored. but heads up bestie β€” if a new HCA is added to the machine, that instance domain naming may change, because it will always be based on the kernel's naming 😭

in cases where that's not acceptable, or when monitoring remote Infiniband ports is required, a config file must be created. you can make a "template" file by running the pmdaib daemon with the -w argument. that creates a config file with the local ports and GUIDs ✨

if the config file is executable then it will be run, and the output will be used as the config file. iconic behaviour honestly πŸ‘‘

the config file is composed of line-based records. blank lines and everything after the hash (#) character are ignored. each line has 6 fields:

[instName] [portGUID] [portNum] via [localPortName]:[localPortNum]

the first field gives a static instance name to the Infiniband port that has a specific GUID. all of the other fields must be properly specified in order to monitor a particular port. no shortcuts, she's strict πŸ’…

for example, to monitor port 1 of the local HCA called 'mthca0', a possible config file line would be:

myPort1 0xdeadbeef01234567 1 via mthca0:1

remote ports can be easily monitored by specifying the GUID of the HCA or switch and specifying the remote port number. the localPortName:localPortNum tuple specifies which local HCA and port to use as the "first hop" in contacting the remote GUID. e.g., to monitor port 13 of a remote switch which is connected to the fabric on the first port of the second HCA:

switch13 0xfeeffeefabcdabcd 13 via mthca1:1

πŸ”₯ 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 ⭐


πŸ‘‘ SEE ALSO πŸ‘‘

PCPIntro(1), pmcd(1), PMAPI(3) and ibnetdiscover(8).


and that's the whole page bestie, you ate it up πŸ’– stay slay, keep your metrics monitored, and remember: never put -w in pmcd.conf 🌸

this one's brought to you by Performance Co-Pilot β€” PCP β€” and it's the PMDAIB(1) page, mwah 🫢

πŸ“¦ where this page comes from