PMINDOMSTR(3)

NAME
pmInDomStr, pmInDomStr_r - convert a performance metric instance domain identifier into a string

C SYNOPSIS
#include <pcp/pmapi.h>

const char *pmInDomStr(pmInDom indom);
char *pmInDomStr_r(pmInDom indom, char *buf, int buflen);

cc ... -lpcp

DESCRIPTION
For use in error and diagnostic messages, pmInDomStr return a 'human readable' version of the specified instance domain identifier. The pmInDomStr_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.

The value for the instance domain indom is typically extracted from a structure, following a call to pmLookupDesc(3) for a particular performance metric.

Internally, an instance domain identifier is encoded as follows;

typedef struct {
    int             pad:2;
    unsigned int    domain:8;        /* the administrative PMD */
    unsigned int    serial:22;       /* unique within PMD */
} __pmInDom_int;

pmInDomStr returns a string with each of the and subfields appearing as decimal numbers, separated by periods.

The string value returned by pmInDomStr is held in a single static buffer, so the returned value is only valid until the next call to pmInDomStr.

NOTES
pmInDomStr returns a pointer to a static buffer and hence is not thread-safe. Multi-threaded applications should use pmInDomStr_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), pmIDStr(3), pmTypeStr(3), pmSemStr(3), pmUnitsStr(3), pmLookupDesc(3), pcp.conf(5) and pcp.env(5).