PMSPECLOCALPMDA(3)        Library Functions Manual        PMSPECLOCALPMDA(3)

NAME         top

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

C SYNOPSIS         top

       #include <pcp/pmapi.h>
       #include <pcp/impl.h>

       char *__pmSpecLocalPMDA(const char *spec);

       cc ... -lpcp

DESCRIPTION         top

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

       On success, __pmSpecLocalPMDA will return NULL.

       On error or failure, __pmSpecLocalPMDA will return a pointer to a
       static error message.

EXAMPLES         top

       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/ (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().

              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.

SEE ALSO         top

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

COLOPHON         top

       This page is part of the PCP (Performance Co-Pilot) project.
       Information about the project can be found at ⟨⟩.
       If you have a bug report for this manual page, send it to  This page was obtained from the project's upstream
       Git repository ⟨git://⟩ on 2017-03-13.  If you discover
       any rendering problems in this HTML version of the page, or you
       believe there is a better or more up-to-date source for the page, or
       you have corrections or improvements to the information in this
       COLOPHON (which is not part of the original manual page), send a mail

Performance Co-Pilot                                      PMSPECLOCALPMDA(3)