docs/src/main/sphinx/admin/jmx.md
Trino exposes a large number of different metrics via the Java Management Extensions (JMX).
You have to enable JMX by setting the ports used by the RMI registry and server
in the {ref}config.properties file <config-properties>:
jmx.rmiregistry.port=9080
jmx.rmiserver.port=9081
jmx.rmiregistry.port:
Specifies the port for the JMX RMI registry. JMX clients should connect to this port.jmx.rmiserver.port:
Specifies the port for the JMX RMI server. Trino exports many metrics,
that are useful for monitoring via JMX.Additionally configure a Java system property in the jvm.config with the RMI server port:
-Dcom.sun.management.jmxremote.rmi.port=9081
JConsole (supplied with the JDK), VisualVM, and
many other tools can be used to access the metrics in a client application.
Many monitoring solutions support JMX. You can also use the
{doc}/connector/jmx and query the metrics using SQL.
Many of these JMX metrics are a complex metric object such as a CounterStat
that has a collection of related metrics. For example, InputPositions has
InputPositions.TotalCount, InputPositions.OneMinute.Count, and so on.
A small subset of the available metrics are described below.
java.lang:type=Memory:HeapMemoryUsage.usedjava.lang:type=Threading:ThreadCounttrino.failuredetector:name=HeartbeatFailureDetector:ActiveCounttrino.memory:type=ClusterMemoryPool:name=general:FreeDistributedBytestrino.memory:name=ClusterMemoryManager:QueriesKilledDueToOutOfMemorytrino.execution:name=QueryManager:RunningQueriestrino.execution:name=QueryManager:StartedQueries.FiveMinute.Counttrino.execution:name=QueryManager:FailedQueries.FiveMinute.Counttrino.execution:name=QueryManager:InternalFailures.FiveMinute.Counttrino.execution:name=QueryManager:ExternalFailures.FiveMinute.Counttrino.execution:name=QueryManager:UserErrorFailures.FiveMinute.Counttrino.execution:name=QueryManager:ExecutionTime.FiveMinutes.P50trino.execution:name=QueryManager:WallInputBytesRate.FiveMinutes.P90trino.execution:name=SqlTaskManager:InputDataSize.FiveMinute.Counttrino.execution:name=SqlTaskManager:InputPositions.FiveMinute.CountMany connectors provide their own metrics. The metric names typically start with
trino.plugin.