PMLOGCHECK(1)              General Commands Manual             PMLOGCHECK(1)

NAME         top

       pmlogcheck - checks for invalid data in a PCP archive

SYNOPSIS         top

       pmlogcheck [-lmwz] [-n pmnsfile] [-S start] [-T finish] [-Z timezone]

DESCRIPTION         top

       pmlogcheck prints information about the nature of any invalid data
       which it detects in the files of a PCP archive.

       The archive has the base name archive and must have been previously
       created using pmlogger(1).

       Normally pmlogcheck operates on the default Performance Metrics Name
       Space (PMNS(5)), however if the -n option is specified an alternative
       namespace is loaded from the file pmnsfile.

       The command line options -S and -T can be used to specify a time
       window over which metrics should be checked in Pass 3 (see below).
       These options are common to many Performance Co-Pilot tools and are
       fully described in PCPIntro(1).

       The -l option prints the archive label, showing the log format
       version, the time and date for the start and (current) end of the
       archive, and the host from which the performance metrics values were

       The -m option skips Pass 3 (see below) and only checks the archive
       meta data.  This can run substantially faster in cases where the
       volume data doesn't need to be checked, especially on archives with
       compressed data volume(s).

       By default, pmlogcheck reports the time of day according to the local
       timezone on the system where pmlogcheck is run.  The -Z option
       changes the timezone to timezone in the format of the environment
       variable TZ as described in environ(7).  The -z option changes the
       timezone to the local timezone at the host that is the source of the
       performance metrics, as specified in the label record of the archive

       The checking proceeds in a number of passes, each designed to
       validate progressively more complex semantic relationships between
       the information in a PCP archive.

Pass 0         top

       Each physical file of the PCP archive is processed to ensure the
       label records are valid and consistent, and that each file contains
       an integral number of physical records with correct header and
       trailer fields.

       Any errors at this stage are usually fatal.  The PCP archive is
       probably damaged beyond repair, and no more passes of pmlogcheck are

Pass 1         top

       Validates the integrity of the temporal index, usually archive.index.

       As the temporal index is (strictly speaking) optional, errors at this
       stage are handled by marking the index as bad and ignoring it for the
       remainder of the pmlogcheck passes.

       Permanent repair can be achieved by removing the temporal index file
       and then making a copy of the PCP archive using pmlogrewrite(1) or
       pmlogextract(1).  This will create a new temporal index for the
       copied archive as a side-effect.

Pass 2         top

       Validates the integrity of the metadata file, usually archive.meta.

Pass 3         top

       Validates the integrity of each of the log volumes of the PCP
       archive, usually archive.0, archive.1, etc.

       There is some basic integrity checks to ensure the encoding of values
       for each metric remains consistent and the values are well formed
       across all the observations in the archive.

       Also the timestamps for the observations are expected to be
       monotonically increasing as the archive is tranversed.

       Additional attention is given to counter metrics (type from
       pmLookupDesc(3) is PM_SEM_COUNTER) which are expected to have
       monotonically increasing values.  If the values are not monotonic
       increasing this may suggest a counter wrap has happened or there has
       been some interruption or reset to the underlying source of the
       performance data that is no captured in the archive.

       For each counter metric which has been detected as having wrapped at
       some point in the archive, pmlogcheck produces output describing the
       metric name (with instance identifiers where appropriate), the
       internal storage type for the metric, the value of the metric before
       the counter wrap (with its associated timestamp), and the value of
       the metric after the wrap (also with a timestamp).

       The -w option may be used to suppress reporting of counter wraps.

       pmlogcheck produces two different timestamp formats, depending on the
       interval over which it is run.  For an interval greater than 24
       hours, the date is displayed in addition to the time at which the
       counter wrap occurred.  If the extent of the data being checked is
       less than 24 hours, a more precise format is used (time is displayed
       with millisecond precision, but without the date).

FILES         top

                 default PMNS specification files
                 default directory for PCP archives containing performance
                 data collected from the host hostname.


       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).

SEE ALSO         top

       PCPIntro(1), pmdumplog(1), pmlogextract(1), pmlogger(1),
       pmlogrewrite(1), pmlogsummary(1), pmval(1), pmLookupDesc(3),
       pcp.conf(5), pcp.env(5) and PMNS(5).

DIAGNOSTICS         top

       All are generated on standard error and are intended to be self-

COLOPHON         top

       This page is part of the PCP (Performance Co-Pilot) project.
       Information about the project can be found at ⟨⟩.
       If you have a bug report for this manual page, send it to  This page was obtained from the project's upstream
       Git repository ⟨⟩ on
       2019-09-26.  (At that time, the date of the most recent commit that
       was found in the repository was 2019-09-26.)  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

Performance Co-Pilot                 PCP                       PMLOGCHECK(1)

Pages that refer to this page: pmdumplog(1)pmloglabel(1)pmlogsize(1)