# pmloadnamespace

## NAME



           **pmLoadNameSpace** - load a local PMNS for an application
    


## C SYNOPSIS



           **#include <pcp/pmapi.h>**
    
           **int pmLoadNameSpace(const char ***_filename_**);**
    
           **cc ... -lpcp**
    


## DESCRIPTION



           If  the  application wants to force using a local Performance Met‐
           rics Name Space (PMNS) instead of a distributed PMNS then it  must
           load  the  PMNS  using **pmLoadNameSpace** or pmLoadASCIINameSpace(3).
           If the application is to use a distributed PMNS,  then  it  should
           NOT make a call to load the PMNS explicitly.
    
           Most applications using a Performance Metrics Application Program‐
           ming Interface (PMAPI) context (of any type, so PM_CONTEXT_HOST or
           PM_CONTEXT_ARCHIVE  or  PM_CONTEXT_LOCAL)  should not need to call
           **pmLoadNameSpace**.
    
           The _filename_ argument designates the PMNS of interest.  For appli‐
           cations not requiring a tailored PMNS, the special value **PM_NS_DE‐**
           **FAULT** 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.
    
           Externally a PMNS is stored in an ASCII  format  as  described  in
           PMNS(5).  However, note that **pmLoadNameSpace** assumes _filename_ does
           not  contain  any  C-style  comments,  preprocessor  directives or
           macros; if this is not the case, pmLoadASCIINameSpace(3) should be
           used instead.
    
           As of Version 3.10.3 of PCP, by default,  multiple  names  in  the
           PMNS  **are** allowed to be associated with a single Performance Met‐
           rics Identifier (PMID) and this is unconditionally allowed by  **pm‐**
           **LoadNameSpace**.   pmLoadASCIINameSpace(3)  provides  an alternative
           interface with user-defined control over the handling of duplicate
           names for the same PMID in the PMNS.
    
           **pmLoadNameSpace** returns zero on success.
    


## DIAGNOSTICS



           Syntax and other errors in the parsing of the PMNS are reported on
           _stderr_ with a message of the  form  ``Error  Parsing  ASCII  PMNS:
           ...''.
    
           **PM_ERR_DUPPMNS**
    
                  It  is  an  error to try and load more than one PMNS, or to
                  call either **pmLoadNameSpace** and/or  pmLoadASCIINameSpace(3)
                  more than once.
    
           **PM_ERR_PMNS**
    
                  Syntax error in the PMNS file.
    


## FILES



           _$PCP_VAR_DIR/pmns/root_   the default local PMNS, when the environ‐
                                    ment variable **PMNS_DEFAULT** is unset
    


## PCP ENVIRONMENT



           Environment variables with the prefix **PCP_** are used to parameter‐
           ize the file and directory names used by PCP.  On each installa‐
           tion, the file _/etc/pcp.conf_ contains the local values for these
           variables.  The **$PCP_CONF** variable may be used to specify an al‐
           ternative configuration file, as described in pcp.conf(5).  Values
           for these variables may be obtained programmatically using the
           pmGetConfig(3) function.
    


* * *