* Migrate changes from Tempo PR Signed-off-by: Jack Baldry <[email protected]> * Updates to resolve conflicts * Move getting started files * Fix aliases * Merge remote-tracking branch 'origin/master' into jdb/2025-07-tempo-set-up-restructure Signed-off-by: Jack Baldry <[email protected]> * Discard changes to content/docs/tempo/next/sync.json * Add aliases Signed-off-by: Jack Baldry <[email protected]> * Fix some aliases Signed-off-by: Jack Baldry <[email protected]> * Updates from rebase * Apply suggestions from code review Co-authored-by: Jack Baldry <[email protected]> * Apply suggestions from code review Co-authored-by: Jack Baldry <[email protected]> * Update content/docs/tempo/next/set-up-for-tracing/instrument-send/set-up-collector/tail-sampling/policies-strategies.md Co-authored-by: Jack Baldry <[email protected]> * Fix links on tile page and test page * Fix links and update missing content * Fix links * Fix links * Fix links and collector text * Updates from Alex's feedback * Link fixes * Fix links in deploy * Fix links * More link fixes * Fix yet more links * Fix more links * Apply suggestions from code review Co-authored-by: Jack Baldry <[email protected]> * Update content/docs/tempo/next/set-up-for-tracing/setup-tempo/test/set-up-test-app.md * Update content/docs/tempo/next/set-up-for-tracing/setup-tempo/test/set-up-test-app.md * Apply suggestions from code review * Add deploy preview workflow Signed-off-by: Jack Baldry <[email protected]> * Updates for Tiffany's suggested edits * Update manifest according to PR instructions --------- Signed-off-by: Jack Baldry <[email protected]> Co-authored-by: Kim Nylander <[email protected]>
3.6 KiB
title, menuTitle, description, weight, aliases, keywords
| title | menuTitle | description | weight | aliases | keywords | ||||
|---|---|---|---|---|---|---|---|---|---|
| TraceQL | TraceQL | Learn about TraceQL, Tempo's query language for traces | 600 |
|
|
TraceQL
TraceQL is a query language designed for selecting traces in Tempo.
Distributed traces contain a wealth of information, and tools like auto-instrumentation make it easy to start capturing data. Extracting value from traces can be much harder. For example, Tempo metrics-generator can aggregate traces into service graphs and span metrics, and exemplars allow you to navigate from a spike in API latency to a trace that contributed to that spike. But traces can do so much more.
Traces are the flow of events throughout your components. They have a tree structure—-with a root, branches, and leaves—-arbitrary key/value data at any location, and of course timestamps. What new questions can be answered with this structure? More than just finding isolated events, can we find sequences of events?
For example, you can use traces to perform root cause analyses (RCA) on a service outage and use TraceQL to pinpoint the root cause. Refer to Diagnose errors with traces for a use case example.
Get started with TraceQL
Use these references to get started with TraceQL:
- Determine the information you want to query by understanding the relationship of queries to trace structure and spans.
- Construct a query to locate the information. Use the examples and language reference to learn about the syntax and semantics of TraceQL.
TraceQL uses similar syntax and semantics as PromQL and LogQL, where possible.
{{< vimeo 796408188 >}}
How can you use TraceQL?
You can use TraceQL queries using the command line or in Grafana with the query editor and query builder. The query editor and builder are available in the Tempo data source for Grafana Explore.
In addition, you can use Traces Drilldown to investigate your tracing data without writing TraceQL queries. For more information, refer to the Traces Drilldown documentation.
For more information, refer to Write TraceQL queries in Grafana.
Metrics from traces with TraceQL
TraceQL metrics generate metrics from traces and let you use TraceQL to query metrics. Refer to TraceQL metrics for more information.
{{< docs/shared source="tempo" lookup="traceql-metrics-admonition.md" version="<TEMPO_VERSION>" >}}
Resources
TraceQL requires the Parquet columnar format, which is the default block format for Tempo. Refer to the Apache Parquet backend documentation.
Refer to the Tempo release notes for the latest updates to TraceQL.
