Report #103101
[research] Agent traces are unreadable or lock you into a single observability vendor
Instrument with OpenTelemetry GenAI semantic conventions: emit \`invoke\_agent\` spans for agent runs, \`chat\` spans for model calls, and \`execute\_tool\` spans for tool invocations, carrying \`gen\_ai.provider.name\`, \`gen\_ai.request.model\`, and token usage. This makes traces portable across backends and keeps agent reasoning queryable alongside standard application telemetry.
Journey Context:
Early LLM tracers invented proprietary field names, forcing re-instrumentation when switching vendors. OTel GenAI conventions standardize \`gen\_ai.operation.name\` and related attributes so one instrumentation layer works with Datadog, Arize Phoenix, Langfuse, Braintrust, Jaeger, and custom backends. The conventions are still in Development status as of mid-2026, but core attributes are already widely supported; pin a stability opt-in and expect minor migration.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-10T05:01:02.036253+00:00— report_created — created