Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

__pmlocalpmda(3) [centos man page]

PMLOCALPMDA(3)						     Library Functions Manual						    PMLOCALPMDA(3)

NAME
__pmLocalPMDA - change the table of DSO PMDAs for PM_CONTEXT_LOCAL contexts C SYNOPSIS
#include <pcp/pmapi.h> #include <pcp/impl.h> int __pmLocalPMDA(int op, int domain, const char *name, const char *init); cc ... -lpcp DESCRIPTION
PCP contexts of type PM_CONTEXT_LOCAL are used by clients that wish to fetch metrics directly from one or more PMDAs on the local host without involving pmcd(1). A PMDA that is to be used in this way must have been built as a Dynamic Shared Object (DSO). Historically the table of PMDAs available for use with PM_CONTEXT_LOCAL was hardcoded to the following: * The PMDA (or PMDAs) that export the operating system performance data and data about process activity. * The mmv PMDA. * The sample PMDA provided $PCP_LITE_SAMPLE or $PMDA_LOCAL_SAMPLE is set in the environment - used mostly for QA and testing. The initial table of PMDAs available for use with PM_CONTEXT_LOCAL is now generated dynamically from all those PMDAs that have been in- stalled as DSOs on the local host. The one exception is the ``pmcd'' PMDA which only operates correctly in the address space of a running pmcd(1) process and so is not available to an application using a PM_CONTEXT_LOCAL context. __pmLocalPMDA provides a number of services to amend the table of PMDAs available for use with PM_CONTEXT_LOCAL. The op argument specifies the what should be done and takes one of the following values and actions: PM_LOCAL_ADD Append an entry to the table for the PMDA with a Performance Metrics Domain (PMD) of domain, the path to the DSO PMDA is given by path and the PMDA's initialization routine is init. PM_LOCAL_DEL Removes all entries in the table where the domain matches, or the path matches. Setting the arguments domain to -1 or path to NULL to force matching on the other argument. The init argument is ignored. PM_LOCAL_CLEAR Remove all entries from the table. All the other arguments are ignored in this case. The domain, name and init arguments have similar syntax and semantics to the associated fields in the pmcd(1) configuration file. The one difference is the path argument which is used by __pmLocalPMDA to find a likely looking DSO by searching in this order: $PCP_PM- DAS_DIR/path, path, $PCP_PMDAS_DIR/path.dso-suffix and finally path.dso-suffix (dso-suffix is the local platform specific default file name suffix for a DSO, e.g. so for Linux, dylib for Mac OS X, dll for Windows, etc.). RETURN VALUE
In most cases, __pmLocalPMDA returns 0 to indicate success. If op is invalid, then the return value is PM_ERR_CONV else if there is no matching table entry found for a PM_LOCAL_DEL operation, PM_ERR_INDOM is returned. SEE ALSO
pmcd(1), PMAPI(3), pmNewContext(3) and __pmSpecLocalPMDA(3). Performance Co-Pilot PMLOCALPMDA(3)

Check Out this Related Man Page

PMDACONNECT(3)						     Library Functions Manual						    PMDACONNECT(3)

NAME
pmdaConnect - establish a connection between a daemon PMDA and PMCD C SYNOPSIS
#include <pcp/pmapi.h> #include <pcp/impl.h> #include <pcp/pmda.h> void pmdaConnect(pmdaInterface *dispatch); cc ... -lpcp_pmda -lpcp DESCRIPTION
pmdaConnect initializes an IPC channel between a PMDA(3) and the pmcd(1) process on the local host. The type of the connection is depen- dent on the e_io field of the pmdaExt structure: pmdaPipe Use stdin/stdout to communicate; assumes this is a pipe created by pmcd before the PMDA(3) was launched. pmdaInet Assume pmcd(1) will establish a connection to an IPv4 internet domain socket set up by the PMDA(3). The name or number of the port must be specified in the e_sockname or e_port fields of the pmdaExt structure, respectively. pmdaIPv6 Assume pmcd(1) will establish a connection to an IPv6 internet domain socket set up by the PMDA(3). The name or number of the port must be specified in the e_sockname or e_port fields of the pmdaExt structure, respectively. pmdaUnix Assume pmcd(1) will establish a connection to a unix domain socket set up by the PMDA(3). The port number must be specified in the e_port field of the pmdaExt structure. pmdaUnknown The initial value of e_io which defaults to using stdin/stdout. The relevant pmdaExt fields are initialized by pmdaInit(3) and set by pmdaGetOpt(3), so most PMDAs should not need to access or modify them. DIAGNOSTICS
pmdaConnect will log the type of connection made to pmcd(1) if the PMAPI(3) debug control variable (pmDebug) has the DBG_TRACE_LIBPMDA flag set. If an error occurs that is unrecoverable, dispatch->status is set to a value less than 0, otherwise it is zero or positive. CAVEAT
The PMDA must be using PMDA_INTERFACE_2 or later, as specified in the call to pmdaDaemon(3). SEE ALSO
pmcd(1), pipe(2), socket(2), PMAPI(3), PMDA(3), pmdaDaemon(3), pmdaGetOpt(3) and pmdaInit(3). Performance Co-Pilot PCP PMDACONNECT(3)
Man Page