pmsearchsetup(3) — Linux manual page

NAME | C SYNOPSIS | DESCRIPTION | DIAGNOSTICS | SEE ALSO | COLOPHON

PMSEARCHSETUP(3)         Library Functions Manual        PMSEARCHSETUP(3)

NAME         top

       pmSearchSetup, pmSearchSetSlots, pmSearchSetEventLoop,
       pmSearchSetConfiguration, pmSearchSetMetricRegistry, pmSearchClose
       - fast, scalable and full-text capable search services

C SYNOPSIS         top

       #include <pcp/pmwebapi.h>

       int pmSearchSetup(pmSearchModule *module, void *arg);

       int pmSearchSetSlots(pmSearchModule *module, void *slots);
       int pmSearchSetEventLoop(pmSearchModule *module, void *events);
       int pmSearchSetConfiguration(pmSearchModule *module, struct dict
               *config);
       int pmSearchSetMetricRegistry(pmSearchModule *module, struct
               mmv_registry *registry);

       int pmSearchClose(pmSearchModule *module);

       cc ... -lpcp_web

DESCRIPTION         top

       The pmSearchSetup and related API functions prepare an application
       for  accessing the fast and scalable metric, instance and instance
       domain, full-text capable, searching functionality of the  Perfor‐
       mance Co-Pilot (PCP).

       This  functionality  is  provided  trough asynchronous APIs, which
       function in event-driven fashion.  The  interface  described  here
       prepare  a  given search module which associates callback routines
       with certain asynchronous events that occur as part  of  servicing
       search requests.

       As  a  general  pattern, all interfaces in these APIs that need to
       invoke callbacks provided by the  calling  program  will  take  an
       opaque  (void  *  pointer)  arg  parameter.   This pointer will be
       passed through unchanged and is typically used to  access  a  data
       structure maintaining state within the calling program.

       Where  asynchronous setup is required by pmSearchSetup its comple‐
       tion will be indicated through use of the on_setup callback, which
       is part of the passed in pmSearchModule structure. This  structure
       also provides for custom diagnostics handling, through the on_info
       callback. These are self-explanatory, see <pcp/pmwebapi.h> for ex‐
       act calling conventions.

       The  callbacks registered by pmSearchSetup to handle events are as
       follows:

       pmSearchTextResultCallBack on_text_result
            Callback is called once for each item of search result that
            matches a given query passed by pmSearchTextInDom(3),
            pmSearchTextQuery(3), pmSearchTextSuggest(3).

       pmSearchMetricsCallBack on_metrics
            Callback is called for results of a call to pmSearchInfo(3).

       pmSearchDoneCallBack on_done
            On completion of all asynchronous interfaces that return suc‐
            cess (zero return code), this callback will be called.  It
            provides a status code indicating overall success (zero) or
            failure (negative PMAPI code) of the operation.

       The helper functions pmSearchSetSlots (key-value server), pm‐
       SearchSetEventLoop (libuv), pmSearchSetConfiguration (configura‐
       tion file) and pmSearchSetMetricRegistry (MMV instrumentation) in‐
       terfaces provide a mechanism for passing in state for each of the
       associated subsystems.

       Finally, a call to pmSearchClose is used to end services available
       from a search module previously established through pmSearchSetup.

       Within PCP, the pmproxy(1) and pmsearch(1) utilities are the pri‐
       mary users of the interfaces, providing REST API and command line
       search services respectively.

DIAGNOSTICS         top

       Where these functions return a status code, this is always zero on
       success.  On failure a negative PMAPI error code is returned.

SEE ALSO         top

       pmproxy(1), pmlogger(1), pmsearch(1), mmv_stats_registry(3),
       pmSearchInfo(3), pmSearchTextInDom(3), pmSearchTextQuery(3),
       pmSearchTextSuggest(3), PMAPI(3) and PMWEBAPI(3).

COLOPHON         top

       This page is part of the PCP (Performance Co-Pilot) project.  In‐
       formation about the project can be found at ⟨http://www.pcp.io/⟩.
       If you have a bug report for this manual page, send it to
       pcp@groups.io.  This page was obtained from the project's upstream
       Git repository ⟨https://github.com/performancecopilot/pcp.git⟩ on
       2025-02-02.  (At that time, the date of the most recent commit
       that was found in the repository was 2025-01-30.)  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 to man-pages@man7.org

Performance Co-Pilot               PCP                   PMSEARCHSETUP(3)

Pages that refer to this page: pmsearchinfo(3)pmsearchtextindom(3)pmsearchtextquery(3)pmsearchtextsuggest(3)