pmgetchildren(3) — Linux manual page
PMGETCHILDREN(3) Library Functions Manual PMGETCHILDREN(3)
NAME
pmGetChildren - return the descendent nodes of a PMNS node
C SYNOPSIS
#include <pcp/pmapi.h>
int pmGetChildren(const char *name, char ***offspring);
cc ... -lpcp
DESCRIPTION
Given a fully qualified pathname to a node in the current
Performance Metrics Name Space (PMNS), as identified by name,
pmGetChildren 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.
Normally, pmGetChildren 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 pmGetChildren with a single call to malloc(3), and
it is the responsibility of the pmGetChildren caller to
free(offspring) to release the space when it is no longer
required.
When an error occurs, or name is a leaf node (i.e. the result of
pmGetChildren is less than one), offspring is undefined (no space
will have been allocated, and so calling free(3) is a singularly
bad idea).
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
pmGetChildren 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.
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 configuration file, as described in
pcp.conf(5). Values for these variables may be obtained
programmatically using the pmGetConfig(3) function.
SEE ALSO
PMAPI(3), pmGetChildrenStatus(3), pmGetConfig(3),
pmLoadASCIINameSpace(3), pmLoadNameSpace(3), pmLookupName(3),
pmNameID(3), pcp.conf(5), pcp.env(5) and PMNS(5).
COLOPHON
This page is part of the PCP (Performance Co-Pilot) project.
Information about the project can be found at
⟨http://www.pcp.io/⟩. If you have a bug report for this manual
page, send it to pcp@groups.io. This page was obtained from the
project's upstream Git repository
⟨https://github.com/performancecopilot/pcp.git⟩ on 2024-06-14.
(At that time, the date of the most recent commit that was found
in the repository was 2024-06-14.) 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
man-pages@man7.org
Performance Co-Pilot PCP PMGETCHILDREN(3)
Pages that refer to this page: pmapi(3), pmdachildren(3), pmgetchildrenstatus(3), pmgetderivedcontrol(3), pmlookupname(3), pmnameall(3), pmnameid(3), pmtraversepmns(3), pmwebapi(3)