Langue: en

Autres versions - même langue

Version: SGI (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)


pmLoadNameSpace - load a local PMNS for an application


#include <pcp/pmapi.h>

int pmLoadNameSpace(const char *filename)

cc ... -lpcp


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

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.

Externally a PMNS may be stored in either an ASCII format or a binary format. The utility pmnscomp(1) is used to create the binary format from the ASCII format described in pmns(4).

If the binary format is used, no checking is performed for aliasing in which multiple names in the PMNS are associated with a single Performance Metrics Identifier (PMID). If the ASCII format is to be used, duplicate PMIDs are not allowed, although pmLoadASCIINameSpace(3) provides an alternative interface with user-defined control over the processing of duplicate PMIDs in an ASCII format PMNS.

pmLoadNameSpace attempts to load the PMNS by trying the following combinations in order,

Binary format from the file filename.bin
Binary format from the file filename
ASCII format from the file filename

pmLoadNameSpace returns zero on success.


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


pmnscomp(1), PMAPI(3), pmGetConfig(3), pmLoadASCIINameSpace(3), pmTrimNameSpace(3), pcp.conf(4), pcp.env(4) and pmns(4).


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 and load more than one PMNS, or to call either pmLoadNameSpace and/or pmLoadASCIINameSpace(3) more than once.


Syntax error in an ASCII format PMNS.