PMSEMSTR(3)

NAME
pmSemStr, pmSemStr_r - convert a performance metric semantic into a string

C SYNOPSIS
#include <pcp/pmapi.h>

const char *pmSemStr(int sem);
char *pmSemStr_r(int sem, char *buf, int buflen);

cc ... -lpcp

DESCRIPTION
Given a performance metric semantic, pmSemStr produces a terse ASCII equivalent, appropriate for use in error and diagnostic messages. The pmSemStr_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 sem is typically extracted from a structure, following a call to pmLookupDesc(3) for a particular performance metric.

Examples are counter (for sem equals PM_SEM_COUNTER), discrete (for sem equals PM_SEM_DISCRETE), instant (for sem equals PM_SEM_INSTANT), etc.

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

NOTES
pmSemStr returns a pointer to a static buffer and hence is not thread-safe. Multi-threaded applications should use pmSemStr_r instead.

SEE ALSO
PMAPI(3), pmAtomStr(3), pmConvScale(3), pmExtractValue(3), pmLookupDesc(3), pmPrintValue(3), pmIDStr(3), pmInDomStr(3), pmTypeStr(3) and pmUnitsStr(3).