pmDelProfile - delete instance(s) from the current PMAPI instance profile
#include <pcp/pmapi.h>
int pmDelProfile(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), and each instance profile
may include instances from one or more instance domains (see
pmLookupDesc(3)).
pmDelProfile may be used to delete instance specifications from 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 removed from 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).
If
indom equals
PM_INDOM_NULL and
numinst is zero, then all
instance domains are selected for deletion. If
instlist is
NULL,
then all instances in the selected domain(s) are removed from the profile.
To disable all available instances in all domains, use
pmDelProfile(PM_INDOM_NULL, 0, NULL). This is the only situation in
which
indom may be
PM_INDOM_NULL.
It is possible to delete non-existent instance domains and non-existent
instances from 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
pmAddProfile(3),
PMAPI(3),
pmFetch(3),
pmGetInDom(3),
pmLookupDesc(3),
pmLookupInDom(3),
pmNewContext(3),
pmUseContext(3) and
pmWhichContext(3).