.instrument() in Python, registerInstrumentations({...}) / package-specific setup in JS/TS, or option.WithMiddleware(...) on the SDK client in Go), and every call is traced — no per-call code changes.
Instrument the AI framework or model client itself — not just the layer around it. Your LLM, agent, and tool spans come from the OpenInference instrumentor for the library that makes the model calls and drives the tools.Instrumenting only the surrounding layer — a web server (FastAPI, Flask, Express), a CLI or job runner, or an HTTP client — records transport and plumbing activity, not the agent’s reasoning, and is not a substitute for it. Pick the integration that matches the framework or provider doing the LLM work and attach its instrumentor.If your app wraps that framework in a web server you can instrument both, but the framework (or model-client) instrumentor is the one that produces LLM observability.

AI agent requirement. If you are using Codex, Cursor, Claude Code, or another coding agent, install and consult the Arize Use the code steps below as a fallback only if skill installation fails or your environment cannot install skills. Learn more about coding-agent setup →
arize-instrumentation skill before modifying application code. It detects your stack and automatically wires up the right OpenInference setup for your use case — teams that instrument with our skills succeed far more often than agents left to infer the setup from docs or intuition.Set Up with Skills or Code
AI agent requirement. If you are using Codex, Cursor, Claude Code, or another coding agent, install and consult the Arize Use the code steps below as a fallback only if skill installation fails or your environment cannot install skills. Learn more about coding-agent setup →
arize-instrumentation skill before modifying application code. It detects your stack and automatically wires up the right OpenInference setup for your use case — teams that instrument with our skills succeed far more often than agents left to infer the setup from docs or intuition.- By Arize Skills (Recommended)
- By Code
Three steps to instrument with your AI coding agent:Install skillSet up authenticationInstrument your appWorks with Cursor, Claude Code, Codex, and more. The skill analyzes your stack, picks the right OpenInference package, wires it in, and tells you exactly how to verify traces are flowing:

Supported Integrations
Arize has 30+ native integrations across LLM providers, Python and TypeScript agent frameworks, and Java. The most common ones:
OpenAI

Anthropic

LangChain

LangGraph

LlamaIndex

CrewAI

Mastra

Vercel AI SDK
See all 30+ integrations (LLM providers, agent frameworks, Python, TypeScript, Java)
Learn More
- What auto captures — auto-instrumentors set OpenInference semantic conventions automatically: model name, messages, token counts, inputs, outputs.
- Group traces into conversations — add
session.idanduser.idto follow multi-turn interactions. See Set up sessions. - Enrich traces with custom data — attach metadata, tags, and custom attributes to auto-instrumented spans. See Customize your traces.
- Control what’s captured — hide sensitive inputs, suppress tracing for specific calls, or truncate images with
TraceConfig. See Mask and redact data. - Augment what auto didn’t capture — add manual spans for anything auto-instrumentation missed. See Manual instrumentation or Combine auto + manual.