Tracing for a distributed world

Grafana Traces (powered by Tempo) provides an easy-to-use, highly scalable, and cost-effective distributed tracing backend. Not indexing the traces makes it possible to store orders of magnitude more trace data for the same cost, and removes the need for sampling.

Why use Grafana for traces?

Reduce index size

Performance at scale

Unlike other tracing tools, Grafana Traces does not index the traces which makes it possible to store orders of magnitude more trace data for the same cost, and removes the need for sampling.
  • Stores orders of magnitude more trace data for the same cost, and removes the need for sampling.
  • Reduces the TCO by an order of magnitude and makes the system overall much easier to use.

Integrated with your tools; correlated with your metadata

Because Grafana Traces is deeply integrated within Grafana, it allows you to pivot seamlessly between metrics, logs, and traces — for example, leveraging your existing logs to find the trace you care about.
  • Enables jumping between different data sources and different data types.
  • Accepts trace spans in multiple formats including Jaeger, OpenTelemetry, and Zipkin.

Maximum traces, minimal overhead

With Grafana Traces, users are able to dive deeper into their observability data and pinpoint specific traces in order to answer questions like:

query examples

By storing the traces by ID, you get visibility into your applications without managing the overhead of an Elasticsearch or Cassandra cluster.

It’s also simple to set up and operate — no matter how complex your system is!

Check out some examples →

Cloud native

Grafana Traces is available as a containerized application, and you can run it on any orchestration engine like Kubernetes, Mesos, etc. The various services can be horizontally scaled depending on the workload on the ingest/query path. You can also use cloud native object storage, such as Google Cloud Storage, Amazon S3, or Azure Blob Storage.

Choose the version that works best for you

To use Grafana Traces, you have three options:

Grafana Tempo

An open source, easy-to-use and high-scale distributed tracing backend.

For users who prefer to set up, administer, and maintain their own installation.

Easiest way to get started

Cloud Traces

Offered as a fully managed service, Grafana Cloud Traces is a highly scalable, and cost-effective distributed tracing backend based on Grafana Tempo.

Managed and administered by Grafana Labs with free and paid options for individuals, teams, and large enterprises.

Includes a robust free tier with access to 50GB of traces.

Enterprise Traces

A self-managed distributed tracing backend based on Grafana Tempo that includes enterprise-grade features and expert support from Grafana Labs.

For organizations that have specific privacy or security requirements and need a self-managed environment.

Debug slow requests faster

Grafana exemplars allow you to link metrics directly to traces so you can discover traces directly from your metrics. This allows you to really short-cut the traditional debugging flow, so you go from:

debug requests

You can have links to traces based on your metrics query directly embedded in your Grafana graph. Call up p99s, 500 error codes, or specific endpoints using a Prometheus query, and all of your traces now become relevant examples of the pattern you’re looking at.

Pinpoint the source of errors

Loki and other log data sources can be configured to create links from trace IDs in log lines. Using logs, you can search by path, status code, latency, user, IP address, or anything else you can stuff onto the same log line as a traceID.

By indexing traces and logs, individual teams can customize their indexes into their traces. On the same line as traceID, each team can log any field that is meaningful to them, and this instantly creates a searchable field for traces as well.

Identify errors coming from other services

To link from a trace back into logs, the Grafana Agent allows you to decorate your traces, logs, and metrics with consistent metadata, which then creates correlations that were not previously possible. After jumping from an exemplar to a trace, you can now go directly to the logs of the struggling service. The trace immediately identifies what element of your request path caused the error, and the logs help you identify why.

Traces + Grafana + your existing logging tool

One of the benefits of using Grafana Traces is that it’s compatible with the tools and services you’re already using. For example, if you’ve invested in Elasticsearch or Splunk for your logging backend, you can easily link from your logging data sources to Grafana Traces and still be able to jump directly from logs to traces faster and more powerfully than ever before.

pro tip Pro tip

If you’re already using Elasticsearch for logs, use this demo repo as a simple example to set up your own logs-to-traces flows and begin discovering traces →

Correlate your data

Understanding all relevant data — and the relationships between them — is important for root-causing incidents as quickly as possible and identifying the real source of unexpected system behavior. Grafana allows teams to seamlessly visualize and move among all of their data, all in one place.