NAME         top

       pmLoadASCIINameSpace - establish a local PMNS for an application

C SYNOPSIS         top

       #include <pcp/pmapi.h>

       int pmLoadASCIINameSpace(const char *filename, int dupok);

       cc ... -lpcp

DESCRIPTION         top

       If the application wants to force using a local Performance Metrics
       Name Space (PMNS) instead of a distributed PMNS then it must load the
       PMNS using pmLoadASCIINameSpace or pmLoadNameSpace(3).  If the
       application wants to use a distributed PMNS, then it should NOT make
       a call to load the PMNS explicitly.

       Most applications using a Performance Metrics Application Programming
       Interface (PMAPI) context (of any type, so PM_CONTEXT_HOST or
       PM_CONTEXT_ARCHIVE or PM_CONTEXT_LOCAL) should not need to call

       The filename argument designates the PMNS of interest.  For
       applications not requiring a tailored PMNS, the special value
       PM_NS_DEFAULT may be used for filename, to force the default local
       PMNS to be loaded.

       The default local PMNS is found in the file $PCP_VAR_DIR/pmns/root
       unless the environment variable PMNS_DEFAULT is set, in which case
       the value is assumed to be the pathname to the file containing the
       default local PMNS.

       pmLoadASCIINameSpace is a variant of pmLoadNameSpace(3) in which the
       dupok argument may be used to control the handling of multiple names
       in the PMNS that may be associated with a single Performance Metric
       Identifier (PMID).  A value of 0 disallows duplicates, any other
       value allows duplicates and the latter is the default behaviour of
       pmLoadNameSpace(3) as of Version 3.10.3 of PCP.

       The other difference is that when pmLoadASCIINameSpace is used and
       filename is not PM_NS_DEFAULT, the PMNS file will always be pre-
       processed with pmcpp(1) as described in pmns(5).  This allows a PMNS
       file that contains C-style comments, pre-processor directives or
       macros to be processed correctly before the PMNS is parsed.

       pmLoadASCIINameSpace returns zero on success.

FILES         top

       $PCP_VAR_DIR/pmns/root   the default local PMNS, when the environment
                                variable PMNS_DEFAULT is unset


       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(5).  Values for these
       variables may be obtained programmatically using the pmGetConfig(3)

SEE ALSO         top

       PMAPI(3), pmGetConfig(3), pmLoadNameSpace(3), pmTrimNameSpace(3),
       pcp.conf(5), pcp.env(5) and pmns(5).

DIAGNOSTICS         top

       Syntax and other errors in the parsing of the PMNS are reported on
       stderr with a message of the form ``Error Parsing ASCII PMNS: ...''.


              It is an error to try to load more than one PMNS, or to call
              either pmLoadASCIINameSpace and/or pmLoadNameSpace(3) more
              than once.


              Syntax error in an ASCII format PMNS.

COLOPHON         top

       This page is part of the PCP (Performance Co-Pilot) project.
       Information about the project can be found at ⟨⟩.
       If you have a bug report for this manual page, send it to  This page was obtained from the project's upstream
       Git repository ⟨⟩ on
       2017-09-15.  If you discover any rendering problems in this HTML ver‐
       sion of the page, or you believe there is a better or more up-to-date
       source for the page, or you have corrections or improvements to the
       information in this COLOPHON (which is not part of the original man‐
       ual page), send a mail to

Performance Co-Pilot                 PCP             PMLOADASCIINAMESPACE(3)

Pages that refer to this page: pmcpp(1)pmnsmerge(1)pcpintro(3)pmapi(3)pmgetchildren(3)pmgetchildrenstatus(3)pmgetpmnslocation(3)pmloadnamespace(3)pmnameall(3)pmnameid(3)pmtrimnamespace(3)pmunloadnamespace(3)pmns(5)