---
title: Trino
description: Collects performance and usage stats on Trino clusters
breadcrumbs: Docs > Integrations > Trino
---

# Trino
Supported OS Integration version1.0.0
## Overview{% #overview %}

This check collects [Trino](https://trino.io/) metrics, such as the following examples:

- Overall activity metrics: completed/failed queries, data input/output size, execution time.
- Performance metrics: cluster memory, input CPU, execution CPU time.

## Setup{% #setup %}

### Installation{% #installation %}

For Agent v7.33.0+, follow the instructions below to install the Trino check on your host. See [Use Community Integrations](https://docs.datadoghq.com/agent/guide/use-community-integrations) to install with the Docker Agent or earlier versions of the Agent.

1. Run the following command to install the Agent integration:

   ```shell
   datadog-agent integration install -t datadog-trino==<INTEGRATION_VERSION>
   ```

1. Configure your integration similar to core [integrations](https://docs.datadoghq.com/getting_started/integrations/).

### Configuration{% #configuration %}

1. Edit the `trino.d/conf.yaml` file, in the `conf.d/` folder at the root of your Agent's configuration directory, to start collecting your Trino performance data. See the [sample trino.d/conf.yaml](https://github.com/DataDog/integrations-extras/blob/master/trino/datadog_checks/trino/data/conf.yaml.example) for all available configuration options.

This check has a limit of 350 metrics per instance. The number of returned metrics is indicated when running the Datadog Agent [status command](https://docs.datadoghq.com/agent/guide/agent-commands/#agent-status-and-information). You can specify the metrics you are interested in by editing the [configuration](https://github.com/DataDog/integrations-extras/blob/master/trino/datadog_checks/trino/data/conf.yaml.example). To learn how to customize the metrics to collect, read [JMX Checks](https://docs.datadoghq.com/integrations/java/). If you need to monitor more metrics, contact [Datadog support](https://docs.datadoghq.com/help/).

1. [Restart the Agent](https://docs.datadoghq.com/agent/guide/agent-commands/#start-stop-and-restart-the-agent)

### Validation{% #validation %}

[Run the Agent's `status` subcommand](https://docs.datadoghq.com/agent/guide/agent-commands/#agent-status-and-information) and look for Trino under the Checks section.

## Data Collected{% #data-collected %}

### Metrics{% #metrics %}

|  |
|  |
| **trino.execution.abandoned\_queries.one\_minute.count**(gauge)                | Abandoned queries - one minute count.*Shown as query*                                              |
| **trino.execution.abandoned\_queries.one\_minute.rate**(gauge)                 | Abandoned queries - one minute rate.*Shown as query*                                               |
| **trino.execution.abandoned\_queries.total\_count**(gauge)                     | Abandoned queries - total count.*Shown as query*                                                   |
| **trino.execution.canceled\_queries.one\_minute.count**(gauge)                 | Canceled queries - one minute count.*Shown as query*                                               |
| **trino.execution.canceled\_queries.one\_minute.rate**(gauge)                  | Canceled queries - one minute queries per second.*Shown as query*                                  |
| **trino.execution.canceled\_queries.total\_count**(gauge)                      | Canceled queries - total count.*Shown as query*                                                    |
| **trino.execution.completed\_queries.one\_minute.count**(gauge)                | Completed queries - one minute count.*Shown as query*                                              |
| **trino.execution.completed\_queries.one\_minute.rate**(gauge)                 | Completed queries - one minute queries per second.*Shown as query*                                 |
| **trino.execution.completed\_queries.total\_count**(gauge)                     | Completed queries - total count.*Shown as query*                                                   |
| **trino.execution.consumed\_cpu\_time\_secs.one\_minute.count**(gauge)         | CPU (processing) time consumed - one minute count (seconds).*Shown as second*                      |
| **trino.execution.consumed\_cpu\_time\_secs.one\_minute.rate**(gauge)          | CPU (processing) time consumed - one minute rate.*Shown as second*                                 |
| **trino.execution.consumed\_cpu\_time\_secs.total\_count**(gauge)              | CPU (processing) time consumed - total count (seconds).*Shown as second*                           |
| **trino.execution.cpu\_input\_byte\_rate.all\_time.avg**(gauge)                | Distribution of query input data rates (cpu) - all time average bytes per second.*Shown as byte*   |
| **trino.execution.cpu\_input\_byte\_rate.all\_time.p75**(gauge)                | Distribution of query input data rates (cpu) - all time bytes per second - p75.*Shown as byte*     |
| **trino.execution.cpu\_input\_byte\_rate.all\_time.p95**(gauge)                | Distribution of query input data rates (cpu) - all time bytes per second - p95.*Shown as byte*     |
| **trino.execution.cpu\_input\_byte\_rate.one\_minute.avg**(gauge)              | Distribution of query input data rates (cpu) - one minute average bytes per second.*Shown as byte* |
| **trino.execution.cpu\_input\_byte\_rate.one\_minute.count**(gauge)            | Distribution of query input data rates (cpu) - one minute count.*Shown as byte*                    |
| **trino.execution.cpu\_input\_byte\_rate.one\_minute.max**(gauge)              | Distribution of query input data rates (cpu) - one minute max bytes per second.*Shown as byte*     |
| **trino.execution.cpu\_input\_byte\_rate.one\_minute.min**(gauge)              | Distribution of query input data rates (cpu) - one minute min bytes per second.*Shown as byte*     |
| **trino.execution.cpu\_input\_byte\_rate.one\_minute.p75**(gauge)              | Distribution of query input data rates (cpu) - one minute bytes per second - p75.*Shown as byte*   |
| **trino.execution.cpu\_input\_byte\_rate.one\_minute.p95**(gauge)              | Distribution of query input data rates (cpu) - one minute bytes per second - p95.*Shown as byte*   |
| **trino.execution.cpu\_input\_byte\_rate.one\_minute.total**(gauge)            | Distribution of query input data rates (cpu) - one minute total bytes per second.*Shown as byte*   |
| **trino.execution.execution\_time.all\_time.avg**(gauge)                       | Query execution time (millisecond) - all time average.*Shown as millisecond*                       |
| **trino.execution.execution\_time.all\_time.count**(gauge)                     | Query execution time (millisecond) - all time count.*Shown as millisecond*                         |
| **trino.execution.execution\_time.all\_time.max**(gauge)                       | Query execution time (millisecond) - all time max.*Shown as millisecond*                           |
| **trino.execution.execution\_time.all\_time.min**(gauge)                       | Query execution time (millisecond) - all time min.*Shown as millisecond*                           |
| **trino.execution.execution\_time.all\_time.p75**(gauge)                       | Query execution time (millisecond) - all time - p75.*Shown as millisecond*                         |
| **trino.execution.execution\_time.all\_time.p95**(gauge)                       | Query execution time (millisecond) - all time - p95.*Shown as millisecond*                         |
| **trino.execution.execution\_time.one\_minute.avg**(gauge)                     | Query execution time (millisecond) - one minute average.*Shown as millisecond*                     |
| **trino.execution.execution\_time.one\_minute.max**(gauge)                     | Query execution time (millisecond) - one minute max.*Shown as millisecond*                         |
| **trino.execution.execution\_time.one\_minute.min**(gauge)                     | Query execution time (millisecond) - one minute min.*Shown as millisecond*                         |
| **trino.execution.execution\_time.one\_minute.p75**(gauge)                     | Query execution time (millisecond) - one minute p75.*Shown as millisecond*                         |
| **trino.execution.execution\_time.one\_minute.p95**(gauge)                     | Query execution time (millisecond) - one minute p95.*Shown as millisecond*                         |
| **trino.execution.executor.blocked\_splits**(gauge)                            | Blocked splits count.*Shown as split*                                                              |
| **trino.execution.executor.running\_splits**(gauge)                            | Running splits count.*Shown as split*                                                              |
| **trino.execution.executor.total\_splits**(gauge)                              | Total splits count.*Shown as split*                                                                |
| **trino.execution.executor.waiting\_splits**(gauge)                            | Waiting splits count.*Shown as split*                                                              |
| **trino.execution.executor.processor\_executor.queued\_task\_count**(gauge)    | Queued task count.*Shown as task*                                                                  |
| **trino.execution.external\_failures.one\_minute.count**(gauge)                | Failed queries (external) - one minute count.*Shown as query*                                      |
| **trino.execution.external\_failures.one\_minute.rate**(gauge)                 | Failed queries (external) - one minute failures per second.*Shown as query*                        |
| **trino.execution.external\_failures.total\_count**(gauge)                     | Failed queries (external) - total count.*Shown as query*                                           |
| **trino.execution.failed\_queries.one\_minute.count**(gauge)                   | Failed queries - one minute count.*Shown as query*                                                 |
| **trino.execution.failed\_queries.one\_minute.rate**(gauge)                    | Failed queries - one minute queries per second.*Shown as query*                                    |
| **trino.execution.failed\_queries.total\_count**(gauge)                        | Failed queries - total count.*Shown as query*                                                      |
| **trino.execution.internal\_failures.one\_minute.count**(gauge)                | Failed queries (internal) - one minute count.*Shown as query*                                      |
| **trino.execution.internal\_failures.one\_minute.rate**(gauge)                 | Failed queries (internal) - one minute queries per second.*Shown as query*                         |
| **trino.execution.internal\_failures.total\_count**(gauge)                     | Failed queries (internal) - total count.*Shown as query*                                           |
| **trino.execution.insufficient\_resources\_failures.one\_minute.count**(gauge) | Insufficient resources failures one minute count.                                                  |
| **trino.execution.insufficient\_resources\_failures.one\_minute.rate**(gauge)  | Insufficient resources failures one minute failures per second.                                    |
| **trino.execution.insufficient\_resources\_failures.total\_count**(gauge)      | Insufficient resources failures total count.                                                       |
| **trino.execution.running\_queries**(gauge)                                    | Active queries.*Shown as query*                                                                    |
| **trino.execution.started\_queries.one\_minute.count**(gauge)                  | Queries started - one minute count.*Shown as query*                                                |
| **trino.execution.started\_queries.one\_minute.rate**(gauge)                   | Queries started - one minute queries per second.*Shown as query*                                   |
| **trino.execution.started\_queries.total\_count**(gauge)                       | Queries started - total count.*Shown as query*                                                     |
| **trino.execution.user\_error\_failures.one\_minute.count**(gauge)             | Failed queries (user error) - one minute count.*Shown as query*                                    |
| **trino.execution.user\_error\_failures.one\_minute.rate**(gauge)              | Failed queries (user error) - one minute queries per second.*Shown as query*                       |
| **trino.execution.user\_error\_failures.total\_count**(gauge)                  | Failed queries (user error) - total count.*Shown as query*                                         |
| **trino.execution.wall\_input\_bytes\_rate.one\_minute.avg**(gauge)            | Input data rate (bytes) - one minute average.*Shown as byte*                                       |
| **trino.execution.wall\_input\_bytes\_rate.one\_minute.max**(gauge)            | Input data rate (bytes) - one minute max.*Shown as byte*                                           |
| **trino.execution.wall\_input\_bytes\_rate.one\_minute.min**(gauge)            | Input data rate (bytes) - one minute min.*Shown as byte*                                           |
| **trino.execution.wall\_input\_bytes\_rate.one\_minute.p75**(gauge)            | Input data rate (bytes) - one minute p75.*Shown as byte*                                           |
| **trino.execution.wall\_input\_bytes\_rate.one\_minute.p95**(gauge)            | Input data rate (bytes) - one minute p95.*Shown as byte*                                           |
| **trino.memory.assigned\_queries**(gauge)                                      | Memory (assigned queries).*Shown as byte*                                                          |
| **trino.memory.blocked\_nodes**(gauge)                                         | Memory (blocked nodes).*Shown as byte*                                                             |
| **trino.memory.free\_distributed\_bytes**(gauge)                               | Memory (free distributed bytes).*Shown as byte*                                                    |
| **trino.memory.nodes**(gauge)                                                  | Memory (nodes).*Shown as byte*                                                                     |
| **trino.memory.reserved\_distributed\_bytes**(gauge)                           | Memory (reserved distributed bytes).*Shown as byte*                                                |
| **trino.memory.reserved\_revocable\_distributed\_bytes**(gauge)                | Memory (reserved revocable distributed bytes).*Shown as byte*                                      |
| **trino.memory.total\_distributed\_bytes**(gauge)                              | Memory (total distributed bytes).*Shown as byte*                                                   |

### Events{% #events %}

The Trino integration does not include any events.

### Service Checks{% #service-checks %}

The Trino integration does not include any service checks.

## Troubleshooting{% #troubleshooting %}

Need help? Contact [Datadog support](https://docs.datadoghq.com/help/).
