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

# pmiExtraUnits(3)

construct core metric data structures

Part of [pmiUnits(3)](/pmiUnits/3.md).

## NAME

**pmiUnits**, **pmiExtraUnits**, **pmiID**, **pmiInDom** - construct core metric data structures

## C SYNOPSIS

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

**pmID pmiID(int** *domain***, int** *cluster***, int** *item***);**\
 **pmInDom pmiInDom(int** *domain***, int** *serial***);**\
 **pmUnits pmiUnits(int** *dimSpace***,** **int** *dimTime***,** **int** *dimCount***,** **unsigned int** *scaleSpace***,** **unsigned int** *scaleTime***,** **unsigned int** *scaleCount***);**\
 **pmUnits pmiExtraUnits(int** *dimSpace***,** **int** *dimTime***,** **int** *dimCount***,** **unsigned int** *scaleSpace***,** **unsigned int** *scaleTime***,** **unsigned int** *scaleCount***,** **int** *extraUnit***,** **unsigned int** *extraScale***);**

**cc ... -lpcp\_import -lpcp**

## Perl SYNOPSIS

**use PCP::LogImport;**

**$pmid = pmiID($***domain***, $***cluster***, $***item***);**\
 **$indom = pmiInDom($***domain***, $***serial***);**\
 **$units = pmiUnits($***dimSpace***,** **$***dimTime***,** **$***dimCount***,** **$***scaleSpace***,** **$***scaleTime***,** **$***scaleCount***);**\
 **$units = pmiExtraUnits($***dimSpace***,** **$***dimTime***,** **$***dimCount***,** **$***scaleSpace***,** **$***scaleTime***,** **$***scaleCount***,** **$***extraUnit***,** **$***extraScale***);**

## Python SYNOPSIS

**from pcp import pmi**

*pmid* **= pmi.pmiLogImport.pmiID(***domain***,** *cluster***,** *item***)**\
 *indom* **= pmi.pmiLogImport.pmiInDom(***domain***,** *serial***)**\
 *units* **= pmi.pmiLogImport.pmiUnits(***dim\_space***,** *dim\_time***,** *dim\_count***,** *scale\_space***,** *scale\_time***,** *scale\_count***)**

## DESCRIPTION

As part of the Performance Co-Pilot Log Import API (see [**LOGIMPORT**(3)](/LOGIMPORT/3.md)), these routines provide convenience methods (especially for script use) for constructing **pmID**, **pmInDom** and **pmUnits** structures respectively, to be used in subsequent calls to [**pmiAddMetric**(3)](/pmiAddMetric/3.md) and [**pmiAddInstance**(3)](/pmiAddInstance/3.md).

Refer to [**pmLookupDesc**(3)](/pmLookupDesc/3.md) for a complete description of the values and semantics of the components of a **pmUnits** structure, and hence the valid argument values for **pmiUnits** and **pmiExtraUnits**.

## SEE ALSO

[**LOGIMPORT**(3)](/LOGIMPORT/3.md), [**pmiAddMetric**(3)](/pmiAddMetric/3.md), [**pmiAddInstance**(3)](/pmiAddInstance/3.md) and [**pmLookupDesc**(3)](/pmLookupDesc/3.md).
