docs(rfc-0018): OTLP log-spec compliance amendments - #265
Conversation
|
Warning Review limit reached
More reviews will be available in 25 minutes and 12 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?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 credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. 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, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughAdds ChangesRFC 0018 — OTLP Log-Spec Compliance Amendments
Estimated code review effort🎯 2 (Simple) | ⏱️ ~15 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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
Adds a new RFC documenting amendments needed to close OTLP log-spec compliance gaps, and exposes it in the mdBook table of contents so it becomes part of the published RFC set.
Changes:
- Adds RFC 0018 describing six OTLP-fidelity amendments spanning receiver, schema, and DSL/querier.
- Updates the mdBook SUMMARY to include RFC 0018 in the RFC list.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| docs/SUMMARY.md | Adds RFC 0018 to the mdBook RFC index. |
| docs/rfcs/0018-otlp-log-spec-compliance.md | Introduces the new “specified” RFC detailing the OTLP compliance amendments, scenarios, and references. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
7cb2b06 to
83f24f8
Compare
One compliance push closing the six OTLP-fidelity gaps from the 2026-06-20
audit, graded against the spec via the OTel knowledge base. Governing
principle (§3.0): the backend is a faithful witness, not a corrector —
preserve what arrived (up to storage invariants), surface violations as
observable anomalies, never silently correct or reject; producing
spec-valid telemetry is the upstream's contract.
Six fixes spanning three green RFCs (0002, 0003, 0005):
1. persist InstrumentationScope.attributes + resource/scope schema_url
(the flat MUST — dropped at the receiver today) — RFC 0003 + RFC 0005
2. map transient ingest failures to retryable gRPC/HTTP codes, not
non-retryable INTERNAL/500 (clients currently drop data) — RFC 0003
3. event_name (and scope_version) as first-class DSL filters — RFC 0002
4. round-trip non-finite doubles via the proto3-JSON string forms
("NaN"/"Infinity"/"-Infinity") — RFC 0005
5. preserve out-of-range SeverityNumber + flag it, overturning the current
silent clamp-to-0 (severity_to_u8); u8 column retained — RFC 0003
6. correct the body-column doc (UTF-8 JSON for Structured) — RFC 0005
Decisions baked in: severity preserve+flag (not clamp/reject); u8 column;
scope attributes retained + queryable but out of the template key. §5
scenarios RFC0018.1-.6. Spec fidelity outranks downstream API stability
(pre-release), so the implementation takes the resulting type/schema
changes. status: specified.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
83f24f8 to
38495bd
Compare
…ty, §3.1 cite) Copilot review: - RFC0018.1: schema_url is on ScopeLogs, not InstrumentationScope (which carries name/version/attributes). Reword the scenario accordingly. - §8: include the -Infinity proto3-JSON string form alongside NaN/Infinity. - §7: disambiguate the bare (§3.1 hazard) cite (this RFC's §3.1 is scope URLs) to CLAUDE.md §3.1 / docs/hazards.md #1 (template cardinality). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
e917bf6 to
9b37160
Compare
RFC 0018 — OTLP log-spec compliance amendments
One compliance push closing the six OTLP-fidelity gaps from the 2026-06-20 audit (three areas: receiver, schema, DSL/querier), each graded against the spec's own MUST/SHOULD via the OpenTelemetry knowledge base.
scope.attributes+ resource/scopeschema_urldropped at ingestINTERNAL/500(clients drop data)event_namestored + returnable but not a DSL filterNaN/±Inf) →null, don't round-tripSeverityNumbernot range-validated (u80..255 vs 1..24/0)bodycolumn doc says "raw bytes" but holds UTF-8 JSON for StructuredRefuted by the spec check (not in scope): the audit's "structured AnyValue body is type-erased" — the stored canonical JSON is the OTLP protobuf→JSON mapping and preserves the discriminator.
Invariants / hazards touched
event_nameDSL field leaks no DataFusion/SQL surface (RFC0018.4).status: specified— §5 scenarios RFC0018.1–.6. Held for maintainer sign-off: amends accepted RFC 0003/0005 and green RFC 0002. Per the standing directive, spec fidelity outranks downstream API stability (pre-release), so the implementation will take the resulting type/schema changes.🤖 Generated with Claude Code
Summary by CodeRabbit