Scroll to navigation

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 configuration 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).

PCP Performance Co-Pilot