PMIDSTR(3) Library Functions Manual PMIDSTR(3)
NAME
pmIDStr, pmIDStr_r - convert a performance metric identifier into a string
C SYNOPSIS
#include <pcp/pmapi.h>
const char *pmIDStr(pmID pmid);
char *pmIDStr_r(pmID pmid, char *buf, int buflen);
cc ... -lpcp
DESCRIPTION
For use in error and diagnostic messages, pmIDStr returns a `human readable' version of the specified Performance Metric Identifier (PMID).
The pmIDStr_r function does the same, but stores the result in a user-supplied buffer buf of length buflen, which should have room for at
least 20 bytes.
Internally, a PMID is encoded as follows;
typedef struct {
int pad:2;
unsigned int domain:8;
unsigned int cluster:12;
unsigned int item:10;
} __pmID_int;
pmIDStr returns a string with each of the domain, cluster and item subfields appearing as decimal numbers, separated by periods.
The string value result from pmIDStr is held in a single static buffer, so the returned value is only valid until the next call to pmIDStr.
NOTES
pmIDStr returns a pointer to a static buffer and hence is not thread-safe. Multi-threaded applications should use pmIDStr_r instead.
PCP ENVIRONMENT
Environment variables with the prefix PCP_ are used to parameterize the file and directory names used by PCP. On each installation, the
file /etc/pcp.conf contains the local values for these variables. The $PCP_CONF variable may be used to specify an alternative configura-
tion file, as described in pcp.conf(5). Values for these variables may be obtained programmatically using the pmGetConfig(3) function.
SEE ALSO
PMAPI(3), pmGetConfig(3), pmInDomStr(3), pmLookupDesc(3), pcp.conf(5) and pcp.env(5).
Performance Co-Pilot PCP PMIDSTR(3)