PMDASENDERROR(3)
π PMDASENDERROR π
okay bestie, welcome to the PMDASENDERROR page from the Library Functions Manual β it's short, it's sweet, and it's literally the "hey PMCD, I'm awake!!" button. let's get into it π«Ά
β¨ NAME β¨
pmdaSendError β send an error PDU to PMCD πΈ
β¨ C SYNOPSIS β¨
#include <pcp/pmapi.h>
#include <pcp/pmda.h>
void pmdaSendError(pmdaInterface *dispatch, int err);
cc ... -lpcp_pmda -lpcp
so like, you grab those two headers, you call pmdaSendError() with a pmdaInterface *dispatch and an int err, and you link against -lpcp_pmda and -lpcp. that's the whole vibe π
β¨ PYTHON SYNOPSIS β¨
from pcp.pmda import PMDA
PMDA.pmda_notready()
PMDA.pmda_ready()
python girlies, you don't even touch pmdaSendError directly β you get these two cutie methods instead. no cap. π
β¨ DESCRIPTION β¨
okay so as part of the Performance Metrics Domain Agent (PMDA) API (peep PMDA(3) for the full lore), this routine lets a PMDA send an error PDU over to PMCD. π¨
and likeβ¦ there's presently only one use for this β it's so the PMDA can tell PMCD that it is ready (or not ready) to process requests. that's it. that's the whole job. iconic behavior honestly π
the protocol details live in pmcd(1) and PMDA(3), but basically: if a PMDA starts in the notready state (which may be specified in pmcd.conf, see pmcd(1)), then PMCD will not send it any requests until the PMDA sends an PM_ERR_PMDAREADY error PDU using this function. like, PMCD is respectfully waiting for the text back. π΅
and why would you ever want that?? because a PMDA might have a long startup time, e.g. to process a large configuration file or similar. so you go notready β do your little startup ritual β then hit it with the ready PDU and everyone's happy. πβ¨
fr fr, if you forget to send that PM_ERR_PMDAREADY, PMCD just keeps ignoring you. awkward. π
β¨ SEE ALSO β¨
and that's the page, bestie!! this little baddie comes to you from Performance Co-Pilot β the PCP girlies β and it's filed under PMDASENDERROR(3). go forth and send your error PDUs responsibly πππ¦
π¦ 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) 2018 Red Hat, Inc. All Rights Reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms