---
name: "pmIDStr"
section: "3"
platform: "linux"
package: "pcp"
version: "7.2.2-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/pmIDStr"
---

# pmIDStr(3)

convert a performance metric identifier into a string

## 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 with three fields: domain, cluster and item. **pmIDStr** returns a string with each of the fields 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)](/pcp.conf/5.md). Values for these variables may be obtained programmatically using the [**pmGetConfig**(3)](/pmGetConfig/3.md) function.

## SEE ALSO

[**PMAPI**(3)](/PMAPI/3.md), [**pmGetConfig**(3)](/pmGetConfig/3.md), [**pmInDomStr**(3)](/pmInDomStr/3.md), [**pmTypeStr**(3)](/pmTypeStr/3.md), [**pmSemStr**(3)](/pmSemStr/3.md), [**pmUnitsStr**(3)](/pmUnitsStr/3.md), [**pmLookupDesc**(3)](/pmLookupDesc/3.md), [**pcp.conf**(5)](/pcp.conf/5.md) and [**pcp.env**(5)](/pcp.env/5.md).
