# pmloglabel

## NAME



           **pmloglabel** - check and repair a performance metrics archive label
    


## SYNOPSIS



           **pmloglabel**[**-lLsv?**]  [**-D** _debug_] [**-h** _hostname_] [**-p** _pid_] [**-V**
           _version_] [**-Z** _timezone_] _archive_
    


## DESCRIPTION



           **pmloglabel** verifies, reports on, and can modify all details of the
           labels in each of the files of a Performance Co-Pilot (PCP)
           archive.  The archive has the base name _archive_ and must have been
           previously created using pmlogger(1).
    
           Each of the files in a PCP archive (metadata, temporal index, and
           one or more data volumes) must contain a valid label at the start,
           else the PCP tools will refuse to open the archive at all.
    
           Thus, the primary function of **pmloglabel** is to be able to repair
           any inconsistent or corrupt label fields, such that the entire
           archive is not lost.  It will not check the remainder of the
           archive, but it will give you a fighting chance to recover
           otherwise lost data.  Together, **pmloglabel** and **pmlogextract** are
           able to produce a valid PCP archive from many forms of corruption.
    
           Note that if the temporal index is found to be corrupt, the
           "*.index" file can be safely moved aside and the archive will
           still be accessible, however retrievals may take longer without
           the index.
    


## OPTIONS



           The available command line options are:
    
           **-h** _hostname_ , **--host** =_hostname_
                Modify the logged _hostname_ in the archive label, for all
                files in the archive.
    
           **-l** , **--label**
                Dump out the archive label, showing the archive 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 collected.
    
           **-L** Like **-l** , just a little more verbose, showing also the
                timezone and creator process identifier from the archive
                label.
    
           **-p** _pid_ , **--pid** =_pid_
                Set the process identifier stored in the archive label to
                _pid_ , for all files in the archive.
    
           **-s** Rewrite the sentinel values which precede and follow the
                archive label, for all files in the archive.
    
           **-v** , **--verbose**
                Verbose mode.  Additional progress information is produced at
                each step.
    
           **-V** _version_ , **--version** =_version_
                Stamp the _version_ number into the magic number field at the
                start of the archive label, for all files in the archive.
    
           **-Z** _timezone_ , **--timezone** =_timezone_
                Changes the timezone in the archive labels to _timezone_ in the
                format of the environment variable **TZ** as described in
                environ(7).
    
           **-?** , **--help**
                Display usage message and exit.
    


## EXAMPLES



           The following demonstrates the use of **pmloglabel** in finding and
           then correcting a corrupt field (PID) in the label of the temporal
           index of an archive named "20080125".
    
                     $ pmlogdump -l 20080125
                     pmlogdump: Cannot open archive "20080125": Illegal label record at start of a PCP archive file
                     $ pmloglabel 20080125
                     Mismatched PID (5264/5011) between temporal index and data volume 0
                     $ pmloglabel -p 5264 20080125
                     $ pmlogdump -l 20080125
                     Log Label (Log Format Version 2)
                     Performance metrics from host fw1
                       commencing Fri Jan 25 00:10:09.341 2008
                       ending     Sat Jan 26 00:09:54.344 2008
    


## EXIT STATUS



           **pmloglabel** exits with status 0 if the archive labels are clean.
           If invoked incorrectly, the exit status will be 1.  If corruption
           is detected and still exists at the end, the exit status will be
           2.  If requested to write out the archive labels, and some aspect
           of that write out fails, then the exit status will be 3.
    


## FILES



           _$PCP_LOG_DIR/pmlogger/ <hostname>_
                Default directory for PCP archives containing performance
                metric values collected from the host _< hostname>_.
    


## 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 configuration file, as described in pcp.conf(5).
    


## DEBUGGING OPTIONS



           The **-D** or **--debug** option enables the output of additional
           diagnostics on _stderr_ to help triage problems, although the
           information is sometimes cryptic and primarily intended to provide
           guidance for developers rather end-users.  _debug_ is a comma
           separated list of debugging options; use pmdbg(1) with the **-l**
           option to obtain a list of the available debugging options and
           their meaning.
    


* * *