Provided by: libpcp3-dev_5.3.6-1build1_amd64 bug

NAME

       pmSpecLocalPMDA - process command-line argument for the table of DSO PMDAs

C SYNOPSIS

       #include "pmapi.h"
       #include "libpcp.h"

       char *pmSpecLocalPMDA(const char *spec);

       cc ... -lpcp

DESCRIPTION

       For  Performance  Co-Pilot (PCP) applications, 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 the DSO table is updated with the extracted fields.

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.

SEE ALSO

       pmcd(1), PMAPI(3) and pmNewContext(3).