イベントリスナー

Presto は、以下のイベントに対して呼び出されるカスタムイベントリスナーをサポートしています。

  • クエリ作成

  • クエリ完了(成功または失敗)

  • スプリット完了(成功または失敗)

この機能により、カスタムロギング、デバッグ、パフォーマンス分析プラグインの開発が可能になります。Prestoクラスタでは、一度にアクティブにできるイベントリスナーは1つだけです。

実装

EventListenerFactory は、EventListenerインスタンスの作成を担当します。また、Prestoの設定で管理者が使用するEventListenerの名前も定義します。EventListenerの実装は、処理対象のイベントタイプに対するメソッドを実装します。

EventListenerEventListenerFactoryの実装は、プラグインとしてラップしてPrestoクラスタにインストールする必要があります。

設定

EventListenerEventListenerFactoryを実装するプラグインをコーディネーターにインストールした後、etc/event-listener.propertiesファイルを使用して設定します。event-listener.name以外のすべてのプロパティは、EventListenerの実装に固有です。

event-listener.nameプロパティは、PrestoがEventListenerFactory.getName()によって返される名前に基づいて、登録済みのEventListenerFactoryを検索するために使用されます。残りのプロパティは、マップとしてEventListenerFactory.create()に渡されます。

設定ファイルの例

event-listener.name=custom-event-listener
custom-property1=custom-value1
custom-property2=custom-value2