NAME
pmGetInDom, pmRequestInDom, pmReceiveIndom - get instance identifiers
for a performance metrics instance domain
C SYNOPSIS
#include <pcp/pmapi.h>
int pmGetInDom(pmInDom indom, int **instlist, char ***namelist)
int pmRequestInDom(int ctx, pmInDom indom)
int pmReceiveInDom(int ctx, int **instlist, char ***namelist)
cc ... -lpcp
DESCRIPTION
In the current Performance Metrics Application Programming Interface
(PMAPI) context, locate the description of the instance domain indom,
and return via instlist the internal instance identifiers for all
instances, and via namelist the full external identifiers for all
instances. The number of instances found is returned as the function
value (else less than zero to indicate an error).
The value for the instance domain indom is typically extracted from a
pmDesc structure, following a call to pmLookupDesc(3) for a particular
performance metric.
The resulting lists of instance identifiers (instlist and namelist),
and the names that the elements of namelist point to, will have been
allocated by pmGetInDom with two calls to malloc(3C), and it is the
responsibility of the caller to free(instlist) and free(namelist) to
release the space when it is no longer required.
When the result of pmGetInDom is less than one, both instlist and
namelist are undefined (no space will have been allocated, and so
calling free(3C) is a singularly bad idea).
pmRequestInDom and pmReceiveInDom are used by applications which must
communicate with the PMCD asynchronously. These functions take explict
context handle ctx which must refer to a host context (i.e. created by
passing PM_CONTEXT_HOST to pmNewContext). pmRequestInDom sends request
to enumerate all instances in the particular instance domain to PMCD
and returns without waiting for the response, pmReceiveInDom reads
reply from PMCD. It is the responsibility of the application to make
sure the data are ready before calling pmReceiveInDom to avoid
blocking.
PCP ENVIRONMENT
Environment variables with the prefix PCP_ are used to parameterize the
file and directory names used by PCP. On each installation, the file
/etc/pcp.conf contains the local values for these variables. The
$PCP_CONF variable may be used to specify an alternative configuration
file, as described in pcp.conf(4). Values for these variables may be
obtained programatically using the pmGetConfig(3) function.
SEE ALSO
PMAPI(3), pmGetConfig(3), pmLookupDesc(3), pmLookupInDom(3),
pmNameInDom(3), pcp.conf(4) and pcp.env(4).
DIAGNOSTICS
PM_ERR_INDOM
indom is not a valid instance domain identifier
PM_ERR_CTXBUSY
Context is currently in use by another asynchronous call.