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

Description

As part of the Performance Metrics Domain Agent (PMDA) API (see PMDA(3)), pmdaPMID is the generic callback for translating a dynamic metric name into a PMID (pmid).

Because implementing dynamic performance metrics requires specific PMDA support, and the facility is an optional component of a PMDA (most PMDAs do not support dynamic performance metrics), pmdaPMID is a skeleton implementation that returns PM_ERR_NAME.

A PMDA that supports dynamic performance metrics will provide a private callback that replaces pmdaPMID (by assignment to version.four.pmid of the pmdaInterface structure) and implements the translation from a dynamic performance metric name into the associated pmid.

Diagnostics

pmdaPMID returns PM_ERR_NAME if the name is not recognized or cannot be translated, else returns 0.

Caveat

The PMDA must be using PMDA_PROTOCOL_4 or later, as specified in the call to pmdaDSO(3) or pmdaDaemon(3).

See Also

PMAPI(3), PMDA(3), pmdaDaemon(3), pmdaDSO(3), pmdaMain(3) and pmLookupName(3).

Referenced By

pmdaGetContext(3).

The man page pmdapmid(3) is an alias of pmdaPMID(3).

PCP Performance Co-Pilot