Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pmdachildren(3) [centos man page]

PMDACHILDREN(3) 					     Library Functions Manual						   PMDACHILDREN(3)

pmdaChildren - translate a PMID to a set of dynamic performance metric names C SYNOPSIS
#include <pcp/pmapi.h> #include <pcp/impl.h> #include <pcp/pmda.h> int pmdaChildren(char *name, int traverse, char ***offspring, int **status, pmdaExt *pmda); cc ... -lpcp_pmda -lpcp DESCRIPTION
As part of the Performance Metrics Domain Agent (PMDA) API (see PMDA(3)), pmdaChildren is the generic callback for returning dynamic metric names (and their status) that are descendants of name. Because implementing dynamic performance metrics requires specific PMDA support, and the facility is an optional component of a PMDA (most PMDAs do not support dynamic performance metrics), pmdaChildren is a skeleton implementation that returns PM_ERR_NAME. A PMDA that supports dynamic performance metrics will provide a private callback that replaces pmdaChildren (by assignment to ver- sion.four.children of the pmdaInterface structure) and takes the initial metric name and returns names via offspring[] and the leaf or non- leaf status of each via status[]. If traverse is 0, then the behaviour is akin to pmGetChildren(3) and offspring[] contains the relative name component for the immediate de- scendants of name. If traverse is 1, then the behaviour is akin to pmTraversePMNS(3) and offspring[] contains the absolute names of all dynamic metrics that are decedents of name. The resulting list of pointers offspring and the values (the names) that the pointers reference will have been allocated by pmdaChildren with a single call to malloc(3C), and the caller of pmdaChildren will call free(offspring) to release the space when it is no longer re- quired. The same holds true for the status array. DIAGNOSTICS
pmdaChildren returns PM_ERR_NAME if the name is not recognized or cannot be translated, otherwise the number of descendent metric names found. CAVEAT
The PMDA must be using PMDA_PROTOCOL_4 or later, as specified in the call to pmdaDSO(3) or pmdaDaemon(3). SEE ALSO
PMAPI(3), PMDA(3), pmdaDaemon(3), pmdaDSO(3), pmdaMain(3), pmGetChildren(3) and pmTraversePMNS(3). Performance Co-Pilot PCP PMDACHILDREN(3)

Check Out this Related Man Page

PMGETCHILDRENSTATUS(3)					     Library Functions Manual					    PMGETCHILDRENSTATUS(3)

pmGetChildrenStatus - return the descendent nodes of a PMNS node and their respective status C SYNOPSIS
#include <pcp/pmapi.h> int pmGetChildrenStatus(const char *name, char ***offspring, int **status); cc ... -lpcp DESCRIPTION
Given a fully qualified pathname to a node in the current Performance Metrics Name Space (PMNS), as identified by name, pmGetChildrenStatus returns via offspring a list of the relative names of all of the immediate descendent nodes of name in the current PMNS. As a special case, if name is an empty string (i.e.""), the immediate descendants of the root node in the PMNS will be returned. If status is not NULL, then pmGetChildrenStatus will also return the status of each child via status. The status will refer to either a leaf node (with value PMNS_LEAF_STATUS ) or a non-leaf node (with value PMNS_NONLEAF_STATUS ). Normally, pmGetChildrenStatus will return the number of descendent names discovered, else a value less than zero for an error. The value zero indicates that name is a valid metric name, i.e. is associated with a leaf node in the PMNS. The resulting list of pointers offspring and the values (the relative names) that the pointers reference will have been allocated by pmGetChildrenStatus with a single call to malloc(3C), and it is the responsibility of the pmGetChildrenStatus caller to free(offspring) to release the space when it is no longer required. The same holds true for the status array. When an error occurs, or name is a leaf node (i.e. the result of pmGetChildrenStatus is less than one), both offspring and status are unde- fined (no space will have been allocated, and so calling free(3C) is a singularly bad idea). 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), pmGetChildren(3), pmGetConfig(3), pmLoadASCIINameSpace(3), pmLoadNameSpace(3), pmLookupName(3), pmNameID(3), pcp.conf(5), pcp.env(5) and pmns(5). 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 pmGetChildrenStatus must be made inside a current context. PM_ERR_NAME The 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 PMGETCHILDRENSTATUS(3)
Man Page

Featured Tech Videos