docs(rfc): draft RFC 0043 — event_name from the legacy event.name attribute - #666
Conversation
|
Warning Review limit reached
Next review available in: 46 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. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughAdds RFC 0043 documenting ingest-time derivation of ChangesEvent name ingestion documentation
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 2 | ❌ 3❌ Failed checks (3 warnings)
✅ Passed checks (2 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.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/rfcs/0043-event-name-attribute-ingest.md`:
- Around line 116-120: Update the RFC0043.6 acceptance criterion to define an
externally observable result for RFC0037 keying: specify the expected
event-keyed template key/output or a concrete miner assertion demonstrating that
the event-keyed path was selected and body mining was not used.
- Around line 55-64: The RFC’s precedence rules do not define empty-string and
null handling consistently across ingestion formats. Clarify that an
empty-string LogRecord.event_name is set, JSON/null event.name derives nothing,
and an empty-string event.name derives the same way as protobuf string values;
add acceptance-test cases for these shapes to ensure protobuf and JSON ingestion
behave identically.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 9f509dd0-c20a-434a-97f0-cd6a0372dcb6
📒 Files selected for processing (2)
docs/SUMMARY.mddocs/rfcs/0043-event-name-attribute-ingest.md
There was a problem hiding this comment.
Pull request overview
Adds RFC 0043 to document (at the RFC/spec level) ingest-time derivation of event_name from the legacy event.name attribute when the top-level OTLP event_name field is absent—aimed at making event_name == "…" queries work for legacy emitters and enabling RFC 0037’s event-keyed templating for those sources.
Changes:
- Adds a new
specifiedRFC (0043) defining precedence/derivation rules and acceptance criteria forevent_namederivation fromevent.name. - Wires RFC 0043 into the mdBook TOC via
docs/SUMMARY.md.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| docs/SUMMARY.md | Adds RFC 0043 entry to the RFC list in the docs table of contents. |
| docs/rfcs/0043-event-name-attribute-ingest.md | Introduces RFC 0043 specifying ingest behavior, alternatives, and acceptance criteria for deriving event_name from legacy event.name. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…ribute Specified: ingest derives the top-level event_name from the legacy event.name attribute when the wire field is unset, preserving the attribute verbatim (the fidelity rule holds — derivation, never correction). Unlocks the semconv-idiomatic event_name == filter and RFC 0037's event-keyed templating for Claude Code / opencode sources. Complement to RFC 0044; #664 is closed there, not here. 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>
…view) 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>
09c348d to
1521185
Compare
Summary
RFC 0043,
specified: when a LogRecord has no top-levelevent_namebut carries the legacyevent.nameattribute (Claude Code, opencode-plugin-otel), ingest derives the field from the attribute — keeping the attribute byte-identical, so the OTLP-fidelity rule (preserve / never correct) holds by construction.What it buys: the OTel events-semconv-idiomatic
event_name == "…"filter starts working for the GenAI corpus, and RFC 0037's event-keyed templating engages for those sources. Six §5 criteria incl. both-encodings coverage per the RFC0003.6 checklist.Atomic by design: the complementary RFC 0044 (template-aware
body ==, closes #664) is a separate RFC and PR.mdbook buildclean; docs-only.🤖 Generated with Claude Code
https://claude.ai/code/session_01Qtny6z6cA74xPZa4qRhk4F
Summary by CodeRabbit
event_nameis derived from the legacyevent.nameattribute during ingestion.