Choose a setup method
Start with one method for a call path. Combining SDK tracking with framework
OpenTelemetry on the same call can create duplicate interactions.
Recommended: Agnost AI skill
Recommended. Choose this path when you want your coding agent to inspect the
project, select a supported transport, make the smallest instrumentation change,
send a test event, and verify that it reached Agnost AI.
Manual setup: Agnost AI SDK
agnost.shutdown() once when the application exits, not after each request.
Manual setup: OpenTelemetry
Install
Setup
llm.input_messages.*, llm.output_messages.*, tool.name, tool.parameters, llm.token_count.*).
Caveats
Do not callset_tracing_disabled(True): it disables the trace objects that the
OpenInference instrumentor observes. Use set_trace_processors([]) before the
first run when Agnost AI should be the only trace destination. Omit that line if
you intentionally want traces in both Agnost AI and OpenAI’s hosted dashboard.
Verify
Run oneRunner.run call, then open Events in Agnost AI. Confirm agent, handoff, guardrail, and LLM spans are present.
Troubleshooting
- Keep SDK tracing enabled. Replace the default trace processors if you do not want dual-send to OpenAI’s hosted trace backend.
- Confirm
OTEL_EXPORTER_OTLP_HEADERScontainsX-Agnost-Org-ID=<your-org-id>. - Confirm
using_attributeswraps the call you want grouped.
References
Next steps
- Conversations: review the complete agent run.
- Events: inspect model calls, handoffs, guardrails, and tools.
- Intents: organize production conversations by what users wanted.