Add compression support for otlp tonic #1165
Merged
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.
Part of #774
Design discussion issue (if applicable) #
It looks like there needs to be a larger refactor to allow compression to be pushed up to
ExportConfig
and to havewith_env
set the variables to something that allows late binding. It'd be better to do this separately though as it affects all the settings inExportConfig
.Changes
Adds the ability to use compression when using grpc-tonic.
Added support for the following env variables:
This doesn't use
with_env
yet as it is impossible currently to detect at this point if compression is enabled for logs|metrics|traces.Longer term we can add a new enum for use in
ExportConfig
like:Which would allow
with_env
to mark a field as being resolved by env variable. Thus allowingOTEL_EXPORTER_OTLP_LOGS_COMPRESSION
to be used for logs,OTEL_EXPORTER_OTLP_TRACES_COMPRESSION
for traces etc...I'm happy to try to do this as a follow-up.
Follow up:
I just noticed that
from_env
was removed from the jaeger exporter, so maybe if we are going in the same direction with the otlp exporter then there's not need for the above.Merge requirement checklist
CHANGELOG.md
files updated for non-trivial, user-facing changes