PMDAPMID(3)
π pmdaPMID(3) β the library-functions-manual bestie page π
okay so. this is pmdaPMID(3), straight out of the Library Functions Manual, and it's here to help you turn a dynamic performance metric name into a PMID. yes bestie, that's the whole job. let's get into it π¦
β¨ NAME β¨
pmdaPMID β translate a dynamic performance metric name into a PMID
πΈ C SYNOPSIS πΈ
#include <pcp/pmapi.h>
#include <pcp/pmda.h>
int pmdaPMID(char *name, pmID *pmid, pmdaExt *pmda);
cc ... -lpcp_pmda -lpcp
like. look at her. so compact. so clean. an icon π
π DESCRIPTION π
so here's the tea, bestie π« β as part of the Performance Metrics Domain Agent (PMDA) API (peep PMDA(3) for the full lore), pmdaPMID is the generic callback for translating a dynamic metric name into a PMID (pmid). that's the assignment. that's the mission. main character energy only π
but now for the plot twist π β implementing dynamic performance metrics needs specific PMDA support, and the whole facility is an optional component of a PMDA. and ngl, most PMDAs do not support dynamic performance metrics. so pmdaPMID is just a skeleton implementation that returns PM_ERR_NAME. it's giving placeholder. it's giving "we'll get to it". π
a PMDA that does support dynamic performance metrics will roll up with a private callback that replaces pmdaPMID β by assignment to version.four.pmid of the pmdaInterface structure β and that one actually implements the translation from a dynamic performance metric name into the associated pmid. periodt π
β οΈ CAVEAT β οΈ
the PMDA must be usingPMDA_INTERFACE_4or later, as specified in the call topmdaDaemon(3)orpmdaDSO(3). no cap, this is not optional. if you're on an older interface, it's over for you π
π₯ DIAGNOSTICS π₯
pmdaPMID returns PM_ERR_NAME if the name is not recognized or cannot be translated. otherwise? it returns 0. slay β¨
π SEE ALSO π
and that's the whole page bestie π this one came to you from Performance Co-Pilot (that's the PCP gang, iykyk), filed under PMDAPMID(3). go forth, translate those dynamic metric names, and remember: skeleton implementations are still valid. we love a placeholder that knows what it is ππ¦β¨
π¦ 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
- centos-stream 10: pcp-doc 7.1.5-6.el10 Β· GPL-2.0-or-later AND CC-BY-3.0
- fedora 43: pcp-doc 7.0.1-1.fc43 Β· GPL-2.0-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.1.0-6.fc44 Β· 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 resolute: libpcp-pmda3-dev 7.1.1-1
- ubuntu stonking: libpcp-pmda3-dev 7.2.1-2build1
- Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved
- Copyright (c) 2009 Ken McDonell. All Rights Reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms