QMCMETRIC(3) | Library Functions Manual | QMCMETRIC(3) |
QmcMetric - container for a metric and all its values
#include <pcp/pmc/Metric.h>
CC ... -lpcp_pmc -lpcp
A QmcMetric object is a container for a single metric and all its values.
The QmcMetricValue structure is used to hold the instance index, values and errors of each instance. In the case of a singular metric, a single QmcMetricValue object is used.
A QmcMetric object consists of a list of QmcMetricValue objects, indexes to the descriptors in the metric's QmcGroup and QmcContext and flags to indicate if the instances are explicit or implicit, and if only active metrics are required after QmcMetric::updateIndom is called.
Metrics should be constructed through the QmcGroup::addMetric methods as this will ensure that the references to the metric's context, descriptor and instance domain are correctly initialized.
For metrics with an instance domain it is possible to add and remove any instance, and also update the instance list to reflect changes in a dynamic instance domain.
The ordering of instances may change as a result of this call. Instances that already existed will keep their current and previous values and errors, even if they are in a different order.
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).
PMAPI(3), QMC(3), QMC_Context(3), QMC_Group(3), pmflush(3) and pmprintf(3).
SGI | Performance Co-Pilot |