| NAME | C SYNOPSIS | DESCRIPTION | CAVEAT | DIAGNOSTICS | SEE ALSO | COLOPHON | |
|  | 
PMDACHILDREN(3)          Library Functions Manual         PMDACHILDREN(3)
       pmdaChildren - translate a PMID to a set of dynamic performance
       metric names
       #include <pcp/pmapi.h>
       #include <pcp/pmda.h>
       int pmdaChildren(char *name, int traverse, char ***offspring,
                        int **status, pmdaExt *pmda);
       cc ... -lpcp_pmda -lpcp
       As  part  of  the Performance Metrics Domain Agent (PMDA) API (see
       PMDA(3)), pmdaChildren is the generic callback for  returning  dy‐
       namic  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), pmdaChil‐
       dren 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 imme‐
       diate descendants 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 string values
       (the names) that the pointers reference will have  been  allocated
       by pmdaChildren with a single call to malloc(3), and the caller of
       pmdaChildren  will  call free(offspring) to release the space when
       it is no longer required.  The same holds true for the status  ar‐
       ray,  namely  the caller of pmdaChildren will call free(status) to
       release the space when it is no longer required.
       The PMDA must be using PMDA_INTERFACE_4 or later, as specified  in
       the call to pmdaDSO(3) or pmdaDaemon(3).
       pmdaChildren  returns PM_ERR_NAME if the name is not recognized or
       cannot be translated, otherwise the number  of  descendent  metric
       names found.
       PMAPI(3),   PMDA(3),   pmdaDaemon(3),   pmdaDSO(3),   pmdaMain(3),
       pmGetChildren(3) and pmTraversePMNS(3).
       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                    PMDACHILDREN(3)
Pages that refer to this page: pmdamain(3)