pmsearchsetup(3) — Linux manual page
PMSEARCHSETUP(3) Library Functions Manual PMSEARCHSETUP(3)
NAME
pmSearchSetup, pmSearchSetSlots, pmSearchSetEventLoop,
pmSearchSetConfiguration, pmSearchSetMetricRegistry,
pmSearchClose - fast, scalable and full-text capable search
services
C SYNOPSIS
#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
The pmSearchSetup and related API functions prepare an applica‐
tion for accessing the fast and scalable metric, instance and in‐
stance domain, full-text capable, searching functionality of the
Performance 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/pmwe‐
bapi.h> for exact 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
success (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 (redis), pmSearchSetEvent‐
Loop (libuv), pmSearchSetConfiguration (configuration file) and
pmSearchSetMetricRegistry (MMV instrumentation) interfaces pro‐
vide a mechanism for passing in state for each of the associated
subsystems.
Finally, a call to pmSearchClose is used to end services avail‐
able from a search module previously established through pm‐
SearchSetup.
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
Where these functions return a status code, this is always zero
on success. On failure a negative PMAPI error code is returned.
SEE ALSO
pmproxy(1), pmlogger(1), pmsearch(1), redis-server(1),
mmv_stats_registry(3), pmSearchInfo(3), pmSearchTextInDom(3),
pmSearchTextQuery(3), pmSearchTextSuggest(3), PMAPI(3) and
PMWEBAPI(3).
COLOPHON
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 2024-06-14.
(At that time, the date of the most recent commit that was found
in the repository was 2024-06-14.) 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)