__pmspeclocalpmda(3) [centos man page]
PMSPECLOCALPMDA(3) Library Functions Manual PMSPECLOCALPMDA(3) NAME
__pmSpecLocalPMDA - process command-line argument for the table of DSO PMDAs C SYNOPSIS
#include <pcp/pmapi.h> #include <pcp/impl.h> char *__pmSpecLocalPMDA(const char *spec); 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). __pmSpecLocalPMDA provides a convenience wrapper to be used by applications that wish to use a command line argument (usually with -K) to control the DSO PMDAs that are available for a PM_CONTEXT_LOCAL context. The spec argument specifies actions for one or more DSO PMDAs using up to four fields separated by commas (``,''), namely: - an opcode with one of the values add (add a new entry), del (delete an existing entry) or clear (clear all entries from the table). - the PMDA's domain number - the path to the PMDA DSO (may be absolute or relative to the $PCP_VAR_DIR/pmdas directory and the DSO suffix is optional), and - the name of the PMDA's initialization routine. All fields are required to add a new entry. To delete an entry the opcode is required plus either or both of the domain number and path fields. To clear all entries, only the opcode is required. If spec is parsed successfully, then __pmLocalPMDA(3) is called with the extracted arguments. RETURN VALUE
On success, __pmSpecLocalPMDA will return NULL. On error or failure, __pmSpecLocalPMDA will return a pointer to a static error message. EXAMPLES
Some examples of valid spec strings: clear Delete all entries from the DSO table. add,123,foo/foo_pmda,foo_init Add the ``foo'' PMDA using domain 123. The PMDA's DSO is most likely in below the directory $PCP_PMDAS_DIR and named foo/foo_pmda.so (for ELF-style platforms) or foo/foo_pmda.dylib (for BSD-style platforms) or fooo_pmda.dll (for Windows-style plat- forms). The initialization routine for the ``foo'' PMDA is foo_init(). del,123 Delete the entry for the DSO with domain 123. del,,foo/foo_pmda Delete the entry with a pathname to the DSO that matches foo/foo_pmda. del,123,foo/foo_pmda Delete the entry for the DSO with either domain 123 and/or a pathname to the DSO that matches foo/foo_pmda. SEE ALSO
PMAPI(3), __pmLocalPMDA(3) and pmNewContext(3). Performance Co-Pilot PMSPECLOCALPMDA(3)
Check Out this Related Man Page
GENPMDA(1) General Commands Manual GENPMDA(1) NAME
genpmda - Performance Co-Pilot PMDA Generator SYNOPSIS
genpmda [-d] [-D domain] [-s stdpmid] [-t topdir] [-n pmns] [-o dir] [-v] -i IAM -c config DESCRIPTION
Genpmda is a rapid application development tool for creating new Performance Metrics Domain Agents, see PMDA(3). It provides a very easy and efficient way to extend the Performance Co-pilot (PCP) with new performance metrics without needing to understand the low level details of how PMDAs are constructed. Genpmda reads a config file containing an augmented Performance Metrics Name Space, see pmns(5), and automatically generates virtually all of the source code to implement a fully functional PMDA, including the Makefile, name space, support scripts for configuring the new PMDA, and the metrics help text. Fairly simple PMDAs can be automatically generated from the config file without writing any additional code. More complicated PMDAs, e.g. containing multiple instance domains, require only the refresh methods for the instance domains to be written manually. An example of the config file format accepted by genpmda is given below. OPTIONS
Required options: -c config input config file, see example below -i IAM pmda name IAM, should appear in stdpmid or the -D option must be used to specify a domain. Other options: -d generate an Install script for a daemon PMDA (default is DSO) -t topdir use topdir in generated GNUmakefile, default ../../.. -n pmns use pmns as root of the namespace (default matches -i flag) -D domain use domain number in the generated pmns and domain.h (if -s is not given) -s stdpmid path to stdpmid (default ../../pmns/stdpmid) -o dir use dir for generated source code, default ./generated -v print verbose messages about what genpmda is doing. Example: Generate an "example" pmda using domain 99: genpmda -D 99 -v -i EXAMPLE -c example.conf Here is example.conf config file (for the required -c option): example { metric } example.metric { ## metric string ## pmid EXAMPLE:CLUSTER:0 ## indom PM_INDOM_NULL ## type PM_TYPE_STRING ## units PMDA_PMUNITS(0,0,0,0,0,0) ## semantics PM_SEM_DISCRETE ## briefhelptext one line help text for example.metric.string ## helptext long help text for example.metric.string ## helptext This is the second line of the long help text ## helptext and this is the third line. ## fetch function example_string_fetch_callback ## code atom->cp = "hello world"; ## code return 1; ## endmetric } 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 configura- tion file, as described in pcp.conf(5). SEE ALSO
PMDA(3), pmns(5), pmcd(1), pcp.conf(5) and pcp.env(5). DIAGNOSTICS
Many, but all are intended to be easily understood. Performance Co-Pilot PCP GENPMDA(1)