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

Other Alias

pmRequestInDomName, pmReceiveInDomName

C SYNOPSIS

#include <pcp/pmapi.h>

int pmNameInDom(pmInDom indom, int inst, char **name)
int pmRequestInDomName(int ctx, pmInDom indom, int inst)
int pmReceiveInDomName(int ctx, char **name)

cc ... -lpcp

DESCRIPTION

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

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 space for the value of name will have been allocated in pmNameInDom with malloc(3C), and it is the responsibility of the caller to free(3C) the space when it is no longer required.

pmNameInDom returns zero on success.

pmRequestInDomName and pmReceiveInDomName are used by applications which must communicate with the PMCD asynchornously. These functions take explict context handle ctx which must refer to a host context (i.e. creared by passing PM_CONTEXT_HOST to pmNewContext). pmRequestInDomName sends request to translate internal instance identifier to external instance name to PMCD and returns immediately, pmReceiveInDomName reads reply from PMCD without waiting, it is the responsibility of the application to make sure the data are ready before calling pmReceiveInDomName.

DIAGNOSTICS

PM_ERR_INDOM
indom is not a valid instance domain identifier
PM_ERR_INST
The instance identifier inst 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