withSpan or @span, use a framework-specific handler that hooks into the framework’s execution lifecycle and captures spans automatically.
Framework Support
Choose a Framework
LangGraph / LangChain
Callback handler that captures graph nodes, LLM calls, tool invocations, and retriever queries as traced spans.
OpenAI Agents SDK
Trace processor that captures agent runs, tool calls, and handoffs from the OpenAI Agents SDK, plus a run wrapper that records a replayable root.
BAML
Auto-capture rendered prompts and LLM metadata (model, tokens, duration) from BAML function calls.
Claude Agent SDK
Handler that captures LLM turns, tool invocations, and subagent execution from the Claude Agent SDK.
Vercel AI SDK
Language model middleware that captures every generateText / streamText / generateObject / streamObject call, with full streaming support.
How It Works
Each framework handler integrates with Bitfab’s tracing pipeline:- Create a handler via the Bitfab client (e.g.,
bitfab.getLangGraphCallbackHandler("my-agent")) - Pass the handler to the framework (as a callback, processor, or hook)
- Spans are created automatically for each execution step (LLM calls, tool invocations, etc.)
- Add core tracing only around real surrounding work - callback handlers such as LangGraph / LangChain already create a replayable root for the framework invocation. Use a same-key
withSpanor@spanouter root only when input prep, non-framework retrieval, post-processing, persistence, or downstream calls should be part of the same trace.