-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
awss3export to support gzip #27872
Comments
Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself. |
Sounds like a good idea to me! For solution details, most of the changes could be done with an added config option and then changes to this method:
The AWS s3 uploader's I believe using golang's We could just have an if statement for the new config option and keep existing functionality or use the gzip logic. I believe we'd want gzip disabled by default so this isn't a breaking change. |
What's the rotation strategy? Do we accumulate data into gzip and update in place files? Do we upload in bigger chunks? Please help understand how this would work. |
My original idea was just that if the exporter now uploads raw json files and now with the new config option there would be possibility to upload that same json but just with compressed format. All the other logic like rotation etc. would work just like now with json writer. |
@atoulme @pdelewski Is this work still being considered? Would love to use this if so. |
It's still being considered. Contributions welcome! |
**Description:** Add `compression` option to compress files using `compress/gzip` library before uploading to S3. **Link to tracking Issue:** Fixes #27872 **Testing:** Sent n number of traces through the S3 exporter using k6 to compare sizes. Used Minio as the S3 backend. | Marshaler | Compression | k6 Requests | k6 Data Sent | S3 Objects | S3 Total Size | | --- | --- | --- | --- | --- | --- | | otlp_json | No | 101 | 118 KB | 101 | 36 KB | | otlp_proto | No | 101 | 118 KB | 101 | 11 KB | | otlp_json | Yes | 101 | 118 KB | 101 | 21 KB | | otlp_proto | Yes | 101 | 118 KB | 101 | 9.9 KB | Additionally, new unit test to check file name. **Documentation:** - Updated README.md file
**Description:** Add `compression` option to compress files using `compress/gzip` library before uploading to S3. **Link to tracking Issue:** Fixes open-telemetry#27872 **Testing:** Sent n number of traces through the S3 exporter using k6 to compare sizes. Used Minio as the S3 backend. | Marshaler | Compression | k6 Requests | k6 Data Sent | S3 Objects | S3 Total Size | | --- | --- | --- | --- | --- | --- | | otlp_json | No | 101 | 118 KB | 101 | 36 KB | | otlp_proto | No | 101 | 118 KB | 101 | 11 KB | | otlp_json | Yes | 101 | 118 KB | 101 | 21 KB | | otlp_proto | Yes | 101 | 118 KB | 101 | 9.9 KB | Additionally, new unit test to check file name. **Documentation:** - Updated README.md file
**Description:** Add `compression` option to compress files using `compress/gzip` library before uploading to S3. **Link to tracking Issue:** Fixes open-telemetry#27872 **Testing:** Sent n number of traces through the S3 exporter using k6 to compare sizes. Used Minio as the S3 backend. | Marshaler | Compression | k6 Requests | k6 Data Sent | S3 Objects | S3 Total Size | | --- | --- | --- | --- | --- | --- | | otlp_json | No | 101 | 118 KB | 101 | 36 KB | | otlp_proto | No | 101 | 118 KB | 101 | 11 KB | | otlp_json | Yes | 101 | 118 KB | 101 | 21 KB | | otlp_proto | Yes | 101 | 118 KB | 101 | 9.9 KB | Additionally, new unit test to check file name. **Documentation:** - Updated README.md file
Component(s)
exporter/awss3
Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
When using AWS S3 exporter it would be nice to have ability to select compression for stored objects i.e. gzip
Describe alternatives you've considered
Current workflow for storing gzipped data is to use AWS Kinesis Exporter and then through Firehose store data to s3 gzipped. But having ability to straightly upload gzipped files to S3 would drop the need to use separate Kinesis stream for just gzipping the data.
Additional context
No response
The text was updated successfully, but these errors were encountered: