Skip to main content
Integrations hook into agent frameworks to automatically trace the full agent lifecycle: LLM calls, tool invocations, sub-agent handoffs, guardrails, and related steps. All integrations except LangGraph follow the adapter pattern:
adapter = SomeAdapter(session_id="...", user_id="...", tags=[...], metadata={...})
adapter.instrument()  # patches framework globally, call once at startup
# ... use the framework normally, all runs are traced ...
LangGraph uses a callback handler instead:
handler = LangGraphCallbackHandler(session_id="...", tags=[...])
result = graph.invoke(input, config={"callbacks": [handler]})
IntegrationInstall ExtraClassMechanism
LangGraphpandaprobe[langgraph]LangGraphCallbackHandlerLangChain callback handler
Google ADKpandaprobe[google-adk]GoogleADKAdapterwrapt monkey-patching
Claude Agent SDKpandaprobe[claude-agent-sdk]ClaudeAgentSDKAdapterwrapt monkey-patching + hook injection
CrewAIpandaprobe[crewai]CrewAIAdapterwrapt monkey-patching
OpenAI Agents SDKpandaprobe[openai-agents]OpenAIAgentsAdapterFirst-class TracingProcessor callback (no monkey-patching)
Constructor parameters (shared across all)
  • session_id — optional session identifier
  • user_id — optional user identifier
  • tags — optional list of string tags
  • metadata — optional dict of key-value pairs
All integrations automatically produce properly nested span hierarchies. You do not need to create traces or spans manually.

LangGraph

Callback handler for LangGraph / LangChain

Google ADK

Monkey-patch instrumentation for ADK runners and tools

Claude Agent SDK

Hooks and patches for Claude Agent SDK clients

CrewAI

Crew kickoff, agents, LLM, and tool spans

OpenAI Agents SDK

First-class TracingProcessor integration