Trino supports custom event listeners that are invoked for the following events:
Query completion (success or failure)
Split completion (success or failure)
This functionality enables development of custom logging, debugging and performance analysis plugins. In a Trino cluster, only a single event listener plugin can be active at a time .
EventListenerFactory is responsible for creating an
EventListener instance. It also defines an
name which is used by the administrator in a Trino configuration.
EventListener implement methods for the event types
they are interested in handling.
The implementation of
must be wrapped as a plugin and installed on the Trino cluster.
After a plugin that implements
EventListenerFactory has been installed on the coordinator, it is
configured using an
etc/event-listener.properties file. All of the
properties other than
event-listener.name are specific to the
event-listener.name property is used by Trino to find a registered
EventListenerFactory based on the name returned by
EventListenerFactory.getName(). The remaining properties are passed
as a map to
Example configuration file:
event-listener.name=custom-event-listener custom-property1=custom-value1 custom-property2=custom-value2
Multiple event listeners#
Multiple instances of the same, or different event listeners can be
installed and configured by setting
to a comma separated list of config files.