NAME¶
pmNameAll - translate a PMID to a set of performance metric names
C SYNOPSIS¶
#include <pcp/pmapi.h>
int pmNameAll(pmID pmid, char ***nameset);
cc ... -lpcp
DESCRIPTION¶
Given a Performance Metric ID (PMID) via
pmid,
pmNameAll will
determine all the corresponding metric names, if any, in the Performance
Metrics Name Space (PMNS), and return these via
nameset.
The resulting list of pointers
nameset and the values (the
relative names) that the pointers reference will have been allocated by
pmNameAll with a single call to
malloc(3C), and it is the
responsibility of the
pmNameAll caller to
free(nameset) to
release the space when it is no longer required.
In the absence of errors,
pmNameAll returns the number of names in
nameset.
For many examples of a PMNS, there will be a 1:1 mapping between a name and a
PMID, and under these circumstances,
pmNameID(3) provides a slightly
simpler interface in the absence of duplicate names for a particular PMID.
SEE ALSO¶
PMAPI(3),
pmGetChildren(3),
pmGetChildrenStatus(3),
pmGetConfig(3),
pmLoadASCIINameSpace(3),
pmLoadNameSpace(3),
pmLookupName(3),
pmNameID(3),
pmNewContext(3),
pcp.conf(5),
pcp.env(5) and
pmns(5).
DIAGNOSTICS¶
- PM_ERR_NOPMNS
- Failed to access a PMNS for operation. Note that if the application hasn't
a priori called pmLoadNameSpace(3) and wants to use the distributed
PMNS, then a call to pmNameAll must be made after the creation of a
context (see pmNewContext(3)).
- PM_ERR_PMID
- pmid does not correspond to a defined PMID in the PMNS.
- PM_ERR_*
- Other diagnostics are for protocol failures when accessing the distributed
PMNS.