pmfetcharchive(3) — Linux manual page


PMFETCHARCHIVE(3)       Library Functions Manual       PMFETCHARCHIVE(3)

NAME         top

       pmFetchArchive, pmFetchHighResArchive - get performance metric
       values directly from archives

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 archives.

       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 archives in a set or if
       the archive associated with the current PMAPI context was created
       using pmlogextract(1) to concatenate two or more PCP archives,
       and the <mark> record marks a point in time between the end of
       one input archive and the start of the next input archive.

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

       To skip records within the set of archives, 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

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 2024-06-14.
       (At that time, the date of the most recent commit that was found
       in the repository was 2024-06-14.)  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)