pmgetarchivelabel(3) — Linux manual page

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

PMGETARCHIVELABEL(3)     Library Functions Manual    PMGETARCHIVELABEL(3)

NAME         top

       pmGetArchiveLabel - fetch the label record from a set of
       performance metrics archives

C SYNOPSIS         top

       #include <pcp/pmapi.h>

       int pmGetArchiveLabel(pmLogLabel *lp);

       cc ... -lpcp

DESCRIPTION         top

       Within  the  framework of the Performance Co-Pilot (PCP), archives
       of performance metrics values may be accumulated and  saved  using
       the  program  pmlogger(1)  and the LOGIMPORT(3) programming inter‐
       face.

       The routines pmGetArchiveLabel may be  used  to  fetch  the  label
       record  from  a set of archives that has already been opened using
       pmNewContext(3), or pmDupContext(3), and thereby  associated  with
       the  current Performance Metrics Application Programming Interface
       (PMAPI) context.

       The result returned via the pointer lp is a structure that must be
       pre-allocated by the caller and has the following format  (defined
       in pmapi.h).

         typedef struct {
           int        magic;       /* PM_LOG_MAGIC | archive format version no. */
           pid_t      pid;         /* PID of logger */
           struct timespec start;  /* start of this archive */
           char       hostname[PM_MAX_HOSTNAMELEN];   /* collection host full name */
           char       timezone[PM_MAX_TIMEZONELEN];   /* generic, squashed $TZ */
           char       zoneinfo[PM_MAX_ZONEINFOLEN];   /* local platform $TZ */
         } pmLogLabel;

       pmGetArchiveLabel  can  be used with either version 2 or version 3
       archives, however some mapping may be required with the older ver‐
       sion 2 archives, e.g. the start time only has microsecond  resolu‐
       tion and the zoneinfo field is not present.  For detailed informa‐
       tion about the archive on-disk format, refer to LOGARCHIVE(5).

       For an application using pmGetArchiveLabel, the most useful infor‐
       mation from the archive label is likely to be in the fields start,
       hostname, timezone, and zoneinfo.

       The zoneinfo field contains the most detailed timezone information
       available, and should be used if present (non-zero length string).
       It  will  only  not be present in the case of version 2 archives -
       this is a new field added as part of the version  3  format.   The
       timezone   field  will  always  be  present,  however  it  is  the
       'squashed' timezone value and in certain  situations  is  not  the
       most accurate timezone.

       For  older  applications  using pmGetArchiveLabel, the most useful
       information from the archive label is likely to be in  the  fields
       ll_start,  ll_hostname  or  ll_tz.   Note  that  the  size  of the
       ll_hostname field is PM_LOG_MAXHOSTLEN (64 bytes)  which  is  less
       than  MAXHOSTNAMELEN  (see  gethostbyname(3))  on  some platforms.
       These semantics are necessary to  retain  backwards  compatibility
       with the PCP archive file format.

       pmGetArchiveLabel return zero for success.

COMPATIBILITY         top

       Prior  to  PCP  7.0  and  libpcp.so.4 the pmLogLabel structure was
       somewhat different.  To support PMAPI transition, the  old  inter‐
       face  and  semantics  can  be used if applications are linked with
       libpcp.so.3 or recompiled with -DPMAPI_VERSION=2.

       For a time in PCP 6.x there was a routine with the same  semantics
       as  the  current pmGetArchiveLabel called pmGetHighResArchiveLabel
       and a structure with same definition as pmLogLabel called  pmHigh‐
       ResLogLabel  although  these  are  now deprecated and compile-time
       support for pmGetHighResArchiveLabel and pmHighResLogLabel will be
       removed in a future release.

DIAGNOSTICS         top

       PM_ERR_NOCONTEXT
              the current PMAPI context is either invalid, or not associ‐
              ated with a set of archives

PCP ENVIRONMENT         top

       Environment variables with the prefix PCP_ are used to parameter‐
       ize the file and directory names used by PCP.  On each installa‐
       tion, the file /etc/pcp.conf contains the local values for these
       variables.  The $PCP_CONF variable may be used to specify an al‐
       ternative configuration file, as described in pcp.conf(5).  Values
       for these variables may be obtained programmatically using the
       pmGetConfig(3) function.

SEE ALSO         top

       pmlogger(1), LOGIMPORT(3), PMAPI(3), pmDupContext(3),
       pmGetConfig(3), pmNewContext(3), LOGARCHIVE(5), pcp.conf(5) and
       pcp.env(5).

COLOPHON         top

       This page is part of the PCP (Performance Co-Pilot) project.  In‐
       formation 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
       2025-08-11.  (At that time, the date of the most recent commit
       that was found in the repository was 2025-08-11.)  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               PMGETARCHIVELABEL(3)

Pages that refer to this page: pmgetarchiveend(3)pmgetcontexthostname(3)__pmparsetime(3)pmparsetimewindow(3)pmsetmode(3)