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

# pmInDomStr(3)

convert a performance metric instance domain identifier into a string

## 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 *pmDesc* structure, following a call to [**pmLookupDesc**(3)](/pmLookupDesc/3.md) for a particular performance metric.

Internally, an instance domain identifier is encoded with two fields: domain and serial.

**pmInDomStr** returns a string with each of the fields 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)](/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), [**pmIDStr**(3)](/pmIDStr/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).
