logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

C Synopsis

#include<pcp/pmapi.h>#include<pcp/pmda.h>intpmdaChildren(char*name,inttraverse,char***offspring,int**status,pmdaExt*pmda);cc...-lpcp_pmda-lpcp

Caveat

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

Description

       As  part  of  the  Performance Metrics Domain Agent (PMDA) API (see PMDA(3)), pmdaChildren is the generic
       callback for returning dynamic 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), pmdaChildren is a
       skeleton implementation that returns PM_ERR_NAME.

       A PMDA that supports dynamic performance metrics will provide a private callback that replaces  pmdaChil‐dren (by assignment to version.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 immediate 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 offspringand 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 array, namely the caller of pmdaChildren will call free(status) to release the space  when  it
       is no longer required.

Diagnostics

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

Name

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

See Also

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

Performance Co-Pilot                                   PCP                                       PMDACHILDREN(3)

See Also