イベントリスナー¶
Presto は、以下のイベントに対して呼び出されるカスタムイベントリスナーをサポートしています。
- クエリ作成 
- クエリ完了(成功または失敗) 
- スプリット完了(成功または失敗) 
この機能により、カスタムロギング、デバッグ、パフォーマンス分析プラグインの開発が可能になります。Prestoクラスタでは、一度にアクティブにできるイベントリスナーは1つだけです。
実装¶
EventListenerFactory は、EventListenerインスタンスの作成を担当します。また、Prestoの設定で管理者が使用するEventListenerの名前も定義します。EventListenerの実装は、処理対象のイベントタイプに対するメソッドを実装します。
EventListenerとEventListenerFactoryの実装は、プラグインとしてラップしてPrestoクラスタにインストールする必要があります。
設定¶
EventListenerとEventListenerFactoryを実装するプラグインをコーディネーターにインストールした後、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