Provided by: libpcp3-dev_3.8.12ubuntu1_amd64 bug

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
              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

       PMAPI(3), __pmLocalPMDA(3) and pmNewContext(3).