summaryrefslogtreecommitdiff
path: root/man/man3/pmgetarchiveend.3
diff options
context:
space:
mode:
Diffstat (limited to 'man/man3/pmgetarchiveend.3')
-rw-r--r--man/man3/pmgetarchiveend.399
1 files changed, 99 insertions, 0 deletions
diff --git a/man/man3/pmgetarchiveend.3 b/man/man3/pmgetarchiveend.3
new file mode 100644
index 0000000..265a602
--- /dev/null
+++ b/man/man3/pmgetarchiveend.3
@@ -0,0 +1,99 @@
+'\"macro stdmacro
+.\"
+.\" Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved.
+.\"
+.\" This program is free software; you can redistribute it and/or modify it
+.\" under the terms of the GNU General Public License as published by the
+.\" Free Software Foundation; either version 2 of the License, or (at your
+.\" option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful, but
+.\" WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+.\" or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+.\" for more details.
+.\"
+.\"
+.TH PMGETARCHIVEEND 3 "PCP" "Performance Co-Pilot"
+.SH NAME
+\f3pmGetArchiveEnd\f1 \- locate logical end of file for an archive log
+.SH "C SYNOPSIS"
+.ft 3
+#include <pcp/pmapi.h>
+.sp
+int pmGetArchiveEnd(struct timeval *\fItvp\fP);
+.sp
+cc ... \-lpcp
+.ft 1
+.SH DESCRIPTION
+Assuming the current PMAPI context
+is associated with an archive log,
+.B 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
+.IR tvp .
+This timestamp may be passed to
+.BR pmSetMode (3)
+to reliably position the context at the last valid
+log record, e.g. in preparation for subsequent reading in
+reverse chronological order.
+.PP
+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
+.BR 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.
+.PP
+.B pmGetArchiveEnd
+returns an error less than zero if the context is neither valid,
+nor associated 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.
+.PP
+In the absence of an error, the result returned via
+.I tvp
+is well-defined.
+.PP
+.BR pmGetArchiveEnd
+preserves the positioning state of the log file prior to
+this function call.
+.SH "PCP ENVIRONMENT"
+Environment variables with the prefix
+.B PCP_
+are used to parameterize the file and directory names
+used by PCP.
+On each installation, the file
+.I /etc/pcp.conf
+contains the local values for these variables.
+The
+.B $PCP_CONF
+variable may be used to specify an alternative
+configuration file,
+as described in
+.BR pcp.conf (5).
+Values for these variables may be obtained programmatically
+using the
+.BR pmGetConfig (3)
+function.
+.SH SEE ALSO
+.BR PMAPI (3),
+.BR pmFetch (3),
+.BR pmFetchArchive (3),
+.BR pmGetArchiveLabel (3),
+.BR pmGetConfig (3),
+.BR pmSetMode (3),
+.BR pcp.conf (5)
+and
+.BR pcp.env (5).
+.SH DIAGNOSTICS
+.IP \f3PM_ERR_NOCONTEXT\f1
+the current PMAPI context
+is either invalid, or not associated with an archive log
+.IP \f3PM_ERR_LOGREC\f1
+the archive is sufficiently damaged, that not a single valid
+record can be found