OpenAI Agents SDK Observability & Monitoring with OpenTelemetry SigNoz has released a guide for monitoring the OpenAI Agents SDK with OpenTelemetry, enabling developers to export agent traces to SigNoz Cloud as standard gen_ai.* telemetry. The instrumentation, available via the opentelemetry-instrumentation-openai-agents-v2 package, bridges the SDK's built-in tracing to OpenTelemetry, allowing end-to-end tracing of agent runs, token spend attribution, and correlation with other application components. The guide provides both no-code auto-instrumentation and a code-based approach for custom span routing. The OpenAI Agents SDK https://github.com/openai/openai-agents-python already traces itself. Every Runner.run produces a trace, and each agent invocation, model call, tool execution, handoff, and guardrail becomes a nested span. By default those spans go to OpenAI's own Traces dashboard. This guide bridges that built-in tracing to OpenTelemetry so the same spans land in SigNoz as standard gen ai. telemetry, sitting in the same trace as the web handler, database query, and downstream service around them. What is OpenAI Agents SDK Observability? OpenAI Agents SDK observability is the practice of collecting traces from agent applications so you can see what each run did: which agents ran, which models they called, how many tokens they consumed, which tools they invoked, and where they failed. With full OpenAI Agents SDK observability in SigNoz, you can trace a complete agent run end to end, attribute token spend to a model, watch tool call volume for loops that do not terminate, and correlate an agent failure with the rest of your application. Prerequisites - A SigNoz Cloud https://signoz.io/teams/ account and an ingestion key https://signoz.io/docs/ingestion/signoz-cloud/keys/ - Python 3.9 or later - An OpenAI API key - An application built on the openai-agents SDK Monitor OpenAI Agents SDK with OpenTelemetry The instrumentation is a bridge rather than a monkey patch. It registers a TracingProcessor on the Agents SDK's own trace provider and translates each SDK span into an OpenTelemetry span, which is then exported over OTLP. No-code auto-instrumentation is recommended for quick setup with minimal code changes. It suits an existing agent application you would rather not modify. Step 1: Install the necessary packages in your Python environment. pip install \ openai-agents \ opentelemetry-distro \ opentelemetry-exporter-otlp \ opentelemetry-instrumentation-openai-agents-v2 opentelemetry-distro is what configures the tracer provider and exporter at startup. Without it opentelemetry-instrument loads the instrumentation but exports nothing. Step 2: Add automatic instrumentation. opentelemetry-bootstrap --action=install Step 3: Run an example. No OpenTelemetry code is required in your application. python import asyncio from agents import Agent, Runner, function tool @function tool def get weather city: str - str: """Return the current weather for a city.""" return {"tokyo": "18C, light rain", "paris": "24C, clear"}.get city.lower , "unknown" agent = Agent name="weather-assistant", instructions="You are a concise weather assistant. Answer in one sentence.", model="gpt-4o-mini", tools= get weather , async def main : result = await Runner.run agent, "What's the weather in Tokyo?" print result.final output asyncio.run main Step 4: Run your application with auto-instrumentation. OTEL RESOURCE ATTRIBUTES="service.name=