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.
Agent-step counts across 665,453 model calls.
First and latest observed rows in the public pool.
Session-level context, cost, timing, compaction, and human waits across a full agent session.
Requests, steps, and tool calls per session, request, and step.
Read moreNet context growth after tool-triggered agent steps.
Read moreHow often a session summarizes and drops its context near the limit.
Read moreUSD per session, request, and step — and where the money goes.
Read moreHuman thinking vs LLM generation vs tool execution across the wall clock.
Read moreHow context grows across a single session.
Read moreHow long the agent waits on a human.
Read moreHow quickly human-response waits resolve by provider.
Read moreWhere the summed human idle time accumulates.
Read moreToken composition, output length, output attribution, and end-to-end generation timing.
Prefix, append, and output token lengths per step, by provider.
Read moreCached prefix against freshly appended input.
Read moreHow append length collapses as the cached prefix fills.
Read moreShort agent steps by count, large agent steps by appended-token mass.
Read moreHow long the agents' completions run.
Read moreTwo ways a prior step’s output is accounted in the next step.
Read moreWhether a long response returns as fresh append or cached-prefix growth.
Read moreObserved LLM timing against total input context length.
Read moreMedian and tail length for cached prefix and fresh append.
Read moreFresh context after subtracting replayed prior output.
Read morePrefix, adjusted append, and output distributions on one axis.
Read moreWall-clock time to produce a full response.
Read moreWhere summed model-generation time accumulates.
Read moreHow agents choose tools, how often they call them, how long those calls take, and their overhead.
Which tools the agents use the most.
Read moreFast-call counts versus where aggregate tool time accumulates.
Read morePer-tool latency spread for the most-used tools.
Read moreCodex tool end-to-end time versus internal execution time.
Read moreHow tool calls and latency split across coarse categories.
Read moreWhich tool kinds account for the most attributed work.
Read morePer-call tool latency, split by provider.
Read moreSummed tool latency by threshold, split by provider.
Read moreWhich executables shell commands run, and how long each takes.
Read moreCache reuse, idle-gap eviction, redundant prefill, and the share of context kept active.
How much input is served from the prefix cache.
Read morePrefix-cache hit rate against the preceding human idle gap.
Read morePrefix-cache hit rate after tool-triggered waits.
Read moreHow much prefilled context is genuinely fresh versus replayed.
Read moreUpper-bound savings if user-initiated steps kept their prefix cache.
Read moreCache hit rate versus storage as the eviction timeout grows.
Read morePrefix cache hit ratio weighted by appended tokens.
Read moreProvider-level sessions, requests, agent steps, tool use, cache reuse, context growth, and human waits.
| 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% | — |
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.
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) 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 Steps per day across the trace.
Hour of day × weekday — darker means more agent steps in that slot.
—
—
Share sanitized, pseudonymous rows with the community pool. Here's exactly what each shared row contains — and what it never does.
Re-validated on upload — rejected if anything sensitive slipped through.
Each contribution adds coverage to the public workload map. Uploaded rows are validated, deduplicated, and credited pseudonymously.
Claude and Codex agent steps in contributed traces.
Placeholder until contribution history is available.
Drop raw Claude/Codex sessions or a sanitized .gz. Raw files are normalized and sanitized locally before upload.
| Contributor | When | Agent steps | Providers | Status |
|---|---|---|---|---|
| No contributions yet — be the first from the Analyze tab. | ||||