feat: Add support for configuring compression levels
Description
Add the option of configuring compression levels. This is not intended to be a breaking change for the user.
Link to tracking issue
Issue - https://github.com/open-telemetry/opentelemetry-collector/issues/10467
Testing
Unit tests were added/changed
Codecov Report
Attention: Patch coverage is 94.73684% with 4 lines in your changes missing coverage. Please review.
Project coverage is 91.61%. Comparing base (
71aae79) to head (683df97). Report is 6 commits behind head on main.
| Files with missing lines | Patch % | Lines |
|---|---|---|
| config/confighttp/compressor.go | 89.47% | 3 Missing and 1 partial :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## main #11805 +/- ##
=======================================
Coverage 91.60% 91.61%
=======================================
Files 456 456
Lines 24086 24139 +53
=======================================
+ Hits 22064 22114 +50
- Misses 1649 1651 +2
- Partials 373 374 +1
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
@dmitryax this latest commit has all the changes from the most recent review.
@dmitryax please let me know if there are any other changes that you'd like to see!
This PR was marked stale due to lack of activity. It will be closed in 14 days.
@axw I appreciate the review. If possible, I'd also like @dmitryax or @open-telemetry/collector-approvers to chime in before I implement these changes.
@axw @dmitryax @Aneurysm9 I think I've addressed/resolved most conversations in this PR. Do we think this is close to being ready?
Recommend changing the PR title to emphasize that this is being addressed for HTTP configurations, not gRPC.
FYI the OTel-Arrow project also addressed this problem for itself internally on the gRPC path, and I think it would be worth planning for HTTP and gRPC configurations to do the same.
Please see https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/internal/otelarrow/compression, which has support for both exporter- and receiver- side configuration of the Zstd compressor.