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
foo\foo_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.