NAME

       pmTrimNameSpace - prune a performance metrics name space


C SYNOPSIS

       #include <pcp/pmapi.h>

       int pmTrimNameSpace()

       cc ... -lpcp


DESCRIPTION

       If the current Performance Metrics Application Programming
       Interface (PMAPI)  context  corresponds  to  a  version  1
       archive log of Performance Co-Pilot (PCP) performance met­
       rics (as collected by pmlogger(1) -V1), then the currently
       loaded  Performance  Metrics Name Space (PMNS), is trimmed
       to exclude metrics for which no description can  be  found
       in  the  archive.   The  PMNS is further trimmed to remove
       empty subtrees that do not contain any performance metric.

       Since PCP archives usually contain some subset of all met­
       rics named in the  default  PMNS,  pmTrimNameSpace  effec­
       tively  trims  the  application's PMNS to contain only the
       names of the metrics in the archive.

       Since PCP 2.0, pmTrimNameSpace is only needed for  dealing
       with  version  1  archives.   Version  2 archives actually
       store the "trimmed" PMNS.

       Prior to any trimming, the PMNS is restored to  the  state
       as  of  the completion of the last pmLoadASCIINameSpace(3)
       or pmLoadNameSpace(3) or implicit load (in the case  of  a
       host  with a version 1 Performance Metric Collector Daemon
       (PMCD)) operation, so the effects of consecutive calls  to
       pmTrimNameSpace with archive contexts are not additive.

       If the current PMAPI context corresponds to a host, rather
       than an archive, and the host has a version 1  pmcd  or  a
       pmLoadASCIINameSpace(3)  or  pmLoadNameSpace(3)  call  was
       made, then the PMNS reverts to all names loaded  into  the
       PMNS at the completion of the last pmLoadASCIINameSpace(3)
       or pmLoadNameSpace(3) or implicit load operation, i.e. any
       trimming is undone.

       On success, pmTrimNameSpace returns zero.


SEE ALSO

       pmlogger(1),  PMAPI(3),  pmLoadASCIINameSpace(3),  pmLoad­
       NameSpace(3), pmNewContext(3) and pmns(4).


DIAGNOSTICS


              you must have loaded a PMNS using pmLoadASCIINameS­
              pace(3)   or   pmLoadNameSpace(3)   before  calling
              pmTrimNameSpace

       PM_ERR_NOCONTEXT
              the current PMAPI context is invalid


Man(1) output converted with man2html