1PMGETARCHIVEEND(3)         Library Functions Manual         PMGETARCHIVEEND(3)
2
3
4

NAME

6       pmGetArchiveEnd,  pmGetHighResArchiveEnd  -  locate logical end of file
7       for a set of archive logs
8

C SYNOPSIS

10       #include <pcp/pmapi.h>
11
12       int pmGetArchiveEnd(struct timeval *tp);
13       int pmGetHighResArchiveEnd(struct timespec *tp);
14
15       cc ... -lpcp
16

DESCRIPTION

18       Assuming the current PMAPI context is associated with a set of  archive
19       logs,  pmGetArchiveEnd  and pmGetHighResArchiveEnd will attempt to find
20       the logical end of file (after the last complete record in the  set  of
21       archives),  and  return the last recorded timestamp via tp.  This time‐
22       stamp may be passed to pmSetMode(3) or pmSetHighResMode(3) to  reliably
23       position  the context at the last valid log record, e.g. in preparation
24       for subsequent reading in reverse chronological order.
25
26       For archive logs that are not concurrently being written, the  physical
27       end of file and the logical end of file are co-incident.  However if an
28       archive log is being written by pmlogger(1) at the same time an  appli‐
29       cation  is  trying  to read the archive, the logical end of file may be
30       before the physical end of file due to  write  buffering  that  is  not
31       aligned with the logical record boundaries.
32
33       pmGetArchiveEnd  and  pmGetHighResArchiveEnd  return an error less than
34       zero if the context is neither valid, nor associated with a set of  ar‐
35       chives,  or the set of archives is seriously corrupted.  Otherwise, the
36       return value is 0 if there has been no change of state since  the  last
37       call, or 1 if the logical end of file has advanced since the last call.
38
39       In the absence of an error, the result returned via tp is well-defined.
40
41       Both  pmGetArchiveEnd and pmGetHighResArchiveEnd preserve the position‐
42       ing state of the log file prior to this function call.
43

DIAGNOSTICS

45       PM_ERR_NOCONTEXT
46              the current PMAPI context is either invalid, or  not  associated
47              with an set of archive logs
48
49       PM_ERR_LOGREC
50              the  set  of archives is sufficiently damaged, that not a single
51              valid record can be found
52

PCP ENVIRONMENT

54       Environment variables with the prefix PCP_ are used to parameterize the
55       file  and  directory names used by PCP.  On each installation, the file
56       /etc/pcp.conf contains the  local  values  for  these  variables.   The
57       $PCP_CONF  variable may be used to specify an alternative configuration
58       file, as described in pcp.conf(5).  Values for these variables  may  be
59       obtained programmatically using the pmGetConfig(3) function.
60

SEE ALSO

62       PMAPI(3),  pmFetch(3),  pmFetchArchive(3), pmGetArchiveLabel(3), pmGet‐
63       Config(3), pmGetHighResArchiveLabel(3), pmFetchHighRes(3), pmFetchHigh‐
64       ResArchive(3),   pmSetModeHighRes(3),   pmSetMode(3),  pcp.conf(5)  and
65       pcp.env(5).
66
67
68
69Performance Co-Pilot                  PCP                   PMGETARCHIVEEND(3)
Impressum