# Traces

> Explore spans and traces in Uptrace using filters, aggregations, operation detail panels, and the full trace waterfall to find and diagnose errors.

Uptrace collects [distributed traces](/opentelemetry/distributed-tracing) and organizes them into spans — individual units of work representing a single operation. The Traces section provides three views for navigating from aggregated operation metrics down to individual requests and their full execution path across services.

<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
<iframe style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" src="https://www.youtube.com/embed/Yug1Ila3WUw?si=d-5RUly_mjCmU9Je" title="YouTube video player" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerPolicy="strict-origin-when-cross-origin" allowFullScreen="true">



</iframe>
</div>

## Groups

The default view groups traces by operation name. Each row represents a unique operation with aggregated metrics: request rate, p50/p90/p99 latency, error rate, and sparklines.

<video autoPlay="true" loop="true" muted="true" playsInline="true">
<source src="/features/tracing/trace-groups.mp4" type="video/mp4" />
</video>

Traces are filterable by any indexed attribute. The **Show Filters** panel groups attributes by name and lists their values with span counts — for example `_status_code` with values `error: 31`, `ok: 2.05k`, or `service_name` with all active services and their counts. Values are selectable via checkboxes.

Available [aggregations](/features/traces/querying-spans) include `perMin(count())` for request rate and `p99(_dur_ms)` for latency percentiles. Sparklines show how aggregated values change over time.

## Traces

The **Traces** tab shows individual trace records with a volume histogram at the top. Each row represents a single trace with its root operation, services involved, timestamp, and duration.

<video autoPlay="true" loop="true" muted="true" playsInline="true">
<source src="/features/tracing/trace-list.mp4" type="video/mp4" />
</video>

## Timeseries

The **Timeseries** tab displays a grid of charts — one per aggregation — showing how all operation groups behave over time. Each line represents a separate operation group.

<video autoPlay="true" loop="true" muted="true" playsInline="true">
<source src="/features/tracing/trace-timeseries.mp4" type="video/mp4" />
</video>

## Detail panel

Selecting an operation in the Trace view opens a detail panel with nine tabs.

<video autoPlay="true" loop="true" muted="true" playsInline="true">
<source src="/features/tracing/trace-detail.mp4" type="video/mp4" />
</video>

**ATTRS** — key-value attributes of the selected span with type annotations (`::str`, `::int`). Attributes are filterable by key name and grouped by category: `host`, `os`, `otel`, `otel_library`, `product`, `service`, `telemetry`, `telemetry_sdk`.

**LOGS & ERRORS** — [logs and errors](/features/logs) associated with this span group.

**GROUP** — aggregated metrics for all spans matching this operation: count, p50, p99, error rate. Includes Percentiles chart, Heatmap, Histogram, and Status chart. Links to **Slowest spans** and **Spans with errors** open the filtered view in Explorer.

<video autoPlay="true" loop="true" muted="true" playsInline="true">
<source src="/features/tracing/trace-detail-group.mp4" type="video/mp4" />
</video>

**JSON** — raw span data exactly as collected.

**TAGS** — span tags.

**INFRA**, **LOGS**, **NETWORK**, **TRACING** — additional context tabs showing [infrastructure metrics](/features/metrics), related logs, network data, and tracing metadata associated with this operation.

## Trace waterfall

The **View Trace** button opens the full trace view showing how a request flows across services.

<video autoPlay="true" loop="true" muted="true" playsInline="true">
<source src="/features/tracing/trace-waterfall.mp4" type="video/mp4" />
</video>

At the top, a color-coded service breakdown bar shows the share of trace time per service (e.g. `httpserver:frontend`, `httpclient:load-generator`). The waterfall shows all spans as horizontal bars with their Operation name and Timeline.

**Select services** and **Select systems** dropdowns narrow the visible spans. The **LOGS & ERRORS** tab lists all logs and errors recorded within this trace.

## Span detail in waterfall

Clicking a span in the waterfall opens a detail panel with the full context of that specific operation — attributes, aggregated stats, raw data, and related tracing metadata — making it possible to identify the exact point of failure and its cause.

<video autoPlay="true" loop="true" muted="true" playsInline="true">
<source src="/features/tracing/trace-waterfall-detail.mp4" type="video/mp4" />
</video>

You can alert on span data — query duration, error rate, and failed request counts — using [metric monitors](/features/alerting/metric-monitors#span-and-log-metrics).
