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  Met­
       rics  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 pro­
       cesses  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
                                           }


                 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 con­
       tain 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 pmn­
       scomp(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 pro­
       tect 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).


Man(1) output converted with man2html