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

# pmdaPMID(3)

translate a dynamic performance metric name into a PMID

## NAME

**pmdaPMID** - translate a dynamic performance metric name into a PMID

## C SYNOPSIS

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

**int pmdaPMID(char \****name***, pmID \****pmid***, pmdaExt \****pmda***);**

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

## DESCRIPTION

As part of the Performance Metrics Domain Agent (PMDA) API (see [**PMDA**(3)](/PMDA/3.md)), **pmdaPMID** is the generic callback for translating a dynamic metric *name* into a PMID (*pmid*).

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), **pmdaPMID** is a skeleton implementation that returns **PM\_ERR\_NAME**.

A PMDA that supports dynamic performance metrics will provide a private callback that replaces **pmdaPMID** (by assignment to *version.four.pmid* of the *pmdaInterface* structure) and implements the translation from a dynamic performance metric *name* into the associated *pmid*.

## 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

**pmdaPMID** returns **PM\_ERR\_NAME** if the name is not recognized or cannot be translated, else returns 0.

## 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) and [**pmLookupName**(3)](/pmLookupName/3.md).
