Man page - pmsearchclose(3)

Packages contains this manual

Manual

PMSEARCHSETUP

NAME
C SYNOPSIS
DESCRIPTION
DIAGNOSTICS
SEE ALSO

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 application for accessing the fast and scalable metric, instance and instance 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 completion 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 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 (key-value server), pmSearchSetEventLoop (libuv), pmSearchSetConfiguration (configuration file) and pmSearchSetMetricRegistry (MMV instrumentation) interfaces 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 primary 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), mmv_stats_registry (3), pmSearchInfo (3), pmSearchTextInDom (3), pmSearchTextQuery (3), pmSearchTextSuggest (3), PMAPI (3) and PMWEBAPI (3).