pmRequestInDomInst(3) translate an instance name into an instance identifier

Other Alias

pmLookupInDom, pmReceiveInDomInst

C SYNOPSIS

#include <pcp/pmapi.h>

int pmLookupInDom(pmInDom indom, const char *name)
int pmRequestInDomInst(int ctx, pmInDom indom, const char *name)
int pmReceiveInDomInst(int ctx)

cc ... -lpcp

DESCRIPTION

For the instance domain indom, in the current Performance Metrics Application Programming Interface (PMAPI) context, locate the instance with the external identification given by name, and return the internal instance identifier.

Only the leading non-space characters of name will be used to identify the instance.

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.

pmLookupInDom will return a positive instance identifier on success.

pmRequestInDomInst and pmReceiveInDomInst 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). pmRequestInDomInst sends request to translate external instance name to internal instance identifier to PMCD and returns without waiting for the response, pmReceiveInDomInst reads reply from PMCD. It is the responsibility of the application to make sure the data are ready before calling pmReceiveInDomInst to avoid blocking.

DIAGNOSTICS

PM_ERR_INDOM
indom is not a valid instance domain identifier
PM_ERR_INST
The external instance name is not known for the instance domain indom in the current PMAPI context
PM_ERR_CTXBUSY
Context is currently in use by another asynchronous call.