Experiments

Where Did the Time Go?

Illustrative sample · 7m 08s wall clock · 2m 30s active · 3 prompts · 43 spans

  1. Prompt
  2. Think
  3. Act
  4. Observe
  5. Reply

The session starts. Press Play or Next to follow it step by step.

claude-sonnet-5.5 Context not measured yet

Whole session

Chart controls

Scroll or pinch to zoom at the pointer; drag, Shift-scroll or scroll sideways to pan; click or drag the ruler to seek. The lanes under the ruler sort every recorded event by what the agent was doing; click a tick to jump to it. While replaying, work running at the playhead is outlined and work yet to start fades. Click a bar to expand it to the full width: only its own work stays below, and the work that caused it stacks above as a grey trail. Click a trail bar, press Escape or zoom out past it to step back out; Fit shows the whole session again. With the chart focused, arrow keys move between bars, W and S zoom, A and D pan, 0 fits, Enter expands the selection, and Space plays or pauses. Shaded breaks fold idle stretches longer than a minute.

Play a session back

Follow a coding-agent session's prompts, responses, and tool calls alongside a flame chart of the work. The sample is illustrative.

Press Next to step through one event at a time. The strip under the controls lights the step of the loop you are in and says in plain words what the agent is doing; the counts show how many turns, tool calls and results it has taken since your prompt. Open Timeline to scrub, change speed or skip idle time. Replay in the header hides the whole bar to give the chart more room; Space on the chart still plays and pauses.

Recorded TodoMVC runs

The Model and Context menus load real Copilot CLI 1.0.99-3 logs recorded on 2026-10-16. Each model got the same prompt once per context tier, in an empty folder, with every tool allowed and nothing able to ask for approval, so some shell commands show as denied. Runs went two at a time. System prompts, file paths and hidden reasoning were stripped before publishing.

All runs share the slowest run's time scale, so a shorter flame means a faster run. The context tier only raised the prompt limit shown in the menu: this small task read under 30k tokens on every call, so tier differences here are ordinary run-to-run variation. HydraFusion has no context tier. It works out of band and logs its tool calls only when it commits the result, so its tool bars are replays and its fusion phases carry the real time. HydraFusion Max was recorded too, but its solver was still working when the 15-minute cap stopped it, so it is left out rather than shown half finished. One run per setting is a demonstration, not a benchmark or a ranking.

What the lanes mean

To compare models or context payloads, choose Compare in the Flame view and import recorded runs of the same task. They share a wall-clock scale with no folded idle gaps. The model/context gauge in replay reports the current model and the last recorded context reading; it does not estimate missing measurements or predict another model's speed.

Every recorded event lands in one step of the agent's loop: it is asked, reasons, acts, observes the result, then answers.

Prompt
Messages from you, or to a sub-agent
Think
Model turns, reasoning and tool requests
Act
Tool calls and sub-agent launches
Observe
Results and notifications coming back
Reply
Responses written for you
System
Hooks, approvals, compaction and session bookkeeping

What the icons mean

Bars, transcript rows and the playhead panel show the kind of work at a glance.

Prompt
Model turn
Tool call
Sub-agent
Response
Hook
Approval
Compaction
Session

Load your own session

Open a GitHub Copilot CLI events.jsonl file, or drop one anywhere on this page. It is read in this browser and never uploaded. One file, 100 MiB at most.

Showing the illustrative sample.

Where is the file?

Each session has its own folder: ~/.copilot/session-state/<session>/events.jsonl. The folder is hidden; on macOS, press ⌘⇧G in the file picker and paste the path, and on Windows use %USERPROFILE% in place of ~. These helpers list session IDs and dates, then copy one raw log.

bash copilot-export.sh --list
bash copilot-export.sh --session SESSION_ID --output copilot-events.jsonl
.\copilot-export.ps1 -List
.\copilot-export.ps1 -Session SESSION_ID -Output copilot-events.jsonl

Review raw logs before sharing; they may contain private conversation or tool data.

Inspired by AgentViz.