table of contents
| PMIWRITE(3) | Library Functions Manual | PMIWRITE(3) |
NAME¶
pmiWrite, pmiWriteNow - flush data to a LOGIMPORT archive
C SYNOPSIS¶
#include <pcp/pmapi.h>
#include <pcp/import.h>
int pmiWrite(unsigned long long sec, unsigned int
nsec);
int pmiWriteNow(void);
cc ... -lpcp_import -lpcp
Perl SYNOPSIS¶
use PCP::LogImport;
pmiWrite($sec, $nsec);
pmiWriteNow();
Python SYNOPSIS¶
from pcp import pmi
log.pmiWrite(sec, nsec)
DESCRIPTION¶
As part of the Performance Co-Pilot Log Import API (see LOGIMPORT(3)), these routines flush accumulated data values out to the PCP archive.
The data values and associated metadata have previously been built up using calls to pmiAddMetric(3), pmiAddInstance(3), pmiPutValue(3) and pmiPutValueHandle(3).
The current set of data values and any new metadata is written to the archive with the specified timestamp in the source timezone of the archive (see pmiSetTimezone(3)).
pmiWrite accepts a nanosecond-resolution timestamp: seconds since the Unix epoch as a 64-bit unsigned integer (sec) and nanoseconds within that second (nsec). A sec value of zero writes a record with a Unix epoch timestamp (1970-01-01 00:00:00 UTC).
pmiWriteNow writes a record timestamped with the current wall-clock time. In Python, log.pmiWrite(0) (integer zero with no nsec argument) is equivalent to calling pmiWriteNow.
DIAGNOSTICS¶
Returns zero on success, else a negative value that can be turned into an error message by calling pmiErrStr(3).
SEE ALSO¶
LOGIMPORT(3), pmiAddInstance(3), pmiAddMetric(3), pmiErrStr(3), pmiPutValue(3), pmiPutValueHandle(3), pmiPutText(3), pmiPutLabel(3) and pmiSetTimezone(3).
| Performance Co-Pilot |