pmdachildren(3) — Linux manual page

NAME | C SYNOPSIS | DESCRIPTION | CAVEAT | DIAGNOSTICS | SEE ALSO | COLOPHON

PMDACHILDREN(3)          Library Functions Manual         PMDACHILDREN(3)

NAME         top

       pmdaChildren - translate a PMID to a set of dynamic performance
       metric names

C SYNOPSIS         top

       #include <pcp/pmapi.h>
       #include <pcp/pmda.h>

       int pmdaChildren(char *name, int traverse, char ***offspring,
               int **status, pmdaExt *pmda);

       cc ... -lpcp_pmda -lpcp

DESCRIPTION         top

       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.

CAVEAT         top

       The PMDA must be using PMDA_INTERFACE_4 or later, as specified  in
       the call to pmdaDSO(3) or pmdaDaemon(3).

DIAGNOSTICS         top

       pmdaChildren  returns PM_ERR_NAME if the name is not recognized or
       cannot be translated, otherwise the number  of  descendent  metric
       names found.

SEE ALSO         top

       PMAPI(3),   PMDA(3),   pmdaDaemon(3),   pmdaDSO(3),   pmdaMain(3),
       pmGetChildren(3) and pmTraversePMNS(3).

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-02-02.  (At that time, the date of  the  most  recent  commit
       that was found in the repository was 2025-01-30.)  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)