Man Linux: Main Page and Category List

NAME

       pmAddProfile - add instance(s) to the current PMAPI instance profile

C SYNOPSIS

       #include <pcp/pmapi.h>

       int pmAddProfile(pmInDom indom, int numinst, int *instlist)

       cc ... -lpcp

DESCRIPTION

       The set of instances for performance metrics returned from a pmFetch(3)
       call may be filtered or restricted using an instance profile.  There is
       one  instance  profile  for each context the application creates at the
       Performance Metrics Application Programming Interface  (PMAPI(3)),  and
       each  instance  profile may include instances from one or more instance
       domains (see pmLookupDesc(3)).

       pmAddProfile may be used to add  new  instance  specifications  to  the
       instance profile of the current PMAPI context.

       In  the  simplest  variant,  the  list  of  instances identified by the
       instlist argument for the  indom  instance  domain  are  added  to  the
       instance  profile.   The  list of instance identifiers contains numinst
       values.

       The  indom  value  would  normally  be  extracted  from   a   call   to
       pmLookupDesc(3)  for a particular performance metric, and the instances
       in instlist would typically be determined by calls to pmGetInDom(3)  or
       pmLookupInDom(3).

       To select all instances in all instance domains, use

          pmAddProfile(PM_INDOM_NULL, 0, (int *)0)

       This  is  the  only case where indom may be equal to PM_INDOM_NULL.  If
       numinst is zero, or instlist is NULL, then all instances in  indom  are
       selected.

SEE ALSO

       PMAPI(3),  pmDelProfile(3), pmFetch(3), pmGetInDom(3), pmLookupDesc(3),
       pmLookupInDom(3),      pmNewContext(3),       pmUseContext(3)       and
       pmWhichContext(3).

DIAGNOSTICS

       PM_ERR_PROFILESPEC
              indom was PM_INDOM_NULL and instlist was not empty

CAVEAT

       It  is  possible  to add non-existent instance domains and non-existent
       instances to an instance profile.  None of the routines  that  use  the
       instance  profile will ever issue an error if you do this.  The cost of
       checking, when checking is possible, outweighs any benefits.