pmfetcharchive(3) — Linux manual page


PMFETCHARCHIVE(3)       Library Functions Manual       PMFETCHARCHIVE(3)

NAME         top

       pmFetchArchive, pmFetchHighResArchive - get performance metric
       values directly from archive logs

C SYNOPSIS         top

       #include <pcp/pmapi.h>

       int pmFetchArchive(pmResult **result);
       int pmFetchHighResArchive(pmHighResResult **result);

       cc ... -lpcp

DESCRIPTION         top

       The pmFetchArchive and pmFetchHighResArchive APIs are variants of
       the pmFetch(3) and pmFetchHighRes(3) interfaces that may only be
       used when the current Performance Metrics Application Programming
       Interface (PMAPI) context is associated with a set of archive

       The result is instantiated with all of the metrics (and
       instances) from the next archive record, consequently there is no
       notion of a list of desired metrics, and the instance profile of
       the PMAPI context is ignored.

       pmFetchArchive and pmFetchHighResArchive may return a result in
       which numpmid is zero.  This is a <mark> record that indicates a
       temporal discontinuity in the time series of performance metrics.
       This can happen at the boundary between archive logs in a set or
       if the archive log associated with the current PMAPI context was
       created using pmlogextract(1) to concatenate two or more PCP
       archive logs, and the <mark> record marks a point in time between
       the end of one input archive and the start of the next input

       It is expected that pmFetchArchive and pmFetchHighResArchive will
       be used to create utilities that scan sets of archive logs, while
       the more common access to the archives would be via the pmFetch
       and pmFetchHighRes interfaces.

       To skip records within the set of archive logs, use pmSetMode(3)
       or pmSetModeHighRes(3) to change the collection time within the
       current PMAPI context, then call either pmFetchArchive or

       Note that the result returned by both pmFetchArchive and
       pmFetchHighResArchive is dynamically allocated, and must be
       released using either pmFreeResult(3) or pmFreeHighResResult(3),
       but not free(3).  See pmFetch(3), pmFetchHighRes(3),
       pmFreeResult(3) and pmFreeHighResResult(3) for further details.

       Both pmFetchArchive and pmFetchHighResArchive returns zero on

DIAGNOSTICS         top

              the current PMAPI context is not associated with a set of
              archive logs

SEE ALSO         top

       PMAPI(3), pmFetchHighRes(3), pmSetModeHighRes(3),
       pmFreeHighResResult(3), pmFetch(3), pmFreeResult(3),
       pmNewContext(3), pmSetMode(3) and pmTrimNameSpace(3).

COLOPHON         top

       This page is part of the PCP (Performance Co-Pilot) project.
       Information about the project can be found at 
       ⟨⟩.  If you have a bug report for this manual
       page, send it to  This page was obtained from the
       project's upstream Git repository
       ⟨⟩ on 2023-06-23.
       (At that time, the date of the most recent commit that was found
       in the repository was 2023-06-21.)  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

Performance Co-Pilot               PCP                 PMFETCHARCHIVE(3)

Pages that refer to this page: pcpintro(3)pmfetch(3)pmgetarchiveend(3)pmregisterderived(3)pmsetmode(3)