> ## Documentation Index
> Fetch the complete documentation index at: https://www.checklyhq.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Export traces to Grafana Tempo

> Send Checkly traces to Grafana Cloud Tempo through the Grafana OTLP gateway.

Before you start, read the prerequisites on the [OTLP export page](https://www.checklyhq.com/docs/integrations/observability/traces/otlp.md) and check [what is sent](https://www.checklyhq.com/docs/integrations/observability/traces/otlp.md#what-is-sent).
This page only covers the values Grafana Tempo needs.

1. Get the endpoint. In the Grafana Cloud portal, open your stack, select the **OpenTelemetry** tile, then **Configure**. Copy the host from the tile instead of building it yourself, because it depends on your stack's region. The Checkly URL ends in `/otlp/v1/traces`, for example `https://otlp-gateway-prod-eu-west-2.grafana.net/otlp/v1/traces`. Grafana rejects traces sent to `<stack>.grafana.net/tempo`.

   ![OpenTelemetry tile on the Grafana Cloud stack page](https://mintcdn.com/checkly-422f444a/WJFfxOuqqqZjE4cw/images/docs/images/otel/export-traces/grafana-cloud-opentelemetry.png?fit=max\&auto=format\&n=WJFfxOuqqqZjE4cw\&q=85\&s=0e23420c2f7911b4db66884b075a25f0)

   ![OTLP endpoint and instance ID on the Grafana Cloud OpenTelemetry page](https://mintcdn.com/checkly-422f444a/WJFfxOuqqqZjE4cw/images/docs/images/otel/export-traces/grafana-otlp-endpoint-config.png?fit=max\&auto=format\&n=WJFfxOuqqqZjE4cw\&q=85\&s=16212932d6f73e3c5719e1298c897c3b)

2. Get the key. On the same page, create a token with the `traces:write` scope and copy your instance ID. Then base64 encode both on your own machine. The output must be one line without a trailing newline.

   ![Create an API token dialog in Grafana Cloud with the traces:write scope](https://mintcdn.com/checkly-422f444a/WJFfxOuqqqZjE4cw/images/docs/images/otel/export-traces/create-otlp-token-grafana.png?fit=max\&auto=format\&n=WJFfxOuqqqZjE4cw\&q=85\&s=4442363568fd2e278f9243a50d4cf86a)

   ```bash theme={null}
   printf '%s' '<instanceID>:<token>' | base64 | tr -d '\n'
   ```

3. Paste the values into Checkly. On the [Traces settings page](https://app.checklyhq.com/settings/account/traces), turn on **Enable exporting traces**, paste the URL, and add the header from the table below.

   ![Export Traces settings with an endpoint URL and an authorization header](https://mintcdn.com/checkly-422f444a/ZqkuuvKIAXSvarDx/images/docs/images/otel/otel_export_traces_settings.png?fit=max\&auto=format\&n=ZqkuuvKIAXSvarDx\&q=85\&s=7c30faf59a524a1fd5673316a581ece0)

4. Find the spans. In Grafana, open **Explore** and select your stack's traces data source, named `grafanacloud-<stack>-traces`. The spans appear under service `checkly`.

   ![Traces data source selected in Grafana Explore](https://mintcdn.com/checkly-422f444a/WJFfxOuqqqZjE4cw/images/docs/images/otel/export-traces/grafana-cloud-tempo-source.png?fit=max\&auto=format\&n=WJFfxOuqqqZjE4cw\&q=85\&s=242e517a2fb85a84b4cb9d89b46cd1c5)

   ![Checkly traces in Grafana Explore](https://mintcdn.com/checkly-422f444a/WJFfxOuqqqZjE4cw/images/docs/images/otel/export-traces/grafana-explore-checkly-traces.png?fit=max\&auto=format\&n=WJFfxOuqqqZjE4cw\&q=85\&s=1e06e3a798ae4305e883010c35a1feac)

| Header name | Value |
| - | - |
| `Authorization` | `Basic <base64 of instanceID:token>` |

For self-hosted Tempo, use the [OTLP export page](https://www.checklyhq.com/docs/integrations/observability/traces/otlp.md) with your distributor's `/v1/traces` URL.

Grafana documents the endpoint and token in [Send data using OpenTelemetry Protocol](https://grafana.com/docs/grafana-cloud/send-data/otlp/send-data-otlp/).

To see failed runs, filter on the attribute `checkly.check.status` with the value `FAILED`.
The [OTLP export page](https://www.checklyhq.com/docs/integrations/observability/traces/otlp.md) has the span schema.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.