Scroll to navigation

PMIPUTVALUE(3) Library Functions Manual PMIPUTVALUE(3)


pmiPutValue - add a value for a metric-instance pair


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

int pmiPutValue(const char *name, const char *instance, const char *value);

cc ... -lpcp_import -lpcp


use PCP::LogImport;

pmiPutValue($name, $instance, $value);


As part of the Performance Co-Pilot Log Import API (see LOGIMPORT(3)), pmiPutValue adds a single value to the current output record for a given metric and instance.

The metric's name should match one defined earlier in a call to pmiAddMetric(3).

For singular metrics (those defined with an instance domain of PM_INDOM_NULL), the instance should be NULL or an empty string, otherwise instance should match the name of an instance defined earlier in a call to pmiAddInstance(3) for the metric's instance domain.

The value should be in a format consistent with the metric's type as defined in the call to pmiAddMetric(3).

No data will be written until pmiWrite(3) is called, so multiple calls to pmiPutValue or pmiPutValueHandle(3) are typically used to accumulate data values for several metric-instance pairs before calling pmiWrite(3).


pmiPutValue returns zero on success else a negative value that can be turned into an error message by calling pmiErrStr(3).


LOGIMPORT(3), pmiAddInstance(3), pmiAddMetric(3), pmiErrStr(3), pmiPutResult(3), pmiPutValueHandle(3), pmiPutText(3), pmiPutLabel(3) and pmiWrite(3).

Performance Co-Pilot