feat(dogfood): promote the OTel GenAI semconv keys alongside the flat set - #679
Conversation
… set The dotted gen_ai.* keys are what a semconv-conformant source emits on its operation-details events — proven live against the OTel Demo 3.0 agent (patched with opentelemetry-instrumentation-openai-v2 under VCR replay): count by attr.gen_ai.request.model / operation / provider grouped 42 chat calls per model with the flat Claude Code keys promoted side by side. The two families together are the two-sources story RFC 0037 anticipated. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qtny6z6cA74xPZa4qRhk4F Signed-off-by: Jens Holdgaard Pedersen <Jens@holdgaard.org>
|
Warning Review limit reached
Next review available in: 52 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. 📝 WalkthroughWalkthroughUpdates ChangesOTel GenAI attribute promotions
Estimated code review effort: 1 (Trivial) | ~3 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
Extends the local dogfood server config’s promoted log-attribute set to include OpenTelemetry GenAI semantic-convention (dotted) keys alongside the existing flat Claude Code keys, enabling queries/aggregations over semconv-conformant sources in the same capture setup.
Changes:
- Added string promotions for
gen_ai.request.model,gen_ai.operation.name, andgen_ai.provider.name. - Added typed
i64promotions forgen_ai.usage.{input,output}_tokens. - Documented the “two-sources” rationale inline in the config.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qtny6z6cA74xPZa4qRhk4F Signed-off-by: Jens Holdgaard Pedersen <Jens@holdgaard.org>
Summary
Extends the dogfood promotion set with the dotted OTel GenAI semconv keys —
gen_ai.request.model,gen_ai.operation.name,gen_ai.provider.name(bare) andgen_ai.usage.{input,output}_tokens(typed i64) — alongside the existing flat Claude Code keys.Proven live before this PR: the OTel Demo 3.0 agent, patched on a fork with
opentelemetry-instrumentation-openai-v2(VCR replay, no key, zero cost), emitted realgen_ai.client.inference.operation.detailslog events through the standard collector into this dogfood server. With these promotions active:event_name == "gen_ai.client.inference.operation.details" | count by attr.gen_ai.request.model, attr.gen_ai.operation.name→azure/gpt-5.5 / chat: 42, tenant-isolated from 13 other demo services that landed in their own tenants. Fork branch: jensholdgaard/opentelemetry-demogenai-log-events.The two key families side by side are the two-sources story RFC 0037 anticipated: flat (Claude Code) + dotted (semconv-conformant sources). Usage-token sums light up whenever a source emits real usage (the VCR cassettes carry null usage).
Invariants / hazards
Config-only; promotion is a write-side projection (RFC 0022), applies to ingest after restart. Hazard #2 (cardinality): all five keys are low-cardinality by construction (models, operations, providers, token counts).
🤖 Generated with Claude Code
https://claude.ai/code/session_01Qtny6z6cA74xPZa4qRhk4F
Summary by CodeRabbit