Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pmtraversepmns(3) [centos man page]

PMTRAVERSEPMNS(3)					     Library Functions Manual						 PMTRAVERSEPMNS(3)

NAME
pmTraversePMNS, pmTraversePMNS_r - traverse the performance metrics name space C SYNOPSIS
#include <pcp/pmapi.h> int pmTraversePMNS(const char *name, void (*dometric)(const char *)); int pmTraversePMNS_r(const char *name, void (*dometric_r)(const char *, void *), void *closure); cc ... -lpcp DESCRIPTION
The routine pmTraversePMNS may be used to perform a depth-first traversal of the Performance Metrics Name Space (PMNS). The traversal starts at the node identified by name - if name is an empty string (i.e. ""), the traversal starts at the root of the PMNS. Usually name would be the pathname of a non-leaf node in the PMNS. For each leaf node (i.e. performance metric) found in the traversal, the user-supplied routine dometric is called with the full pathname of that metric in the PMNS as the single argument. This argument is null-byte terminated, and is constructed from a buffer that is managed internally to pmTraversePMNS. Consequently the value is only valid during the call to dometric - if the pathname needs to be retained, it should be copied using strdup(3C) before returning from dometric. The pmTraversePMNS_r routine performs the same function, except the callback method func_r has an additional parameter that will be closure from the initial call to pmTraversePMNS_r. The additional parameter to pmTraversePMNS_r and the callback method allows the caller to pass context through pmTraversePMNS_r and into the callback method func_r, making the service more useful for multi-threaded applications where thread-private data can be accessed in the callback method via the closure argument. On success pmTraversePMNS returns the number of children of name, which may be zero. SEE ALSO
PMAPI(3) and pmGetChildren(3). DIAGNOSTICS
PM_ERR_NOPMNS Failed to access a PMNS for operation. Note that if the application hasn't a priori called pmLoadNameSpace(3) and wants to use the distributed PMNS, then a call to pmTraversePMNS must be made inside a current context. PM_ERR_NAME The initial pathname name is not valid in the current PMNS. PM_ERR_* Other diagnostics are for protocol failures when accessing the distributed PMNS. Performance Co-Pilot PCP PMTRAVERSEPMNS(3)

Check Out this Related Man Page

PMLOADNAMESPACE(3)					     Library Functions Manual						PMLOADNAMESPACE(3)

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 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 is stored in an ASCII format as described in pmns(5). By default, multiple names in the PMNS are not allowed to be associated with a single Performance Metrics Identifier (PMID). pmLoadASCI- INameSpace(3) provides an alternative interface with user-defined control over the processing of duplicate PMIDs in the PMNS. pmLoadNameSpace returns zero on success. FILES
$PCP_VAR_DIR/pmns/root the default local PMNS, when the environment variable PMNS_DEFAULT is unset PCP ENVIRONMENT
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 configura- tion file, as described in pcp.conf(5). Values for these variables may be obtained programmatically using the pmGetConfig(3) function. SEE ALSO
PMAPI(3), pmGetConfig(3), pmLoadASCIINameSpace(3), pmTrimNameSpace(3), pcp.conf(5), pcp.env(5) and pmns(5). 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. Performance Co-Pilot PCP PMLOADNAMESPACE(3)
Man Page