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

# pmdaName(3)

translate a PMID to a set of dynamic performance metric names

## NAME

**pmdaName** - translate a PMID to a set of dynamic performance metric names

## C SYNOPSIS

**#include \<pcp/pmapi.h\>**\
 **#include \<pcp/pmda.h\>**

**int pmdaName(pmID** *pmid***, char \*\*\****nameset***, pmdaExt \****pmda***);**

**cc ... -lpcp\_pmda -lpcp**

## DESCRIPTION

As part of the Performance Metrics Domain Agent (PMDA) API (see [**PMDA**(3)](/PMDA/3.md)), **pmdaName** is the generic callback for translating a *pmid* into one or more dynamic metric names (*nameset*).

Because implementing dynamic performance metrics requires specific PMDA support, and the facility is an optional component of a PMDA (most PMDAs do **not** support dynamic performance metrics), **pmdaName** is a skeleton implementation that returns **PM\_ERR\_NAME**.

A PMDA that supports dynamic performance metrics will provide a private callback that replaces **pmdaName** (by assignment to *version.four.name* of the *pmdaInterface* structure) and implements the translation from a *pmid* to a set of dynamic performance metric names returned via *nameset*. The behaviour, return values and memory allocation rules for *nameset* are the same as for [**pmNameAll**(3)](/pmNameAll/3.md).

## CAVEAT

The PMDA must be using **PMDA\_INTERFACE\_4** or later, as specified in the call to [**pmdaDSO**(3)](/pmdaDSO/3.md) or [**pmdaDaemon**(3)](/pmdaDaemon/3.md).

## DIAGNOSTICS

**pmdaName** returns **PM\_ERR\_PMID** if the name is not recognized or cannot be translated, otherwise the number of metric names found (most commonly 1).

## SEE ALSO

[**PMAPI**(3)](/PMAPI/3.md), [**PMDA**(3)](/PMDA/3.md), [**pmdaDaemon**(3)](/pmdaDaemon/3.md), [**pmdaDSO**(3)](/pmdaDSO/3.md), [**pmdaMain**(3)](/pmdaMain/3.md), [**pmNameAll**(3)](/pmNameAll/3.md) and [**pmNameID**(3)](/pmNameID/3.md).
