QmcDesc(3) container for a metric description


#include <QmcDesc.h>

CC ... -lqmc -lpcp


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


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 DBG_TRACE_PMC to the global pmDebug.