pmiwrite(3) — Linux manual page

NAME | C SYNOPSIS | Perl SYNOPSIS | Python SYNOPSIS | DESCRIPTION | DIAGNOSTICS | SEE ALSO | COLOPHON

PMIWRITE(3)              Library Functions Manual             PMIWRITE(3)

NAME         top

       pmiWrite, pmiWriteNow - flush data to a LOGIMPORT archive

C SYNOPSIS         top

       #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         top

       use PCP::LogImport;

       pmiWrite($sec, $nsec);
       pmiWriteNow();

Python SYNOPSIS         top

       from pcp import pmi

       log.pmiWrite(sec, nsec)

DESCRIPTION         top

       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         top

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

SEE ALSO         top

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

COLOPHON         top

       This  page is part of the PCP (Performance Co-Pilot) project.  In‐
       formation about the project can be found at  ⟨http://www.pcp.io/⟩.
       If  you  have  a  bug  report  for  this  manual  page, send it to
       pcp@groups.io.  This page was obtained from the project's upstream
       Git repository ⟨https://github.com/performancecopilot/pcp.git⟩  on
       2026-08-04.   (At  that  time,  the date of the most recent commit
       that was found in the repository was 2026-08-04.)  If you discover
       any rendering problems in this HTML version of the  page,  or  you
       believe  there is a better or more up-to-date source for the page,
       or you have corrections or improvements to the information in this
       COLOPHON (which is not part of the original manual page),  send  a
       mail to man-pages@man7.org

Performance Co-Pilot                                          PMIWRITE(3)

Pages that refer to this page: logimport(3)pmiputlabel(3)pmiputmark(3)pmiputresult(3)pmiputtext(3)pmiputvalue(3)pmiputvaluehandle(3)pmisetimportprogram(3)pmisetvolumesize(3)pmistart(3)