Agent traces now show turns, tool runs, and token usage
Agent tracing is now available for applications built with the Agents SDK. Traces show each agent turn alongside model calls, tool runs, approvals, token usage, and Workers runtime operations.
Turn on Workers tracing in your Wrangler configuration:
<span class="line"><span class="nb-shiki-140thh">{</span></span>
<span class="line"><span class="nb-shiki-dzsirb"> "$schema"</span><span class="nb-shiki-140thh">: </span><span class="nb-shiki-mdbnqw">"./node_modules/wrangler/config-schema.json"</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-dzsirb"> "observability"</span><span class="nb-shiki-140thh">: {</span></span>
<span class="line"><span class="nb-shiki-dzsirb"> "traces"</span><span class="nb-shiki-140thh">: {</span></span>
<span class="line"><span class="nb-shiki-dzsirb"> "enabled"</span><span class="nb-shiki-140thh">: </span><span class="nb-shiki-dzsirb">true</span></span>
<span class="line"><span class="nb-shiki-140thh"> }</span></span>
<span class="line"><span class="nb-shiki-140thh"> }</span></span>
<span class="line"><span class="nb-shiki-140thh">}</span></span>
<span class="line"><span class="nb-shiki-140thh">[</span><span class="nb-shiki-1t8gfj">observability</span><span class="nb-shiki-140thh">.</span><span class="nb-shiki-1t8gfj">traces</span><span class="nb-shiki-140thh">]</span></span>
<span class="line"><span class="nb-shiki-140thh">enabled = </span><span class="nb-shiki-dzsirb">true</span></span>
Think and Flue applications emit agent traces automatically. For direct AI SDK calls, wrap the AI SDK namespace once. wrapAISDK() supports AI SDK v6 and v7. This AI SDK v7 example also supplies the agent identity:
<span class="line"><span class="nb-shiki-1itgoe">import</span><span class="nb-shiki-dzsirb"> *</span><span class="nb-shiki-1itgoe"> as</span><span class="nb-shiki-140thh"> ai </span><span class="nb-shiki-1itgoe">from</span><span class="nb-shiki-mdbnqw"> "ai"</span><span class="nb-shiki-140thh">;</span></span>
<span class="line"><span class="nb-shiki-1itgoe">import</span><span class="nb-shiki-140thh"> { wrapAISDK } </span><span class="nb-shiki-1itgoe">from</span><span class="nb-shiki-mdbnqw"> "agents/observability/ai"</span><span class="nb-shiki-140thh">;</span></span>
<span class="line"></span>
<span class="line"><span class="nb-shiki-1itgoe">const</span><span class="nb-shiki-dzsirb"> tracedAI</span><span class="nb-shiki-1itgoe"> =</span><span class="nb-shiki-1t8gfj"> wrapAISDK</span><span class="nb-shiki-140thh">(ai);</span></span>
<span class="line"></span>
<span class="line"><span class="nb-shiki-1itgoe">await</span><span class="nb-shiki-140thh"> tracedAI.</span><span class="nb-shiki-1t8gfj">generateText</span><span class="nb-shiki-140thh">({</span></span>
<span class="line"><span class="nb-shiki-140thh"> model,</span></span>
<span class="line"><span class="nb-shiki-140thh"> prompt: </span><span class="nb-shiki-mdbnqw">"Find an available appointment"</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-140thh"> runtimeContext: {</span></span>
<span class="line"><span class="nb-shiki-140thh"> agentId: </span><span class="nb-shiki-mdbnqw">"booking-agent-production"</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-140thh"> conversationId: </span><span class="nb-shiki-mdbnqw">"conversation-123"</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-140thh"> },</span></span>
<span class="line"><span class="nb-shiki-140thh"> telemetry: {</span></span>
<span class="line"><span class="nb-shiki-140thh"> functionId: </span><span class="nb-shiki-mdbnqw">"booking-agent"</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-140thh"> includeRuntimeContext: {</span></span>
<span class="line"><span class="nb-shiki-140thh"> agentId: </span><span class="nb-shiki-dzsirb">true</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-140thh"> conversationId: </span><span class="nb-shiki-dzsirb">true</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-140thh"> },</span></span>
<span class="line"><span class="nb-shiki-140thh"> },</span></span>
<span class="line"><span class="nb-shiki-140thh">});</span></span>
<span class="line"><span class="nb-shiki-1itgoe">import</span><span class="nb-shiki-dzsirb"> *</span><span class="nb-shiki-1itgoe"> as</span><span class="nb-shiki-140thh"> ai </span><span class="nb-shiki-1itgoe">from</span><span class="nb-shiki-mdbnqw"> "ai"</span><span class="nb-shiki-140thh">;</span></span>
<span class="line"><span class="nb-shiki-1itgoe">import</span><span class="nb-shiki-140thh"> { wrapAISDK } </span><span class="nb-shiki-1itgoe">from</span><span class="nb-shiki-mdbnqw"> "agents/observability/ai"</span><span class="nb-shiki-140thh">;</span></span>
<span class="line"></span>
<span class="line"><span class="nb-shiki-1itgoe">const</span><span class="nb-shiki-dzsirb"> tracedAI</span><span class="nb-shiki-1itgoe"> =</span><span class="nb-shiki-1t8gfj"> wrapAISDK</span><span class="nb-shiki-140thh">(ai);</span></span>
<span class="line"></span>
<span class="line"><span class="nb-shiki-1itgoe">await</span><span class="nb-shiki-140thh"> tracedAI.</span><span class="nb-shiki-1t8gfj">generateText</span><span class="nb-shiki-140thh">({</span></span>
<span class="line"><span class="nb-shiki-140thh"> model,</span></span>
<span class="line"><span class="nb-shiki-140thh"> prompt: </span><span class="nb-shiki-mdbnqw">"Find an available appointment"</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-140thh"> runtimeContext: {</span></span>
<span class="line"><span class="nb-shiki-140thh"> agentId: </span><span class="nb-shiki-mdbnqw">"booking-agent-production"</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-140thh"> conversationId: </span><span class="nb-shiki-mdbnqw">"conversation-123"</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-140thh"> },</span></span>
<span class="line"><span class="nb-shiki-140thh"> telemetry: {</span></span>
<span class="line"><span class="nb-shiki-140thh"> functionId: </span><span class="nb-shiki-mdbnqw">"booking-agent"</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-140thh"> includeRuntimeContext: {</span></span>
<span class="line"><span class="nb-shiki-140thh"> agentId: </span><span class="nb-shiki-dzsirb">true</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-140thh"> conversationId: </span><span class="nb-shiki-dzsirb">true</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-140thh"> },</span></span>
<span class="line"><span class="nb-shiki-140thh"> },</span></span>
<span class="line"><span class="nb-shiki-140thh">});</span></span>
Message and tool payload recording is off by default. Turn it on only when the payloads are safe to store:
<span class="line"><span class="nb-shiki-1itgoe">const</span><span class="nb-shiki-dzsirb"> tracedAI</span><span class="nb-shiki-1itgoe"> =</span><span class="nb-shiki-1t8gfj"> wrapAISDK</span><span class="nb-shiki-140thh">(ai, {</span></span>
<span class="line"><span class="nb-shiki-140thh"> storeMessages: </span><span class="nb-shiki-dzsirb">true</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-140thh"> storeTools: </span><span class="nb-shiki-dzsirb">true</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-140thh">});</span></span>
<span class="line"><span class="nb-shiki-1itgoe">const</span><span class="nb-shiki-dzsirb"> tracedAI</span><span class="nb-shiki-1itgoe"> =</span><span class="nb-shiki-1t8gfj"> wrapAISDK</span><span class="nb-shiki-140thh">(ai, {</span></span>
<span class="line"><span class="nb-shiki-140thh"> storeMessages: </span><span class="nb-shiki-dzsirb">true</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-140thh"> storeTools: </span><span class="nb-shiki-dzsirb">true</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-140thh">});</span></span>
Open the Agents tab ↗ in the Cloudflare dashboard to inspect sessions, replay conversations, and view trace waterfalls. For advanced setup, privacy controls, and trace structure, refer to Agent tracing.
Fetched August 4, 2026



