grafana/docs/sources/visualizations/explore/trace-integration.md
Kim Nylander 2a26f82b7f
Some checks are pending
Actionlint / Lint GitHub Actions files (push) Waiting to run
Backend Code Checks / Detect whether code changed (push) Waiting to run
Backend Code Checks / Validate Backend Configs (push) Blocked by required conditions
Backend Unit Tests / Detect whether code changed (push) Waiting to run
Backend Unit Tests / Grafana (1/8) (push) Blocked by required conditions
Backend Unit Tests / Grafana (2/8) (push) Blocked by required conditions
Backend Unit Tests / Grafana (3/8) (push) Blocked by required conditions
Backend Unit Tests / Grafana (4/8) (push) Blocked by required conditions
Backend Unit Tests / Grafana (5/8) (push) Blocked by required conditions
Backend Unit Tests / Grafana (6/8) (push) Blocked by required conditions
Backend Unit Tests / Grafana (7/8) (push) Blocked by required conditions
Backend Unit Tests / Grafana (8/8) (push) Blocked by required conditions
Backend Unit Tests / Grafana Enterprise (1/8) (push) Blocked by required conditions
Backend Unit Tests / Grafana Enterprise (2/8) (push) Blocked by required conditions
Backend Unit Tests / Grafana Enterprise (3/8) (push) Blocked by required conditions
Backend Unit Tests / Grafana Enterprise (4/8) (push) Blocked by required conditions
Backend Unit Tests / Grafana Enterprise (5/8) (push) Blocked by required conditions
Backend Unit Tests / Grafana Enterprise (6/8) (push) Blocked by required conditions
Backend Unit Tests / Grafana Enterprise (7/8) (push) Blocked by required conditions
Backend Unit Tests / Grafana Enterprise (8/8) (push) Blocked by required conditions
Backend Unit Tests / All backend unit tests complete (push) Blocked by required conditions
Build Go (matrix) / Detect whether code changed (push) Waiting to run
Build Go (matrix) / darwin/amd64 (push) Blocked by required conditions
Build Go (matrix) / linux/amd64 (push) Blocked by required conditions
Build Go (matrix) / linux/armv6 (push) Blocked by required conditions
Build Go (matrix) / linux/armv7 (push) Blocked by required conditions
Build Go (matrix) / darwin/arm64 (push) Blocked by required conditions
Build Go (matrix) / linux/arm64 (push) Blocked by required conditions
Build Go (matrix) / windows/arm64 (push) Blocked by required conditions
Build Go (matrix) / linux/s390x (push) Blocked by required conditions
Build Go (matrix) / darwin/amd64 (enterprise) (push) Blocked by required conditions
Build Go (matrix) / linux/amd64 (enterprise) (push) Blocked by required conditions
Build Go (matrix) / linux/armv6 (enterprise) (push) Blocked by required conditions
Build Go (matrix) / linux/armv7 (enterprise) (push) Blocked by required conditions
Build Go (matrix) / darwin/arm64 (enterprise) (push) Blocked by required conditions
Build Go (matrix) / linux/arm64 (enterprise) (push) Blocked by required conditions
Build Go (matrix) / windows/arm64 (enterprise) (push) Blocked by required conditions
Build Go (matrix) / linux/s390x (enterprise) (push) Blocked by required conditions
Build Go (matrix) / All steps completed (push) Blocked by required conditions
CodeQL checks / Detect whether code changed (push) Waiting to run
CodeQL checks / Analyze (push) Blocked by required conditions
Lint Frontend / Detect whether code changed (push) Waiting to run
Lint Frontend / Lint (push) Blocked by required conditions
Lint Frontend / Typecheck (push) Blocked by required conditions
Lint Frontend / Verify API clients (push) Waiting to run
Lint Frontend / Verify OpenAPI specs (push) Waiting to run
Lint Frontend / Verify API clients (enterprise) (push) Waiting to run
Lint Frontend / Verify packed frontend packages (push) Blocked by required conditions
Lint Frontend / Check circular dependencies (push) Blocked by required conditions
Lint Frontend / Validate yarn install (push) Blocked by required conditions
golangci-lint / Detect whether code changed (push) Waiting to run
golangci-lint / go-fmt (push) Blocked by required conditions
golangci-lint / lint-go (push) Blocked by required conditions
Crowdin Upload Action / upload-sources-to-crowdin (push) Waiting to run
Verify i18n / verify-i18n (push) Waiting to run
Documentation / Build & Verify Docs (push) Waiting to run
Policybot / Check .policy.yml is valid (push) Waiting to run
End-to-end tests / Detect whether code changed (push) Waiting to run
End-to-end tests / Build backend (push) Blocked by required conditions
End-to-end tests / Build frontend (push) Blocked by required conditions
End-to-end tests / Verify Storybook (Playwright) (push) Blocked by required conditions
End-to-end tests / Playwright E2E tests (1/8) (push) Blocked by required conditions
End-to-end tests / Playwright E2E tests (2/8) (push) Blocked by required conditions
End-to-end tests / Playwright E2E tests (3/8) (push) Blocked by required conditions
End-to-end tests / Playwright E2E tests (4/8) (push) Blocked by required conditions
End-to-end tests / Playwright E2E tests (5/8) (push) Blocked by required conditions
End-to-end tests / Playwright E2E tests (6/8) (push) Blocked by required conditions
End-to-end tests / Playwright E2E tests (7/8) (push) Blocked by required conditions
End-to-end tests / Playwright E2E tests (8/8) (push) Blocked by required conditions
End-to-end tests / All Playwright tests complete (push) Blocked by required conditions
End-to-end tests / Report Playwright benchmarks (push) Blocked by required conditions
End-to-end tests / Publish metrics (push) Waiting to run
End-to-end tests / All E2E tests complete (push) Blocked by required conditions
Frontend tests / Detect whether code changed (push) Waiting to run
Frontend tests / Generate golden files (push) Blocked by required conditions
Frontend tests / Unit tests (1 / 16) (push) Blocked by required conditions
Frontend tests / Unit tests (10 / 16) (push) Blocked by required conditions
Frontend tests / Unit tests (11 / 16) (push) Blocked by required conditions
Frontend tests / Unit tests (12 / 16) (push) Blocked by required conditions
Frontend tests / Unit tests (13 / 16) (push) Blocked by required conditions
Frontend tests / Unit tests (14 / 16) (push) Blocked by required conditions
Frontend tests / Unit tests (15 / 16) (push) Blocked by required conditions
Frontend tests / Unit tests (16 / 16) (push) Blocked by required conditions
Frontend tests / Unit tests (2 / 16) (push) Blocked by required conditions
Frontend tests / Unit tests (3 / 16) (push) Blocked by required conditions
Frontend tests / Unit tests (4 / 16) (push) Blocked by required conditions
Frontend tests / Unit tests (5 / 16) (push) Blocked by required conditions
Frontend tests / Unit tests (6 / 16) (push) Blocked by required conditions
Frontend tests / Unit tests (7 / 16) (push) Blocked by required conditions
Frontend tests / Unit tests (8 / 16) (push) Blocked by required conditions
Frontend tests / Unit tests (9 / 16) (push) Blocked by required conditions
Frontend tests / Decoupled plugin tests (push) Blocked by required conditions
Frontend tests / Packages unit tests (push) Blocked by required conditions
Frontend tests / All frontend unit tests complete (push) Blocked by required conditions
Frontend tests / Devenv frontend-service build (push) Blocked by required conditions
Integration Tests / Detect whether code changed (push) Waiting to run
Integration Tests / Sqlite (1/4) (push) Blocked by required conditions
Integration Tests / Sqlite (2/4) (push) Blocked by required conditions
Integration Tests / Sqlite (3/4) (push) Blocked by required conditions
Integration Tests / Sqlite (4/4) (push) Blocked by required conditions
Integration Tests / MySQL (1/16) (push) Blocked by required conditions
Integration Tests / MySQL (10/16) (push) Blocked by required conditions
Integration Tests / MySQL (11/16) (push) Blocked by required conditions
Integration Tests / MySQL (12/16) (push) Blocked by required conditions
Integration Tests / MySQL (13/16) (push) Blocked by required conditions
Integration Tests / MySQL (14/16) (push) Blocked by required conditions
Integration Tests / MySQL (15/16) (push) Blocked by required conditions
Integration Tests / MySQL (16/16) (push) Blocked by required conditions
Integration Tests / MySQL (2/16) (push) Blocked by required conditions
Integration Tests / MySQL (3/16) (push) Blocked by required conditions
Integration Tests / MySQL (4/16) (push) Blocked by required conditions
Integration Tests / MySQL (5/16) (push) Blocked by required conditions
Integration Tests / MySQL (6/16) (push) Blocked by required conditions
Integration Tests / MySQL (7/16) (push) Blocked by required conditions
Integration Tests / MySQL (8/16) (push) Blocked by required conditions
Integration Tests / MySQL (9/16) (push) Blocked by required conditions
Integration Tests / Postgres (1/16) (push) Blocked by required conditions
Integration Tests / Postgres (10/16) (push) Blocked by required conditions
Integration Tests / Postgres (11/16) (push) Blocked by required conditions
Integration Tests / Postgres (12/16) (push) Blocked by required conditions
Integration Tests / Postgres (13/16) (push) Blocked by required conditions
Integration Tests / Postgres (14/16) (push) Blocked by required conditions
Integration Tests / Postgres (15/16) (push) Blocked by required conditions
Integration Tests / Postgres (16/16) (push) Blocked by required conditions
Integration Tests / Postgres (2/16) (push) Blocked by required conditions
Integration Tests / Postgres (3/16) (push) Blocked by required conditions
Integration Tests / Postgres (4/16) (push) Blocked by required conditions
Integration Tests / Postgres (5/16) (push) Blocked by required conditions
Integration Tests / Postgres (6/16) (push) Blocked by required conditions
Integration Tests / Postgres (7/16) (push) Blocked by required conditions
Integration Tests / Postgres (8/16) (push) Blocked by required conditions
Integration Tests / Postgres (9/16) (push) Blocked by required conditions
Integration Tests / Sqlite Enterprise (1/16) (push) Blocked by required conditions
Integration Tests / Sqlite Enterprise (10/16) (push) Blocked by required conditions
Integration Tests / Sqlite Enterprise (11/16) (push) Blocked by required conditions
Integration Tests / Sqlite Enterprise (12/16) (push) Blocked by required conditions
Integration Tests / Sqlite Enterprise (13/16) (push) Blocked by required conditions
Integration Tests / Sqlite Enterprise (14/16) (push) Blocked by required conditions
Integration Tests / Sqlite Enterprise (15/16) (push) Blocked by required conditions
Integration Tests / Sqlite Enterprise (16/16) (push) Blocked by required conditions
Integration Tests / Sqlite Enterprise (2/16) (push) Blocked by required conditions
Integration Tests / Sqlite Enterprise (3/16) (push) Blocked by required conditions
Integration Tests / Sqlite Enterprise (4/16) (push) Blocked by required conditions
Integration Tests / Sqlite Enterprise (5/16) (push) Blocked by required conditions
Integration Tests / Sqlite Enterprise (6/16) (push) Blocked by required conditions
Integration Tests / Sqlite Enterprise (7/16) (push) Blocked by required conditions
Integration Tests / Sqlite Enterprise (8/16) (push) Blocked by required conditions
Integration Tests / Sqlite Enterprise (9/16) (push) Blocked by required conditions
Integration Tests / MySQL Enterprise (1/16) (push) Blocked by required conditions
Integration Tests / MySQL Enterprise (10/16) (push) Blocked by required conditions
Integration Tests / MySQL Enterprise (11/16) (push) Blocked by required conditions
Integration Tests / MySQL Enterprise (12/16) (push) Blocked by required conditions
Integration Tests / MySQL Enterprise (13/16) (push) Blocked by required conditions
Integration Tests / MySQL Enterprise (14/16) (push) Blocked by required conditions
Integration Tests / MySQL Enterprise (15/16) (push) Blocked by required conditions
Integration Tests / MySQL Enterprise (16/16) (push) Blocked by required conditions
Integration Tests / MySQL Enterprise (2/16) (push) Blocked by required conditions
Integration Tests / MySQL Enterprise (3/16) (push) Blocked by required conditions
Integration Tests / MySQL Enterprise (4/16) (push) Blocked by required conditions
Integration Tests / MySQL Enterprise (5/16) (push) Blocked by required conditions
Integration Tests / MySQL Enterprise (6/16) (push) Blocked by required conditions
Integration Tests / MySQL Enterprise (7/16) (push) Blocked by required conditions
Integration Tests / MySQL Enterprise (8/16) (push) Blocked by required conditions
Integration Tests / MySQL Enterprise (9/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (1/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (10/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (11/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (12/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (13/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (14/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (15/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (16/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (2/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (3/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (4/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (5/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (6/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (7/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (8/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (9/16) (push) Blocked by required conditions
Integration Tests / All backend integration tests complete (push) Blocked by required conditions
publish-technical-documentation-next / sync (push) Waiting to run
Reject GitHub secrets / reject-gh-secrets (push) Waiting to run
Build Release Packages / setup (push) Waiting to run
Build Release Packages / Dispatch grafana-enterprise build (push) Blocked by required conditions
Build Release Packages / build frontend (push) Blocked by required conditions
Build Release Packages / build backend / darwin-amd64 (push) Blocked by required conditions
Build Release Packages / build backend / linux-amd64 (push) Blocked by required conditions
Build Release Packages / build backend / windows-amd64 (push) Blocked by required conditions
Build Release Packages / build backend / linux-armv6 (push) Blocked by required conditions
Build Release Packages / build backend / linux-armv7 (push) Blocked by required conditions
Build Release Packages / build backend / darwin-arm64 (push) Blocked by required conditions
Build Release Packages / build backend / linux-arm64 (push) Blocked by required conditions
Build Release Packages / build backend / windows-arm64 (push) Blocked by required conditions
Build Release Packages / build backend / linux-s390x (push) Blocked by required conditions
Build Release Packages / build backend / linux-riscv64 (push) Blocked by required conditions
Build Release Packages / targz / darwin-amd64 (push) Blocked by required conditions
Build Release Packages / targz / linux-amd64 (push) Blocked by required conditions
Build Release Packages / targz / windows-amd64 (push) Blocked by required conditions
Build Release Packages / targz / linux-armv6 (push) Blocked by required conditions
Build Release Packages / targz / linux-armv7 (push) Blocked by required conditions
Build Release Packages / targz / darwin-arm64 (push) Blocked by required conditions
Build Release Packages / targz / linux-arm64 (push) Blocked by required conditions
Build Release Packages / targz / windows-arm64 (push) Blocked by required conditions
Build Release Packages / targz / linux-s390x (push) Blocked by required conditions
Build Release Packages / targz / linux-riscv64 (push) Blocked by required conditions
Build Release Packages / deb / rpm / linux-amd64 (push) Blocked by required conditions
Build Release Packages / deb / rpm / linux-armv6 (push) Blocked by required conditions
Build Release Packages / deb / rpm / linux-armv7 (push) Blocked by required conditions
Build Release Packages / deb / rpm / linux-arm64 (push) Blocked by required conditions
Build Release Packages / deb / rpm / linux-s390x (push) Blocked by required conditions
Build Release Packages / deb / rpm / linux-riscv64 (push) Blocked by required conditions
Build Release Packages / docker (alpine) / linux-amd64 (push) Blocked by required conditions
Build Release Packages / docker (alpine) / linux-armv7 (push) Blocked by required conditions
Build Release Packages / docker (alpine) / linux-arm64 (push) Blocked by required conditions
Build Release Packages / docker (alpine) / linux-s390x (push) Blocked by required conditions
Build Release Packages / docker (ubuntu) / linux-amd64 (push) Blocked by required conditions
Build Release Packages / docker (ubuntu) / linux-armv7 (push) Blocked by required conditions
Build Release Packages / docker (ubuntu) / linux-arm64 (push) Blocked by required conditions
Build Release Packages / docker (ubuntu) / linux-s390x (push) Blocked by required conditions
Build Release Packages / verify targz (linux-amd64) (push) Blocked by required conditions
Build Release Packages / verify packages (linux-amd64) (push) Blocked by required conditions
Build Release Packages / / windows / windows-amd64 (push) Blocked by required conditions
Build Release Packages / / windows / windows-arm64 (push) Blocked by required conditions
Build Release Packages / Upload targz / darwin-amd64 (push) Blocked by required conditions
Build Release Packages / Upload targz / darwin-arm64 (push) Blocked by required conditions
Build Release Packages / Upload targz / linux-amd64 (push) Blocked by required conditions
Build Release Packages / Upload targz / linux-arm64 (push) Blocked by required conditions
Build Release Packages / Upload targz / linux-armv6 (push) Blocked by required conditions
Build Release Packages / Upload targz / linux-armv7 (push) Blocked by required conditions
Build Release Packages / Upload targz / linux-s390x (push) Blocked by required conditions
Build Release Packages / Upload targz / linux-riscv64 (push) Blocked by required conditions
Build Release Packages / Upload targz / windows-amd64 (push) Blocked by required conditions
Build Release Packages / Upload targz / windows-arm64 (push) Blocked by required conditions
Build Release Packages / Upload deb/rpm / linux-amd64 (push) Blocked by required conditions
Build Release Packages / Upload deb/rpm / linux-arm64 (push) Blocked by required conditions
Build Release Packages / Upload deb/rpm / linux-armv6 (push) Blocked by required conditions
Build Release Packages / Upload deb/rpm / linux-armv7 (push) Blocked by required conditions
Build Release Packages / Upload deb/rpm / linux-s390x (push) Blocked by required conditions
Build Release Packages / Upload deb/rpm / linux-riscv64 (push) Blocked by required conditions
Build Release Packages / Upload docker (alpine) / linux-amd64 (push) Blocked by required conditions
Build Release Packages / Upload docker (alpine) / linux-arm64 (push) Blocked by required conditions
Build Release Packages / Upload docker (alpine) / linux-armv7 (push) Blocked by required conditions
Build Release Packages / Upload docker (alpine) / linux-s390x (push) Blocked by required conditions
Build Release Packages / Upload docker (ubuntu) / linux-amd64 (push) Blocked by required conditions
Build Release Packages / Upload docker (ubuntu) / linux-arm64 (push) Blocked by required conditions
Build Release Packages / Upload docker (ubuntu) / linux-armv7 (push) Blocked by required conditions
Build Release Packages / Upload docker (ubuntu) / linux-s390x (push) Blocked by required conditions
Build Release Packages / Upload windows / windows-amd64 (push) Blocked by required conditions
Build Release Packages / Upload windows / windows-arm64 (push) Blocked by required conditions
Build Release Packages / publish-dockerhub (push) Blocked by required conditions
Build Release Packages / Dispatch publish NPM canaries (push) Blocked by required conditions
Build Release Packages / notify-pr (push) Blocked by required conditions
Run dashboard schema v2 e2e / dashboard-schema-v2-e2e (push) Waiting to run
Shellcheck / Shellcheck scripts (push) Waiting to run
Run Storybook a11y tests / Detect whether code changed (push) Waiting to run
Run Storybook a11y tests / Run Storybook a11y tests (dark theme) (push) Blocked by required conditions
Run Storybook a11y tests / Run Storybook a11y tests (deuteranopia_protanopia_dark theme) (push) Blocked by required conditions
Run Storybook a11y tests / Run Storybook a11y tests (deuteranopia_protanopia_light theme) (push) Blocked by required conditions
Run Storybook a11y tests / Run Storybook a11y tests (light theme) (push) Blocked by required conditions
Run Storybook a11y tests / Run Storybook a11y tests (tritanopia_dark theme) (push) Blocked by required conditions
Run Storybook a11y tests / Run Storybook a11y tests (tritanopia_light theme) (push) Blocked by required conditions
Run Storybook a11y tests / Storybook a11y tests (push) Blocked by required conditions
Swagger generated code / Detect whether code changed (push) Waiting to run
Swagger generated code / Verify committed API specs match (push) Blocked by required conditions
Dispatch sync to mirror / dispatch-job (push) Waiting to run
trigger-dashboard-search-e2e / trigger-search-e2e (push) Waiting to run
Update Tempo data source docs to address user issues (#121517)
2026-04-09 18:51:37 -04:00

12 KiB
Raw Permalink Blame History

keywords labels title weight aliases
explore
trace
products
cloud
enterprise
oss
Traces in Explore 40
../../explore/trace-integration/

Traces in Explore

You can use Explore to query and visualize traces from tracing data sources. Supported data sources include:

Here are some references to learn more about traces and how you can use them:

Query editors

You can query and search tracing data using a data source's query editor. Note that data sources in Grafana have unique query editors.

For information on how to use the query editor to create queries for tracing data sources, refer to the documentation for each individual data source.

Trace view

The trace view provides an overview of a request as it travels through your system. The following sections provide detail on various elements of the trace view.

{{< figure src="/media/docs/tempo/screenshot-grafana-trace-view.png" class="docs-image--no-shadow" max-width= "900px" caption="Trace view" >}}

Header

The trace view header includes the following:

  • Header title - Shows the name of the root span and trace ID.
  • Search - Highlights spans containing the searched text.
  • Metadata - Various metadata about the trace.

{{< figure src="/media/docs/tempo/screenshot-grafana-trace-view-header.png" class="docs-image--no-shadow" max-width= "750px" caption="Trace view header" >}}

Minimap

Minimap displays a condensed view of the trace timeline. Drag your mouse over the minimap to zoom into a smaller time range. This also updates the main timeline, making it easier to view shorter spans When zoomed in, hovering over the minimap displays Reset selection, which resets the zoom.

{{< figure src="/media/docs/tempo/screenshot-grafana-trace-view-minimap.png" class="docs-image--no-shadow" max-width= "900px" caption="Trace view minimap example" >}}

Timeline

Timeline shows list of spans within the trace. Each span row consists of the following components:

  • Expand children - Expands or collapses all the children spans of the selected span.
  • Service name - Name of the service logged the span.
  • Operation name - Name of the operation that this span represents.
  • Span duration bar - Visual representation of the operation duration within the trace.

Click anywhere on the span row to reveal span details.

{{< figure src="/media/docs/tempo/screenshot-grafana-trace-view-timeline.png" class="docs-image--no-shadow" max-width= "900px" caption="Trace view timeline" >}}

The Span duration bar highlights the traces critical path with a darker segment. This darker segment means the span lies on the traces critical path, following the CRISP (Critical Path for Service Performance) algorithm.

Use the highlight to focus on spans that drive endtoend latency. Spans outside the critical path do not increase the trace duration.

{{< figure src="/media/docs/grafana/explore/traces-panel-critical-path.png" class="docs-image--no-shadow" max-width= "900px" caption="Critical path span" >}}

You can also focus on this path by clicking the Show critical path only button in the Span filters options.

Span details

Traces are composed of one or more spans. A span is a unit of work within a trace that has a start time relative to the beginning of the trace, a duration and an operation name for the unit of work. It usually has a reference to a parent span, unless its the first span, the root span, in a trace. It frequently includes key/value attributes that are relevant to the span itself, for example the HTTP method used in the request, as well as other metadata such as the service name, sub-span events, or links to other spans.

You can expand any span in a trace and view the details, including the span and resource attributes.

For more information about spans and traces, refer to Introduction to tracing in the Tempo documentation.

Span details include span attributes, resource attributes, events, and links.

Span and resource attributes

Span attributes are key-value pairs that provide metadata about a specific span. They give context to the operation being performed, such as information about the request, response, or any relevant operational details. For example, if the span deals with calling another service via HTTP, an attribute could include the HTTP URL (maybe as the span attribute key http.url) and the HTTP status code returned (as the span attribute http.status_code).

{{< figure src="/media/docs/tempo/screenshot-grafana-trace-view-span-span-attributes.png" class="docs-image--no-shadow" max-width= "900px" caption="Trace view span attributes" >}}

Resource attributes are key-value pairs that describe the environment or entity that is producing the trace. They capture static information about the origin of traces, like the application name or the service version.

{{< figure src="/media/docs/tempo/screenshot-grafana-trace-view-span-resource-attributes.png" class="docs-image--no-shadow" max-width= "900px" caption="Trace view span resource attributes" >}}

Span attributes are specific to a particular operation, while resource attributes are associated with the whole trace or the entire service emitting the spans. Refer to Span and resource attributes for more detail.

Events

Events are log-like records attached to a span that represent an occurrence during its execution. They record notable moments or occurrences within the span's lifecycle, such as errors, warnings, or checkpoints. If an error occurs during an operation, an event can be added to the span to indicate what went wrong and when. Events include a timestamp, name, and key-value pairs attributes that provide additional context or details about the event.

{{< figure src="/media/docs/tempo/screenshot-grafana-trace-view-span-events.png" class="docs-image--no-shadow" max-width= "900px" caption="Trace view span events" >}}

Links show relationships between spans that are not in a direct parent-child relationship. They represent associations between spans that happen concurrently or across separate trace trees, linking traces that originated from separate sources but are logically connected, such as background job processing initiated from a web request. You might use links when a trace passes through an asynchronous queue or when correlating traces from different services.

Span filters

Span filters allow you to refine the spans displayed in the trace timeline viewer. The more filters you add, the more specific the filtered spans become. Click on a trace to access Span filters.

Screenshot of span filtering

You can add one or more of the following filters:

  • Service name - Filter by selecting a service name from the dropdown.
  • Span name - Filter by selecting a span name from the dropdown.
  • Duration - Filter by duration. Accepted units include ns, us, ms, s, m, h.
  • Tags - Filter by tags, process tags, or log fields in your span.

To only show the spans you have matched, toggle Show matches only.

Refer to Span filters for more in depth information.

Trace to logs

You can navigate from a span in a trace view directly to logs relevant for that span. This feature is available for the Tempo, Jaeger, and Zipkin data sources. Refer to each individual data source's documentation for configuration instructions.

Click the document icon to open a split view in Explore with the configured data source and query relevant logs for the span.

{{< figure src="/media/docs/tempo/screenshot-grafana-trace-view-trace-to-logs.png" class="docs-image--no-shadow" max-width= "900px" caption="Trace to logs" >}}

Trace to metrics

You can navigate from a span in a trace view directly to metrics relevant for that span. This feature is available for the Tempo, Jaeger, and Zipkin data sources.

Refer to each individual data source's documentation for configuration instructions. For Tempo, refer to Trace to metrics configuration.

Trace to profiles

Using Trace to profiles, you can use Grafanas ability to correlate different signals by adding the functionality to link between traces and profiles.

For Tempo, refer to Trace to profiles for configuration instructions.

{{< figure src="/static/img/docs/tempo/profiles/tempo-trace-to-profile.png" max-width="900px" class="docs-image--no-shadow" alt="Selecting a link in the span queries the profile data source" >}}

Trace correlations

You can use correlations to define custom links that appear in the trace view based on trace and span information.

For Tempo, refer to Trace correlations for configuration instructions.

{{< figure src="/media/docs/tempo/screenshot-grafana-trace-view-correlations.png" max-width="900px" class="docs-image--no-shadow" alt="Using correlations for a trace" >}}

Node graph

You can also expand the node graph for a displayed trace. If the data source supports it, this displays spans of the trace as nodes in the graph, or provides additional context, such as a service graph based on the current trace.

Refer to Node graph for additional information.

{{< admonition type="note" >}} The node graph requires data to be returned from the data source in a specific format to display correctly. Refer to Data API, Nodes data frame structure and Node graph data requirements for additional information and configuration instructions. {{< /admonition >}}

{{< figure src="/media/docs/tempo/screenshot-grafana-node-graph.png" class="docs-image--no-shadow" max-width= "900px" caption="Node graph" >}}

Service graph

A service graph visualizes rates, error rates, and durations (RED), along with service relationships. After the requirements are configured, this pre-configured view is immediately available.

For additional information refer to the following documentation:

{{< figure src="/static/img/docs/grafana-cloud/apm-overview.png" class="docs-image--no-shadow" max-width= "900px" caption="Service graph view" >}}