Scroll to navigation

PMIPUTRESULT(3) Library Functions Manual PMIPUTRESULT(3)


pmiPutResult - add a data record to a LOGIMPORT archive


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

int pmiPutResult(const pmResult *result);

cc ... -lpcp_import -lpcp


As part of the Performance Co-Pilot Log Import API (see LOGIMPORT(3)), pmiPutResult provides an interface for developers familiar with the internal PCP data structures to create output archives directly.

By building the pmResult data structure directly, then calling pmiPutResult the developer avoids calls to pmiPutValue(3) and/or pmiPutValueHandle(3) followed by a call to pmiWrite(3) for each record written to the archive.

Any metrics and instances appearing in the result must have been defined by prior calls to pmiAddMetric(3) and pmiAddInstance(3).

pmiPutResult will arrange for any new metadata (metrics and/or instance domain changes) covered by result to be also written to the PCP archive.

Because of the complexity of the pmResult data structure, this routine is not available in the Perl interface to the LOGIMPORT services.


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


LOGIMPORT(3), PMAPI(3), pmiAddInstance(3), pmiAddMetric(3), pmiErrStr(3), pmiPutValue(3), pmiPutText(3), pmiPutLabel(3), pmiPutValueHandle(3), pmiSetTimezone(3) and pmiWrite(3).

Performance Co-Pilot