pmgetarchiveend(3) — Linux manual page

NAME | C SYNOPSIS | DESCRIPTION | COMPATIBILITY | DIAGNOSTICS | PCP ENVIRONMENT | SEE ALSO | COLOPHON

PMGETARCHIVEEND(3)       Library Functions Manual      PMGETARCHIVEEND(3)

NAME         top

       pmGetArchiveEnd - locate logical end of file for a set of archives

C SYNOPSIS         top

       #include <pcp/pmapi.h>

       int pmGetArchiveEnd(struct timespec *tp);

       cc ... -lpcp

DESCRIPTION         top

       Assuming  the  current  PMAPI  context is associated with a set of
       archives, pmGetArchiveEnd will attempt to find the logical end  of
       file  (after the last complete record in the set of archives), and
       return the last recorded timestamp via tp.  This timestamp may  be
       passed  to  pmSetMode(3)  to  reliably position the context at the
       last valid archive record,  e.g.  in  preparation  for  subsequent
       reading in reverse chronological order.

       For archives that are not concurrently being written, the physical
       end  of file and the logical end of file are co-incident.  However
       if an archive is being written by pmlogger(1) at the same time  an
       application is trying to read the archive, the logical end of file
       may be before the physical end of file due to write buffering that
       is not aligned with the logical record boundaries.

       pmGetArchiveEnd  return  an error less than zero if the context is
       neither valid, nor associated with a set of archives, or  the  set
       of  archives  is seriously corrupted.  Otherwise, the return value
       is 0 if there has been no change of state since the last call,  or
       1 if the logical end of file has advanced since the last call.

       In the absence of an error, the result returned via tp is well-de‐
       fined.

       Both pmGetArchiveEnd preserve the positioning state of the archive
       file prior to this function call.

COMPATIBILITY         top

       Prior  to  PCP  7.0  and  libpcp.so.4 the tp argument was a struct
       timeval.  To support PMAPI transition, the old interface  and  se‐
       mantics can be used if applications are linked with libpcp.so.3 or
       recompiled with -DPMAPI_VERSION=2.

       For  a time in PCP 6.x there was a routine with the same semantics
       as the current pmGetArchiveEnd called pmGetHighResArchiveEnd,  al‐
       though this is now deprecated and compile-time support for pmGetH‐
       ighResArchiveEnd will be removed in a future release.

DIAGNOSTICS         top

       PM_ERR_NOCONTEXT
              the current PMAPI context is either invalid, or not associ‐
              ated with a set of archives

       PM_ERR_LOGREC
              the set of archives is sufficiently damaged, that not a
              single valid record can be found

PCP ENVIRONMENT         top

       Environment variables with the prefix PCP_ are used to parameter‐
       ize the file and directory names used by PCP.  On each installa‐
       tion, the file /etc/pcp.conf contains the local values for these
       variables.  The $PCP_CONF variable may be used to specify an al‐
       ternative configuration file, as described in pcp.conf(5).  Values
       for these variables may be obtained programmatically using the
       pmGetConfig(3) function.

SEE ALSO         top

       PMAPI(3), pmFetch(3), pmFetchArchive(3), pmGetArchiveLabel(3),
       pmGetConfig(3), pmSetMode(3), pcp.conf(5) and pcp.env(5).

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
       2025-08-11.  (At that time, the date of the most recent commit
       that was found in the repository was 2025-08-11.)  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               PCP                 PMGETARCHIVEEND(3)

Pages that refer to this page: __pmparsetime(3)pmparsetimewindow(3)pmsetmode(3)