Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support compression in OTel sources (trace, logs, metrics) #1176

Closed
tmarszal opened this issue Mar 11, 2022 · 6 comments · Fixed by #2702
Closed

Support compression in OTel sources (trace, logs, metrics) #1176

tmarszal opened this issue Mar 11, 2022 · 6 comments · Fixed by #2702
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@tmarszal
Copy link

Is your feature request related to a problem? Please describe.
By default, OpenTelemetry Collector compress its requests body (along with Content-Encoding header). Otel-trace-source is not supporting this (responding with INTERNAL: Invalid protobuf byte sequence) and it needs to be turned off in the OpenTelemetry Collector configuration.

Describe the solution you'd like
Data Prepper should accept Content-Encoding header and adjust to it.

Describe alternatives you've considered (Optional)
Alternatively, it can let users configure which compression they intend to use, however it requires coordinated changes on both Collector and Prepper, so following HTTP header guidance is preferable.

Additional context
Found while reporting #1152

@dlvenable dlvenable added the enhancement New feature or request label Mar 11, 2022
@dlvenable dlvenable added this to Untriaged in (deprecated) Tracking Board via automation Mar 11, 2022
@dlvenable dlvenable removed this from Backlog in Data Prepper Project Roadmap Mar 11, 2022
@dlvenable
Copy link
Member

Thank you for making this feature request. This is a valuable feature especially since the OTel Collector is using compression by default.

We need to determine if our current Armeria version supports compression or if we need to update. We are currently blocked on updating Armera per #924 .

@chenqi0805
Copy link
Collaborator

There is probably no out-of-the-box protobuf compression supported in Armeria: https://javadoc.io/doc/com.linecorp.armeria/armeria-javadoc/latest/com/linecorp/armeria/server/grpc/GrpcServiceBuilder.html#enableUnframedRequests(boolean). Will confirm with their community.

@chenqi0805
Copy link
Collaborator

From community help, EncodingService might help resolve the issue:

sb.service(grpcServiceBuilder.build(), EncodingService.newDecorator());

@dlvenable
Copy link
Member

Thanks @chenqi0805 for looking into this. It does appear that this class is in Armeria 1.9.2 which are currently on. So this might be something we can do even without updating Armeria (though we still should do that).

@chenqi0805
Copy link
Collaborator

Actually DecodingService is what we need. Right now it only supports gzip decoding and does not require armeria upgrade.

@dlvenable dlvenable added this to the v1.5 milestone Apr 19, 2022
@dlvenable dlvenable removed this from the v1.5 milestone May 18, 2022
@dlvenable dlvenable removed this from Untriaged in (deprecated) Tracking Board Jun 25, 2022
@svana svana added this to the v2.2 milestone Apr 20, 2023
@dlvenable dlvenable modified the milestones: v2.2, v2.3 Apr 21, 2023
@dlvenable dlvenable changed the title Support compression in otel-trace-source Support compression in OTel sources (trace, logs, metrics) Apr 24, 2023
@dlvenable
Copy link
Member

Please support in all three sources:

  • otel_trace_source
  • otel_logs_source
  • otel_metrics_source

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants