[exporter/stefexporter] Fix incorrectly implemented STEF exporter zstd compression option#38089
Merged
dmitryax merged 1 commit intoFeb 21, 2025
Conversation
Member
|
@tigrannajaryan please run |
### Description Resolves open-telemetry#38088 Previously the compression option was incorrectly set both for STEF Writer and gRPC Client. This was unnecessary and also did not work if the destination gRPC receiver did not enable zstd compressor. This change correctly removes the zstd compression option from gRPC client and only sets it as a STEF Writer option. ### Testing Done Added zstd compression option to TestExport unit test. Tested manually with STEF Server here https://github.com/splunk/stef/tree/main/otelcol/cmd/stefmockserver Built Collector contrib via `make otelcontribcol`. Used the following config for testing: ```yaml receivers: hostmetrics: collection_interval: 1s scrapers: load: filesystem: memory: network: paging: processes: exporters: debug: stef: endpoint: localhost:4320 compressions: zstd tls: insecure: true processors: service: pipelines: metrics: receivers: [hostmetrics] processors: [] exporters: [debug,stef] ``` Interestingly, with zstd enabled we get less than 1 byte per metric data point with STEF! ``` $ ./stefmockserver_darwin_arm64 2025/02/20 11:28:48.335835 Listening for STEF/gRPC on port 4320 2025/02/20 11:49:55.002889 Incoming STEF/gRPC connection. Records: 1285639, Messages: 4420, Bytes: 1139887, Bytes/point: 0.89, Acks: 4424, Last ACKID: 1285639 ```
6713a6b to
54300c9
Compare
Member
Author
Done. However, the build now fails on I have run |
dmitryax
approved these changes
Feb 21, 2025
Member
That looks like a flakyness |
yiquanzhou
added a commit
to dash0hq/opentelemetry-collector-contrib
that referenced
this pull request
Feb 24, 2025
* main: (55 commits) [chore] Update core dependencies (open-telemetry#38124) Add kafka topics observer implementation (open-telemetry#38060) [exporter/splunk_hec] Mute errors from draining the response body (open-telemetry#38118) [chore] [exporter/splunk_hec] Remove dead code (open-telemetry#38113) Add support for JUnit test results (open-telemetry#37941) [chore] amend changelog for prometheus receiver change (open-telemetry#38109) [chore] Fix dead links in issue-triaging.md (open-telemetry#38105) [chore] fix deprecation (open-telemetry#38107) [exporter/coralogix] Add new batch options to Coralogix exporter (open-telemetry#38082) [chore][exporter/datadog] fix integration test (open-telemetry#38091) [chore] Update otel to unblock contrib test in core repo (open-telemetry#38100) [chore] Bump go-version match to 1.23 (open-telemetry#38099) [exporter/elasticsearch] Add _metric_names_hash to avoid metric rejections (open-telemetry#37511) elasticsearchexporter: refactor encoding; drop metrics support from raw/none/bodymap mapping modes (open-telemetry#37928) [exporter/stefexporter] Fix incorrectly implemented STEF exporter zstd compression option (open-telemetry#38089) [exporter/clickhouse] Add client info for identifying exporter in `system.query_log` (open-telemetry#37146) [chore] Prepare release 0.120.1 (open-telemetry#38055) [extension/httpforwarder] Shutdown should wait server exit (open-telemetry#37735) receiver/prometheusremotewrite: Add two fields timestamp and value. (open-telemetry#37895) [reciver/sqlqueryreceiver] Add support for SapASE (sybase) (open-telemetry#37773) ...
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
Resolves #38088
Previously the compression option was incorrectly set both for STEF Writer and gRPC Client. This was unnecessary and also did not work if the destination gRPC receiver did not enable zstd compressor.
This change correctly removes the zstd compression option from gRPC client and only sets it as a STEF Writer option.
Interestingly, with zstd enabled we get less than 1 byte per metric data point with STEF exporter and hostmetrics receiver!
Testing Done
Added zstd compression option to TestExport unit test.
Tested manually with STEF Server here https://github.com/splunk/stef/tree/main/otelcol/cmd/stefmockserver
Built Collector contrib via
make otelcontribcol. Used the following config for testing: