Support for otel_traces codec to create Span Events from OTEL Traces#6843
Merged
Conversation
✅ License Header Check PassedAll newly added files have proper license headers. Great work! 🎉 |
b7fc0d4 to
beb9ac6
Compare
dlvenable
requested changes
May 8, 2026
| private static final String TEST_REQUEST_JSON_TRACES_FILE = "test-request-multiple-traces.json"; | ||
| // This protobuf file is generated using the OTel proto library. It contains a single | ||
| // ExportTraceServiceRequest with 2 spans (mimics awss3exporter otlp_proto format). | ||
| private static final String TEST_REQUEST_TRACES_FILE = "test-otel-trace.protobuf"; |
Member
There was a problem hiding this comment.
Is it possible generate these binary files on the fly from JSON? I think it is ideal to avoid checking in binary files here.
| class OTelTraceInputCodecTest { | ||
|
|
||
| @Test | ||
| void constructor_with_json_format_creates_codec() { |
Member
There was a problem hiding this comment.
Use the new @DataPrepperPluginTest test framework for these. You can even make these configurations available as YAML to verify it.
otel-pipeline:
source:
unused:
processor:
- otel_traces:
format: json
otel_format: opensearch
sink:
- unused:
Even though this is not a processor it will load using this.
| import java.util.Map; | ||
| import java.util.stream.Collectors; | ||
|
|
||
| public enum OTelTraceFormatOption { |
Member
There was a problem hiding this comment.
Let's rename all these classes to OTelTraces (plural) for consistency.
4e1e90e to
f4c9578
Compare
Signed-off-by: Divyansh Bokadia <dbokadia@amazon.com>
dlvenable
approved these changes
May 11, 2026
graytaylor0
approved these changes
May 19, 2026
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.
Description
Add a new
otel_tracesInputCodec that can parse OpenTelemetry trace data from pull-based sources like S3 and Kinesis Data Streams, producingSpanevents. The implementation follows the same pattern as the existingotel_logscodec and reuses the existingOTelProtoDecoder.parseExportTraceServiceRequest()for the actual trace-to-Span conversion.Example usage:
Issues Resolved
Resolves #6650
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.