pmAddProfile - add instance(s) to the current PMAPI instance profile
#include <pcp/pmapi.h>
int pmAddProfile(pmInDom
indom, int
numinst, int
*
instlist);
cc ... -lpcp
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.
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.
- PM_ERR_PROFILESPEC
-
indom was PM_INDOM_NULL and instlist
was not empty
PMAPI(3),
pmDelProfile(3),
pmFetch(3),
pmGetInDom(3),
pmLookupDesc(3),
pmLookupInDom(3),
pmNewContext(3),
pmUseContext(3) and
pmWhichContext(3).