Man Linux: Main Page and Category List

NAME

       pmLookupName,  pmRequestNames,  pmReceiveNames  - translate performance
       metric names into PMIDs

C SYNOPSIS

       #include <pcp/pmapi.h>

       int pmLookupName(int numpmid, char **namelist, pmID *pmidlist)
       int pmRequestNames(int ctx, int numpmid, char **namelist)
       int pmReceiveNames(int ctx, pmID *pmidlist)

       cc ... -lpcp

DESCRIPTION

       Given  a  list  in  namelist  containing  numpmid  full  pathnames  for
       performance  metrics  from  a  Performance  Metrics  Name Space (PMNS),
       pmLookupName  returns  the  list  of  associated   Performance   Metric
       Identifiers (PMIDs) via pmidlist.

       The  result from pmLookupName will be the number of names translated in
       the absence of errors, else an error code less than zero.  When  errors
       are   encountered,   the   corresponding  value  in  pmidlist  will  be
       PM_ID_NULL.

       Note that the error protocol guarantees there  is  a  1:1  relationship
       between the elements of namelist and pmidlist, hence both lists contain
       exactly numpmid elements.  For this reason, the caller is  expected  to
       have pre-allocated a suitably sized array for pmidlist.

       pmRequestNames  and  pmReceiveNames 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). pmRequestNames sends  request
       to translate names to PMIDs to PMCD and returns without waiting for the
       response,  pmReceiveNames  reads   reply   from   PMCD.   It   is   the
       responsibility  of  the  application  to  make  sure the data are ready
       before calling pmReceiveNames to avoid blocking.

SEE ALSO

       PMAPI(3),  pmGetChildren(3),  pmGetChildrenStatus(3),   pmGetConfig(3),
       pmLoadNameSpace(3),   pmNameID(3),   pmNewContext(3),  pcp.conf(4)  and
       pcp.env(4).

DIAGNOSTICS

       PM_ERR_TOOSMALL
              numpmid must be at least 1

       PM_ERR_NOPMNS
              Failed to access  a  PMNS  for  operation.   Note  that  if  the
              application  hasn’t a priori called pmLoadNameSpace(3) and wants
              to use the distributed PMNS, then a call to pmLookupName must be
              made after the creation of a context (see pmNewContext(3)).

       PM_ERR_NAME
              One or more of the elements of namelist does not correspond to a
              valid metric name in the PMNS.

       PM_ERR_NONLEAF
              A name referred to a node in the PMNS but  it  was  not  a  leaf
              node.

       PM_ERR_*
              Other  diagnostics  are for protocol failures when accessing the
              distributed PMNS.

       PM_ERR_CTXBUSY
              Context is currently in use by another asynchronous call.