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

# Traces

> OpenTelemetry span waterfall for a verification cycle, see exactly what the agent tested and how long each tool call took.

IronBee records a **trace** for each verification cycle, an OpenTelemetry-compatible log of every tool call the agent made, organized as a hierarchy of **spans**. The trace is visualized as an interactive waterfall chart inside the verification detail panel.

<img src="https://mintcdn.com/ironbee/kHX-DEGTUXrD4U7O/images/console/traces/traces-dark.png?fit=max&auto=format&n=kHX-DEGTUXrD4U7O&q=85&s=a46200bfd6ca2cddc7d5e2a689897aa7" alt="IronBee Console — Traces" style={{borderRadius:'8px',width:'100%'}} width="867" height="962" data-path="images/console/traces/traces-dark.png" />

## How to access traces

Traces are embedded in the [Verification Detail](/console/verification-detail) panel, they are not a standalone page.

1. Open a session and go to the **Timeline** tab
2. Click a verification event in the timeline to open the Verification panel
3. Click the **Traces** button in the verification header

The panel opens to the right. The URL updates with `tracesOpen=true` so you can link directly to it.

***

## Traces panel

The panel header shows a **count badge**, for example `5 / 12` means 5 spans match the current filters out of 12 total.

### View toggle

| Mode     | Behavior                                                                                                         |
| -------- | ---------------------------------------------------------------------------------------------------------------- |
| **Fit**  | Compresses chart to fit the panel width, no horizontal scroll                                                    |
| **Wide** | Adaptive density: the longest span fills \~25% of visible width; allows horizontal scrolling for long recordings |

***

## Waterfall chart

The chart has two columns:

**Left label panel (frozen)**

* Span name
* Service name (color-coded)
* OpenTelemetry span kind icon
* Collapse / expand chevron for parent spans

**Right chart area**

* Horizontal bars representing span duration
* Time axis (in seconds) pinned to the bottom
* Bars colored by status

### Span status colors

| Color | Status |
| ----- | ------ |
| Green | OK     |
| Red   | ERROR  |
| Gray  | Unset  |

Each unique service name also gets a stable color from a 24-color palette.

### Span kind icons

Kinds follow OpenTelemetry conventions: `INTERNAL`, `CLIENT`, `SERVER`, `PRODUCER`, `CONSUMER`.

***

## Filters

| Filter      | Description                                            |
| ----------- | ------------------------------------------------------ |
| Text search | Filter by span name or service name                    |
| Kind        | All · Internal · Client · Server · Producer · Consumer |
| Status      | All · OK · Error · Unset                               |

Active filter chips appear below the toolbar. The count badge updates as you filter.

***

## Interacting with the chart

**Navigate:**

* **Vertical scroll** browse rows
* **Horizontal drag** pan left/right within the chart area (click and drag on the background)

**Explore spans:**

* **Hover** a bar tooltip shows span name, service, kind, duration, status
* **Click** a bar opens the span JSON modal
* **Click** a label scrolls the chart horizontally to bring that span's bar into view
* **Chevron** collapse or expand a span's children

**Playback mode** (when the verification video is playing):

* A vertical **playhead** line tracks the current video position
* The active span is highlighted in gold
* Parent and sibling spans in the call chain are also highlighted
* The chart auto-scrolls to keep the active span visible
* **Seek button** on each bar click to jump the video to that span's start time

***

## Span JSON modal

Click any span bar to open its detail modal:

* **Header:** service name · span name, Copy JSON button
* **Metadata row:** `span_id`, `trace_id`, `parent_span_id`, `kind`, `status`, `duration`
* **Data section:** full key-value view of the span payload, including any custom data fields

The Copy button copies the complete span as formatted JSON.
