Provided by: libpcp3-dev_3.5.11_amd64 bug

NAME

       pmTrimNameSpace - prune a performance metrics name space

C SYNOPSIS

       #include <pcp/pmapi.h>

       int pmTrimNameSpace(void);

       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  metrics
       (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 metrics named in the  default  PMNS,
       pmTrimNameSpace  effectively 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),  pmLoadNameSpace(3),  pmNewContext(3)  and
       pmns(4).

DIAGNOSTICS

       PM_ERR_NOPMNS
              you  must  have  loaded  a PMNS using pmLoadASCIINameSpace(3) or pmLoadNameSpace(3)
              before calling pmTrimNameSpace

       PM_ERR_NOCONTEXT
              the current PMAPI context is invalid