PMDANAME(3)

NAME
pmdaName - translate a PMID to a set of dynamic performance metric names

C SYNOPSIS
#include <pcp/pmapi.h>
#include <pcp/pmda.h>

int pmdaName(pmID pmid, char ***nameset, pmdaExt *pmda);

cc ... -lpcp_pmda -lpcp

DESCRIPTION
As part of the Performance Metrics Domain Agent (PMDA) API (see PMDA(3)), pmdaName is the generic callback for translating a pmid into one or more dynamic metric names (nameset).

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), pmdaName is a skeleton implementation that returns PM_ERR_NAME.

A PMDA that supports dynamic performance metrics will provide a private callback that replaces pmdaName (by assignment to version.four.name of the pmdaInterface structure) and implements the translation from a pmid to a set of dynamic performance metric names returned via nameset. The behaviour, return values and memory allocation rules for nameset are the same as for pmNameAll(3).

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

DIAGNOSTICS
pmdaName returns PM_ERR_PMID if the name is not recognized or cannot be translated, otherwise the number of metric names found (most commonly 1).

SEE ALSO
PMAPI(3), PMDA(3), pmdaDaemon(3), pmdaDSO(3), pmdaMain(3), pmNameAll(3) and pmNameID(3).