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 parse 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 platforms). 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.