pmgetchildren(3) — Linux manual page


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

       As a special case, if name is an empty string (i.e.""), the
       immediate descendants of the root node in the PMNS will be

       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

       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

              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.

              The pathname name is not valid in the current PMNS

              Other diagnostics are for protocol failures when accessing
              the distributed PMNS.


       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         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.
       Information about the project can be found at 
       ⟨⟩.  If you have a bug report for this manual
       page, send it to  This page was obtained from the
       project's upstream Git repository
       ⟨⟩ on 2023-12-22.
       (At that time, the date of the most recent commit that was found
       in the repository was 2023-12-16.)  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

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)