-
Notifications
You must be signed in to change notification settings - Fork 251
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
Exporter should use gzip compression by default #934
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this contribution.
Based on my understanding of the specification there should not be a default value for compression, which is why we have left it unset by default.
Am I misinterpreting this?
Supported values for OTEL_EXPORTER_OTLP_*COMPRESSION options:
If the value is missing, then compression is disabled.
gzip is the only specified compression method for now. Other options MAY be supported by language SDKs and should be documented for each particular language.
OK, I will raise a PR to change the spec. It is ridiculous that gzip is not the default. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like we're going with open-telemetry/opentelemetry-specification#1923 which allows SDKs to decide the default (valid choices are none
and gzip
). We can go ahead with this PR when the spec PR is approved & merged.
@fbogsany open-telemetry/opentelemetry-specification#1923 has been merged. Let's now merge this PR. |
We have had reports of |
@fbogsany thanks. I'm also seeing the same error on about 1 out of every 1,000,000 requests. Let's fix it. |
There's a CI failure - this expects a default of no compression: opentelemetry-ruby/exporter/otlp/test/opentelemetry/exporter/otlp/exporter_test.rb Line 20 in 61b84ae
|
Spec change makes it reasonable to proceed
Gzip should be the standard for all tracing. 99.9% of practical application use cases would want it; it should only be disabled in very specific scenarios (I'm not even sure what they would be).