bionic (3) pmGetContextHostName_r.3.gz

Provided by: libpcp3-dev_4.0.1-1_amd64 bug

NAME

       pmGetContextHostName, pmGetContextHostName_r - return the hostname associated with a Performance Co-Pilot
       context

C SYNOPSIS

       #include <pcp/pmapi.h>

       const char *pmGetContextHostName(int id);
       char *pmGetContextHostName_r(int id, char *buf, int buflen);

       cc ... -lpcp

DESCRIPTION

       Given a valid PCP context identifier previously created  with  pmNewContext(3)  or  pmDupContext(3),  the
       pmGetContextHostName  function  returns  the  hostname  associated  with  id.  The pmGetContextHostName_r
       function does the same, but stores the result in a user-supplied  buffer  buf  of  length  buflen,  which
       should have room for at least MAXHOSTNAMELEN bytes.

       If  the  context id is associated with an archive source of data, the hostname returned is extracted from
       the archive label using pmGetArchiveLabel(3).

       For live contexts, an attempt will first be made to retrieve the hostname from the PCP  collector  system
       using  pmFetch(3)  with  the  pmcd.hostname  metric.   This  allows  client tools using this interface to
       retrieve an accurate host identifier even in the presence of port forwarding and tunnelled connections.

       Should this not succeed, then a fallback method is used.  For local contexts - with local meaning any  of
       DSO,  ``localhost'' or Unix domain socket connection - a hostname will be sought via gethostname(3).  For
       other contexts, the hostname extracted from the initial context host specification will be used.

RETURN VALUE

       If id is not a valid PCP context identifier, the returned hostname is a zero length string.

NOTES

       pmGetContextHostName returns a pointer to a static buffer, so the returned value is only valid until  the
       next  call  to pmGetContextHostName and hence is not thread-safe.  Multi-threaded applications should use
       pmGetContextHostName_r instead.

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(5).
       Values for these variables may be obtained programmatically using the pmGetConfig(3) function.

SEE ALSO

       PCPIntro(1),     PMAPI(3),    gethostname(3),    pmDupContext(3),    pmFetch(3),    pmGetArchiveLabel(3),
       pmNewContext(3), pcp.conf(5) and pcp.env(5).