QmcDesc - Man Page

container for a metric description

C++ Synopsis

#include <QmcDesc.h>

CC ... -lqmc -lpcp


A QmcDesc object is a container for a metric descriptor (pmDesc, see PMAPI(3)) and units.

Constructors & Destructor



QmcDesc(pmID pmid);

Construct a container for the descriptor for pmid. The descriptor is obtained from the current PMAPI(3) context using pmLookupDesc(3).


int status() const;

A status less than zero indicates that the descriptor could not be obtained, the PMAPI(3) error is encoded in the result.

pmID id() const;

Return the pmID for this descriptor.

pmDesc desc() const;

Return a copy of the actual metric descriptor.

const pmDesc *descPtr() const;

Return a pointer to the actual descriptor to avoid using a pointer to a temporary.


const QString &units() const;

The complete unit string for this descriptor.

const QString &abvUnits() const;

The unit string using abbreviations.

bool useScaleUnits() const;

Returns true if the units have been set by a call to QmcDesc::setScaleUnits.

const pmUnits &scaleUnits() const;

Return the scaling units for this descriptor.

void setScaleUnits(const pmUnits &units);

Set the scaling units for this descriptor.


Error messages are generated using pmprintf(3) but are not flushed. It is the responsibility of the user to call pmflush(3) to output any messages.

Additional diagnostics may be activated by adding the option pmc to the global debugging specification, as described in pmSetDebug(3).

See Also

PMAPI(3), QMC(3), pmflush(3), pmLookupDesc(3) and pmprintf(3).

Referenced By

QMC(3), QmcContext(3), QmcIndom(3).

SGI Performance Co-Pilot