__pmSpecLocalPMDA - process command-line argument for the table of DSO
char * __pmSpecLocalPMDA(const char *spec)
cc ... -lpcp
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
__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
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 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),
- 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
If spec is parse successfully, then __pmLocalPMDA(3) is called
with the extracted arguments.
On success, __pmSpecLocalPMDA will return NULL.
On error or failure, __pmSpecLocalPMDA will return a pointer to
a static error message.
Some examples of valid spec strings:
clear Delete all entries from the DSO table.
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
Delete the entry for the DSO with domain 123.
Delete the entry with a pathname to the DSO that matches
Delete the entry for the DSO with either domain 123
and/or a pathname to the DSO that matches foo/foo_pmda.
PMAPI(3), __pmLocalPMDA(3) and pmNewContext(3).