Слушатель событий#

Trino поддерживает пользовательские слушатели событий, которые вызываются для следующих событий:

  • Создание запроса

  • Завершение запроса (успешное или с ошибкой)

Детали события включают сессию, выполнение запроса, использование ресурсов, таймлайн и другое.

Эта функциональность позволяет разрабатывать плагины для пользовательского логирования, отладки и анализа производительности.

Реализация#

EventListenerFactory отвечает за создание экземпляра EventListener. Он также определяет имя EventListener, которое администратор использует в конфигурации Trino. Реализации EventListener реализуют методы для тех типов событий, обработкой которых они заинтересованы.

Реализация EventListener и EventListenerFactory должна быть упакована как плагин и установлена в кластере Trino.

Конфигурация#

После установки на координатор плагина, реализующего EventListener и EventListenerFactory, он настраивается с помощью файла etc/event-listener.properties. Все свойства, кроме event-listener.name, специфичны для реализации EventListener.

Свойство event-listener.name используется Trino для поиска зарегистрированного EventListenerFactory по имени, возвращаемому EventListenerFactory.getName(). Остальные свойства передаются в виде map в EventListenerFactory.create().

Пример файла конфигурации:

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

Несколько слушателей событий#

Trino поддерживает несколько экземпляров одинаковых или разных слушателей событий. Установите и настройте несколько экземпляров, задав event-listener.config-files в Config properties как список файлов конфигурации слушателей событий, разделенный запятыми:

event-listener.config-files=etc/event-listener.properties,etc/event-listener-second.properties