This is documentation for the next version of Grafana documentation. For the latest stable release, go to the latest version.

Grafana Cloud Enterprise Open source
Last reviewed: September 10, 2026

Tempo data source

Grafana ships preinstalled with the Tempo data source for Grafana Tempo, a high-volume, minimal-dependency distributed tracing backend from Grafana Labs. There’s nothing to install to get started. Use the Tempo data source to search and visualize traces, correlate traces with logs, metrics, and profiles, and monitor service dependencies with the Service Graph.

As of Grafana 13.2, Tempo is packaged as a standalone plugin so it can receive updates independently of Grafana releases. For details, refer to Plugin updates.

Want to learn more about traces and the other telemetry signals? Refer to Correlate telemetry signals.

Note

Grafana Cloud users: Grafana Cloud includes Grafana Cloud Traces, a pre-configured tracing data source backed by Tempo. You can use Grafana Cloud Traces to query traces without additional setup. Use the Tempo data source when you need to connect to a self-managed Tempo instance or require custom configuration such as trace correlations.

Supported features

The Tempo data source supports the following features:

FeatureSupportedNotes
TraceQL queriesYesQuery traces using TraceQL, the query language designed for traces
SearchYesFind traces by service name, span name, duration, and attributes
Service GraphYesVisualize service dependencies and RED metrics
Trace to logsYesNavigate from spans to related logs in Loki and other log data sources
Trace to metricsYesLink spans to metrics queries in Prometheus
Trace to profilesYesLink spans to profiling data in Grafana Pyroscope
Trace correlationsYesEmbed custom correlation links in trace views
StreamingYesDisplay TraceQL results as they become available
JSON trace uploadYesUpload and visualize trace files without a Tempo instance
ExploreYesAd-hoc trace investigation without dashboards
AlertingExperimentalEnable the tempoAlerting feature toggle to alert on TraceQL metrics queries, or use Prometheus metrics from the metrics generator

Tip

New to tracing? Learn what telemetry signals are and how they work together in Correlate telemetry signals (Grafana Cloud), or take the Introduction to tracing learning journey to learn about spans, traces, and how to read a trace in Grafana.

Prefer a queryless experience? Grafana Traces Drilldown lets you explore tracing data using RED metrics without writing TraceQL queries.

Get started

The following pages help you set up and use the Tempo data source:

To explore tracing data from a Tempo data source, try Grafana Traces Drilldown on Grafana Play:

Give it a try using Grafana Play
Give it a try using Grafana Play

With Grafana Play, you can explore and see how it works, learning from practical examples to accelerate your development. This feature can be seen on Grafana Traces Drilldown.

Connect traces to other signals

After you’ve connected Grafana to Tempo, you can configure correlations between traces and other signals:

  • Trace to logs: Navigate from spans to related logs in Loki, including bidirectional linking.
  • Trace to metrics: Link spans to metrics queries in Prometheus or other metrics data sources.
  • Trace to profiles: Link spans to profiling data in Grafana Pyroscope with embedded flame graphs.
  • Trace correlations: Create custom correlation links to any data source or external URL.

Plugin updates

Starting with Grafana v13.2, the Tempo data source is a standalone plugin, preinstalled in both Grafana OSS and Enterprise. This enables more frequent updates independent of Grafana releases. Grafana automatically checks the plugin catalog on each server restart and installs the latest version within the current major version. New major versions aren’t installed automatically.

To adjust this behavior:

  • Opt out of auto-updates: Set preinstall_auto_update to false in your configuration file.
  • Update manually: Update at any time from the Administration > Plugins page without restarting Grafana.

The standalone plugin requires Grafana 12.3.0 or later. The Tempo data source bundled with Grafana 13.1 and earlier continues to work as before. These versions are unaffected by the externalization.

Users running Grafana 12.3.x through 13.1.x can install the standalone plugin from the plugin catalog if they want the latest features before upgrading to Grafana 13.2. To use the standalone plugin with these versions, add the following to your configuration file:

ini
[plugin.tempo]
as_external = true

[plugins]
; Install the latest version on startup:
preinstall_sync = tempo
; Or install a specific version:
; preinstall_sync = tempo@<version>

Note

On Grafana Cloud, the Tempo plugin is managed by Grafana and updates automatically.

Query with the Grafana CLI

You can query this data source from the command line and from AI coding agents using the Grafana CLI, gcx. gcx gives you and your agent structured, terminal-based access to your Grafana data sources, which is useful for automation and agent-driven investigations.

gcx supports Grafana Cloud and Grafana OSS or Enterprise v12 and later. Before you query, install and authenticate gcx. Refer to the gcx CLI documentation for installation, configuration, and the full command reference.

For example, to search and query your Tempo data source, use the gcx datasources tempo commands:

sh
# Search for traces with a TraceQL query
gcx datasources tempo query -d <DATASOURCE_UID> '{ span.http.status_code >= 500 }' --since 1h

# Retrieve a single trace by its ID
gcx datasources tempo get -d <DATASOURCE_UID> <TRACE_ID>

# List all trace labels, or the values for a single label
gcx datasources tempo labels -d <DATASOURCE_UID>
gcx datasources tempo labels -d <DATASOURCE_UID> --label service.name

# Run a TraceQL metrics query that returns time series
gcx datasources tempo metrics -d <DATASOURCE_UID> '{ } | rate()' --since 1h

Replace <DATASOURCE_UID> with the UID of your Tempo data source and <TRACE_ID> with a hex-encoded trace ID. You can omit the -d flag when datasources.tempo is configured in your gcx context. The query command searches for traces, get retrieves a single trace by ID, and metrics returns time series from a TraceQL metrics query.