Man Linux: Main Page and Category List

NAME

       pmnsmerge - merge multiple versions of a Performance Co-Pilot PMNS

SYNOPSIS

       $PCP_BINADM_DIR/pmnsmerge [-adfv] infile [...]  outfile

DESCRIPTION

       pmnsmerge merges multiple instances of a Performance Metrics Name Space
       (PMNS), as used by the components of the Performance Co-Pilot (PCP).

       Each infile argument names a file that includes the root of a PMNS,  of
       the form

                 root {
                     /* arbitrary stuff */
                 }

       The  order in which the infile files are processed is determined by the
       presence or absence of embedded  control  lines  of  the  form  #define
       _DATESTAMP YYYYMMDD

       Files  without a control line are processed first and in the order they
       appear on the command line.  The other  files  are  then  processed  in
       order of ascending _DATESTAMP.

       The  -a  option  suppresses  the argument re-ordering and processes all
       files in the order they appear on the command line.

       The merging proceeds by matching names in PMNS, only those new names in
       each  PMNS  are  considered,  and  these  are  added after any existing
       metrics with the longest possible matching prefix in their names.   For
       example, merging these two input PMNS

                 root {                    root {
                                               surprise  1:1:3
                     mine       1:1:1          mine      1:1:1
                     foo                       foo
                                               yawn
                     yours      1:1:2
                 }                         }
                 foo {                     foo {
                     fumble     1:2:1
                                               mumble    1:2:3
                     stumble    1:2:2          stumble   1:2:2
                 }                         }
                                           yawn {
                                               sleepy    1:3:1
                                           }

       Produces the resulting PMNS in out.

                 root {
                     mine      1:1:1
                     foo
                     yours     1:1:2
                     surprise  1:1:3
                     yawn
                 }
                 foo {
                     fumble    1:2:1
                     stumble   1:2:2
                     mumble    1:2:3
                 }
                 yawn {
                     sleepy    1:3:1
                 }

       To  avoid accidental over-writing of PMNS files, outfile is expected to
       not exist when pmnsmerge starts.  The -f option forces the  removal  of
       outfile (if it exists), before the check is made.

       The -d option allows the resultant PMNS to optionally contain duplicate
       PMIDs with different names in the PMNS.  By default this  condition  is
       considered an error.

       The  -v option produces one line of diagnostic output as each infile is
       processed.

       Once all of the merging has been completed, pmnsmerge will  attempt  to
       compile  the  resultant namespace using pmnscomp(1) - if this fails for
       any reason, outfile will still be created, but  pmnsmerge  will  report
       the problem and exit with non-zero status.

CAVEAT

       Once the writing of the new outfile file has begun, the signals SIGINT,
       SIGHUP and SIGTERM will be ignored to protect the integrity of the  new
       file.

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

SEE ALSO

       pmnsadd(1),   pmnscomp(1),   pmnsdel(1),  pcp.conf(4),  pcp.env(4)  and
       pmns(4).