pmgetchildren(3) — Linux manual page

NAME | C SYNOPSIS | DESCRIPTION | DIAGNOSTICS | PCP ENVIRONMENT | SEE ALSO | COLOPHON

PMGETCHILDREN(3)         Library Functions Manual        PMGETCHILDREN(3)

NAME         top

       pmGetChildren - return the descendent nodes of a PMNS node

C SYNOPSIS         top

       #include <pcp/pmapi.h>

       int pmGetChildren(const char *name, char ***offspring);

       cc ... -lpcp

DESCRIPTION         top

       Given  a fully qualified pathname to a node in the current Perfor‐
       mance Metrics Name Space (PMNS), as identified by name, pmGetChil‐
       dren 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 imme‐
       diate 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 associat‐
       ed with a leaf node in the PMNS.

       The resulting list of pointers offspring and the values (the rela‐
       tive  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         top

       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         top

       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.

SEE ALSO         top

       PMAPI(3), pmGetChildrenStatus(3), pmGetConfig(3),
       pmLoadASCIINameSpace(3), pmLoadNameSpace(3), pmLookupName(3),
       pmNameID(3), pcp.conf(5), pcp.env(5) and PMNS(5).

COLOPHON         top

       This page is part of the PCP (Performance Co-Pilot) project.  In‐
       formation 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
       2025-08-11.  (At that time, the date of the most recent commit
       that was found in the repository was 2025-08-11.)  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)