pmloadasciinamespace(3) — Linux manual page



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

       Most applications using a Performance Metrics Application
       Programming Interface (PMAPI) context (of any type, so
       not need to call pmLoadASCIINameSpace.

       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

       pmLoadASCIINameSpace returns zero on success.

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.

FILES         top

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


       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) function.

SEE ALSO         top

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

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 2023-12-22.
       (At that time, the date of the most recent commit that was found
       in the repository was 2023-12-16.)  If you discover any rendering
       problems in this HTML version 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 manual 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)