SIMPLE SOLUTIONS

PMGETARCHIVEEND(3) - man page online | library functions

Locate logical end of file for an archive log.

Chapter
PCP
PMGETARCHIVEEND(3)                   Library Functions Manual                  PMGETARCHIVEEND(3)

NAME

pmGetArchiveEnd - locate logical end of file for an archive log

C SYNOPSIS

#include <pcp/pmapi.h> int pmGetArchiveEnd(struct timeval *tvp); cc ... -lpcp

DESCRIPTION

Assuming the current PMAPI context is associated with an archive log, pmGetArchiveEnd will attempt to find the logical end of file (after the last complete record in the archive), and return the last recorded timestamp via tvp. This timestamp may be passed to pmSet‐ Mode(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 pmlog‐ ger(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 asso‐ ciated with an archive, or the archive 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.

PCP ENVIRONMENT

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 config‐ uration file, as described in pcp.conf(5). Values for these variables may be obtained programmatically using the pmGetConfig(3) function.

SEE ALSO

PMAPI(3), pmFetch(3), pmFetchArchive(3), pmGetArchiveLabel(3), pmGetConfig(3), pmSet‐ Mode(3), pcp.conf(5) and pcp.env(5).

DIAGNOSTICS

PM_ERR_NOCONTEXT the current PMAPI context is either invalid, or not associated with an archive log PM_ERR_LOGREC the archive is sufficiently damaged, that not a single valid record can be found
Performance Co-Pilot PCP PMGETARCHIVEEND(3)
This manual Reference Other manuals
pmGetArchiveEnd(3) referred by __pmParseTime(3) | pmParseTimeWindow(3)
refer to pcp.conf(5) | pcp.env(5) | PMAPI(3) | pmFetch(3) | pmFetchArchive(3) | pmGetArchiveLabel(3) | pmGetConfig(3)