Repository navigation
feat(codecs): convert native OTLP traces through the typed trace model in otlp serializer - #26606
Draft
thomasqueirozb wants to merge 2 commits into
Draft
thomasqueirozb wants to merge 2 commits into
thomasqueirozb wants to merge 2 commits into
Conversation
bruceg
requested changes
Oct 22, 2026
bruceg
left a comment
Member
There was a problem hiding this comment.
Found some must-fix issues below
bruceg
force-pushed
the
bruceg/map-otlp-to-typed-trace
branch
from
October 22, 2026 23:41
fec87db to
52e7390
Compare
…l in otlp serializer
A conversion that yields no spans is success, so the otlp serializer omits that event instead of failing the rest of the batch. Conversion issues are reported as component errors with a bounded error code, and a Vector event that encodes to nothing is counted as discarded. Spans that are still sent, including ones whose timestamps were clamped, are not counted as discarded. The HTTP sink does not post the resulting empty body. Finishing gzip or zstd with no input still emits a frame, so the request builder returns an empty payload before the compressor is finished. A collector rejects an empty body with HTTP 400, which rejects acknowledgements for spans already consumed. Dropping the request leaves the batch delivered. Datadog traces are still rejected. The HTTP encoder keeps the codec error text instead of replacing it with a generic encode failure.
bruceg
force-pushed
the
feat/otlp-native-traces
branch
2 times, most recently
from
October 23, 2026 20:20
2ea77ee to
287c8bc
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Stacked on #26590. The
otlpcodec now converts native trace events from theopentelemetrysource (decoded withoutuse_otlp_decoding) to OTLP spans, throughlegacy_to_typedandExportTraceServiceRequest::from_events. Events that already haveresourceSpansare still encoded as before. Datadog traces, and traces where every span is rejected, fail as encode errors.Conversion issues are reported through a new rate-limited warning event (
OtlpTraceConversionIssue). It does not count as an error or a drop because the event is still delivered. Feedback on this reporting choice is welcome.References
Vector configuration
How did you test this PR?
telemetrygento the config above, which forwarded them to an OpenTelemetry Collector 0.111.0 (debug exporter). All spans arrived with trace, span, and parent IDs, kind, timestamps, and attributes. No conversion warnings were logged.Does this PR include user facing changes?
no-changeloglabel to this PR.