pmgetarchiveend(3) — Linux manual page

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

PMGETARCHIVEEND(3)      Library Functions Manual      PMGETARCHIVEEND(3)

NAME         top

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

C SYNOPSIS         top

       #include <pcp/pmapi.h>

       int pmGetArchiveEnd(struct timeval *tp);
       int pmGetHighResArchiveEnd(struct timespec *tp);

       cc ... -lpcp

DESCRIPTION         top

       Assuming the current PMAPI context is associated with a set of
       archives, pmGetArchiveEnd and pmGetHighResArchiveEnd 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) or
       pmSetHighResMode(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 and pmGetHighResArchiveEnd 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-
       defined.

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

DIAGNOSTICS         top

       PM_ERR_NOCONTEXT
              the current PMAPI context is either invalid, or not
              associated 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
       parameterize the file and directory names used by PCP.  On each
       installation, the file /etc/pcp.conf contains the local values
       for these variables.  The $PCP_CONF variable may be used to
       specify an alternative 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), pmGetHighResArchiveLabel(3), pmFetchHighRes(3),
       pmFetchHighResArchive(3), pmSetModeHighRes(3), pmSetMode(3),
       pcp.conf(5) and pcp.env(5).

COLOPHON         top

       This page is part of the PCP (Performance Co-Pilot) project.
       Information 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 2023-12-22.
       (At that time, the date of the most recent commit that was found
       in the repository was 2023-12-16.)  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)