|
NAME | C SYNOPSIS | DESCRIPTION | PCP ENVIRONMENT | SEE ALSO | DIAGNOSTICS | COLOPHON |
|
PMGETARCHIVEEND(3) Library Functions Manual PMGETARCHIVEEND(3)
pmGetArchiveEnd - locate logical end of file for a set of archive
logs
#include <pcp/pmapi.h>
int pmGetArchiveEnd(struct timeval *tvp);
cc ... -lpcp
Assuming the current PMAPI context is associated with a set of
archive logs, 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 tvp. This timestamp may be
passed to pmSetMode(3) to reliably position the context at the last
valid log record, e.g. in preparation for subsequent reading in
reverse chronological order.
For archive logs that are not concurrently being written, the
physical end of file and the logical end of file are co-incident.
However if an archive log 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 returns 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 tvp is well-
defined.
pmGetArchiveEnd preserves the positioning state of the log file prior
to this function call.
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.
PMAPI(3), pmFetch(3), pmFetchArchive(3), pmGetArchiveLabel(3),
pmGetConfig(3), pmSetMode(3), pcp.conf(5) and pcp.env(5).
PM_ERR_NOCONTEXT
the current PMAPI context is either invalid, or not associated
with an set of archive logs
PM_ERR_LOGREC
the set of archives is sufficiently damaged, that not a single
valid record can be found
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
2018-02-02. (At that time, the date of the most recent commit that
was found in the repository was 2018-02-02.) 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)