Man Linux: Main Page and Category List

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 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