SyFI TraceLab
SyFI Coding Trace v2 is live — over 100B input tokens, now with Bash command breakdowns. Explore the breakdown
Trace assistant
Reading the public SYFI pool
665,453 agent steps across Claude & Codex — public, shareable.
Answers run real DuckDB/Python in a sandbox · code is shown
Coding-agent workloads in the wild

SyFI TraceLab

TraceLab provides real-world coding agent traces collected from Claude Code and Codex.
The dataset captures multi-step agent sessions, LLM requests, tool calls, cache behavior, latency distributions, and workload characteristics for studying agentic AI systems.

Dataset snapshot

Distinct users
52
Sessions
8,058
Agent steps
665,453
Tool calls
743,819
Total input tokens
114.2B
Cached-read tokens
109.2B
Append input tokens
5.01B
Total output tokens
391.8M

Provider split

Agent-step counts across 665,453 model calls.

665K STEPS
Claude 305,44546%
Codex 360,00854%

Collection window

First and latest observed rows in the public pool.

Date range
Sep 23 2025 — Jul 24 2026

Gallery

SyFI TraceLab · public trace pool
Provider cuts

Compare providers.

Provider-level sessions, requests, agent steps, tool use, cache reuse, context growth, and human waits.

Claude Codex Coming soon Same public trace, grouped by provider.
Claude 46% of steps
305,445
Current public-pool agent steps
Codex 54% of steps
360,008
Current public-pool agent steps
DeepSeekMoonshotGLMQwen Soon
More provider columns planned

Provider statistics

Grouped with the same taxonomy as the SyFI TraceLab figures.
Session
one continuous trace of work, often spanning multiple requests or problems.
Request
one user input through the agent's final response.
Agent step
one model call inside a request.
User-initiated step
an agent step started by user input.
Tool-triggered step
an agent step started by a tool result.
higher is better lower is better Rows without arrows are descriptive totals, shares, or accounting fields.
Metric Claude Codex DeepSeekMoonshotGLMQwen
Trace facts sessions, requests & agent-step coverage
Coverage
Agent steps 305,445 steps 360,008 steps
Sessions 5,319 2,739
Distinct users 46 26
Collection window Oct 3 2025 — Jul 24 2026 Sep 23 2025 — Jul 24 2026
Requests 47,675 36,863
Tool-triggered steps 261,662 (85.7%) 308,569 (85.7%)
Models
Models represented 13 17
Top model Opus 4.8 (46.4%) gpt-5.5 (45.9%)
Session context growth, human waits, and agent-step workflow shape
Step-level context growth
Total context increase 554.7M tok 593.3M tok
User-initiated context increase avg / p50 / p90 1,343 / 589 / 3,071 tok 2,336 / 945 / 5,819 tok
Tool-triggered context increase avg / p50 / p90 1,923 / 952 / 4,290 tok 1,712 / 515 / 4,449 tok
Growth / reductions
User-initiated growth share 98.7% 79.1%
User-initiated reduction share 1.3% 20.9%
User-initiated major compaction share 0.7% 1.2%
Tool-triggered growth share 99.7% 99.2%
Tool-triggered reduction share 0.2% 0.8%
Tool-triggered major compaction share 0.2% 0.6%
Human waits
Total human wait time 32K h 23K h
Human wait avg / p50 / p90 2405.6 / 120.4 / 916.4 s 2324.7 / 58.5 / 910.6 s
LLM generation tokens and timing per agent step
Token distributions
Total input tokens 69.1B tok 45.1B tok
Cached-read input tokens 65.8B tok 43.4B tok
Append input tokens 3.30B tok 1.70B tok
Avg total input / agent step 226,228 tok 125,207 tok
Avg cached-read input / agent step 215,409 tok 120,481 tok
Avg append input / agent step 10,820 tok 4,726 tok
Input by step trigger
User-initiated avg total input 299,497 tok 117,362 tok
User-initiated avg append input 51,551 tok 18,302 tok
Tool-triggered avg total input 213,976 tok 125,235 tok
Tool-triggered avg append input 4,001 tok 3,330 tok
Output tokens
Total output tokens 256.7M tok 135.1M tok
Avg output / agent step 840 tok 375 tok
Reasoning tokens 49.7M tok
Avg reasoning / reasoning step 197
Timing
Generation time p50 7.2s 5.7s
Generation time p90 30.8s 19.3s
Total generation time 1.3K h 618 h
Output decode throughput 55.4 tok/s 34.0 tok/s
Post-reasoning decode throughput 67.7 tok/s
Estimated TTFT from reasoning tokens 4.3s
Tool calls tool volume and latency across agent steps
Activity
Tool calls 305,005 438,814
Agent steps with tool calls 262,510 (85.9%) 311,975 (86.7%)
Tool calls / request 6.4 11.9
Timing
Tool latency p50 115ms 921ms
Tool latency p90 10.1s 16.7s
Total attributed tool time 2.4K h 676 h
Prefix cache cache reuse by agent-step trigger
Cache rates
Overall prefix hit rate 95.2% 96.2%
User-initiated step hit rate 82.8% 84.4%
Tool-triggered step hit rate 98.1% 97.3%
Append vs context growth
User-initiated append tokens 2.26B tok 648.5M tok
User-initiated context increase 51.8M tok 76.7M tok
User-initiated context / append 2.3% 11.8%
Tool-triggered append tokens 1.05B tok 1.01B tok
Tool-triggered context increase 503.0M tok 516.7M tok
Tool-triggered context / append 48.1% 51.4%
All classified append tokens 3.30B tok 1.65B tok
All classified context increase 554.7M tok 593.3M tok
All classified context / append 16.8% 35.9%
SyFI TraceLab · provider comparison Per-provider cuts
Local trace analysis

Analyze your trace.

Drop Claude/Codex session files or a sanitized export. The browser normalizes, sanitizes, and computes the analysis locally — then renders it as an interactive dashboard.

Runs in your browser via Pyodide.
Raw trace rows stay local; analysis runs in a WebAssembly sandbox. Per-round originals never leave the page.
Don't have a file to drop? Bundle & compress your Claude / Codex sessions →
1 Pack your local sessions into one archive

Claude Code keeps sessions in ~/.claude/projects; Codex keeps them in ~/.codex/sessions. This compresses whichever you have into a single trace.tar.gz in your home folder — then drop that file below.

cd ~ && tar -czf trace.tar.gz $([ -d .claude/projects ] && echo .claude/projects) $([ -d .codex/sessions ] && echo .codex/sessions)
2 Trace is huge, or on a remote server?

Skip the download. Clone the toolkit onto that machine and launch it there — it detects this machine’s ~/.claude + ~/.codex and analyzes them in place; nothing is uploaded. Open the URL it prints (forward the port over SSH if the box is remote).

git clone https://github.com/uw-syfi/TraceLab.git && cd TraceLab && ./launch.sh
Drop trace files or a sanitized .gz
Claude/Codex sessions, .zip, .tar.gz, .jsonl, or .gz

Your results

Computed locally from the loaded trace — interactive (hover, zoom, export).
Sessions
Agent steps
Total cost
Cache saved
vs. all-fresh billing
Total input
Cached input
prefix served from cache
Uncached input
fresh input tokens
Total output

Providers

How your agent steps and spend divide across providers.

Activity

Per-day steps and when you tend to work (local time).

Daily activity

Steps per day across the trace.

Work rhythm

Hour of day × weekday — darker means more agent steps in that slot.

Cost

By model, split into cached-read · fresh-input · output.

Spend by model

Highlights

Superlatives from your trace. Click one to jump to its session.

Sessions

Filter, then pick a session to replay its token timeline.

Stats

Averages, percentiles & rates across the trace.

Distributions

The classic figures, now interactive (hover, zoom, export PNG).

Contribute to the community pool

Share sanitized, pseudonymous rows with the community pool. Here's exactly what each shared row contains — and what it never does.

Included — safe to share
  • Model per step — e.g. claude-opus-4, gpt-5
  • Token counts — input, output, cached, per step
  • Tool names — which tools ran (Bash, Read, Edit…) and how often
  • Timing — when each step ran and how long tools took
  • Sizes as counts only — how large a message or tool input was, never its text
  • Pseudonymous IDs — random, stable-within-file ids for session / round / project / user
Removed — never leaves your machine
  • Your prompts & the AI’s replies — message text is never captured, only counts
  • Tool inputs — shell commands, file contents, search queries, diffs
  • File paths — working directory, repo URLs, session files
  • Your identity — hostnames, real usernames, home directory
  • Any path-like field — cwd, workdir, anything ending in _path

Re-validated on upload — rejected if anything sensitive slipped through.

SyFI TraceLab · local analysis Nothing leaves your machine
Community contributions

Contributed traces.

Each contribution adds coverage to the public workload map. Uploaded rows are validated, deduplicated, and credited pseudonymously.

Contributors
0
Agent steps
0
Input tokens
0
Last contribution

Provider split

Claude and Codex agent steps in contributed traces.

1 STEPS
Claude 00%
Codex 0100%

Contribution cadence

Placeholder until contribution history is available.

Add to the pool

Contribute a trace.

Drop raw Claude/Codex sessions or a sanitized .gz. Raw files are normalized and sanitized locally before upload.

Drop a trace to contribute raw sessions or .gz · local sanitization first

Recent contributions

Validated uploads, shown with pseudonymous contributor IDs.
ContributorWhenAgent stepsProvidersStatus
No contributions yet — be the first from the Analyze tab.
SyFI TraceLab · contributed pool Pseudonymous rows