This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.144.0
and the opentelemetry-collector-contrib v0.144.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Splunk)
appmesh: Remove appmesh plugin (#7106)
Use the statsd receiver instead. - (Splunk)
cadvisor: This plugin is removed at the end of its deprecation period. (#7086)
Please use the prometheus receiver instead. - (Splunk)
collectd/chrony: This plugin is removed at the end of its deprecation period. (#7090)
Please use the chronyreceiver instead. - (Splunk)
collectd/cpu: Remove the collectd/cpu monitor (#7097)
The collectd/cpu monitor is removed in favor of the cpu monitor. - (Splunk)
collectd/couchbase: This plugin is removed at the end of its deprecation period. (#7077)
The collectd/couchbase plugin is removed. Please use the prometheus receiver instead.
See https://docs.couchbase.com/server/current/manage/monitor/set-up-prometheus-for-monitoring.html for more information. - (Splunk)
chocolatey: Remove FluentD from choco installer (#7125)
FluentD is no longer installable as part of the collector using chocolatey.
Please use native OpenTelemetry log receivers such as filelog receiver instead. - (Splunk)
installer: Remove FluentD support (#7123)
Remove FluentD support from the installer.
Please use native OTel receivers instead (e.g. the filelog receiver). - (Splunk)
msi: remove FluentD support (#7124)
Remove FluentD support after deprecation. Use native receivers such as the filelog receiver instead. - (Splunk)
haproxy: This plugin is removed at the end of its deprecation period. (#7088)
Please use the haproxyreceiver instead. - (Splunk)
heroku: Remove deprecated plugin (#7102)
Please use https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/resourcedetectionprocessor#heroku instead. - (Splunk)
collectd/jenkins: This plugin is removed at the end of its deprecation period. (#7076)
Please see https://plugins.jenkins.io/opentelemetry/ to enable OpenTelemetry signals. - (Splunk)
kubelet-stats: This plugin is removed at the end of its deprecation period. (#7086)
Please use the kubeletstats receiver instead. - (Splunk)
kubelet-metrics: This plugin is removed at the end of its deprecation period. (#7081)
The smart agent monitor kubelet-metrics is removed.
Please use the kubeletstats receiver moving forward. - (Splunk)
mongodbatlas: Remove deprecated monitor (#7100)
Please use the mongodbatlasreceiver instead.
See https://help.splunk.com/en/splunk-observability-cloud/manage-data/available-data-sources/supported-integrations-in-splunk-observability-cloud/opentelemetry-receivers/mongodb-atlas-receiver - (Splunk)
nagios: Remove nagios monitor (#7099) - (Splunk)
collectd/nginx: This plugin is removed at the end of its deprecation period. (#7091)
Please use the nginx receiver instead. - (Splunk)
collectd/rabbitmq: This plugin is removed at the end of its deprecation period. (#7078)
The collectd/rabbitmq smart agent monitor is removed. Please follow this documentation to set up the RabbitMQ receiver. - (Splunk)
collectd/redis: This plugin is removed at the end of its deprecation period. (#7079)
The collectd/redis smart agent monitor is removed. Please follow this documentation to set up the Redis receiver. - (Splunk)
windows-legacy: This monitor is removed at the end of its deprecation period. (#7098)
The smart agent monitor windows-legacy is removed.
Please use the hostmetrics receiver
and the windowsperfcounters receiver
moving forward. - (Splunk)
collectd/spark: This plugin is removed at the end of its deprecation period. (#7080)
Please use the apache spark receiver instead. - (Splunk)
collectd/statsd: This plugin is removed at the end of its deprecation period. (#7085)
The smart agent monitor collectd/statsd is removed, please use the statsdreceiver instead. - (Splunk)
statsd: Remove deprecated plugin (#7106)
Use the statsd receiver instead. - (Core)
pkg/exporterhelper: Change verbosity level for otelcol_exporter_queue_batch_send_size metric to detailed. (#14278) - (Core)
pkg/service: Remove deprecatedtelemetry.disableHighCardinalityMetricsfeature gate. (#14373) - (Core)
pkg/service: Remove deprecatedservice.noopTracerProviderfeature gate. (#14374) - (Contrib)
exporter/kafka: Remove Sarama producer implementation (#44565)
The Sarama-based Kafka producer has been removed from kafkaexporter.
Feature gateexporter.kafkaexporter.UseFranzGohas also been removed since Franz-go is now the only supported Kafka client. - (Contrib)
processor/tail_sampling: The deprecated invert decisions are disabled by default. (#44132)
Drop policies should be used instead of invert decisions for explicitly not sampling a trace.
If the deprecated behavior is required while migrating to drop policies, disable theprocessor.tailsamplingprocessor.disableinvertdecisionsfeature gate. - (Contrib)
receiver/kafka: Remove Sarama consumer implementation anddefault_fetch_sizeconfiguration option (#44564)
The Sarama-based Kafka consumer has been removed from kafkareceiver.
Thedefault_fetch_sizeconfiguration option has also been removed as it was only used by the Sarama consumer.
Feature gatereceiver.kafkareceiver.UseFranzGohas also been removed since Franz-go is now the only supported Kafka client.
🚩 Deprecations 🚩
- (Splunk)
collectd/apache: Deprecate the collectd/apache plugin (#7089)
Please use the apachereceiver instead. - (Splunk)
collectd/cpufreq: Deprecate the collectd/cpufreq plugin (#7096)
Please use the hostmetrics receiver instead. - (Splunk)
collectd/memory: Deprecate the collectd/memory plugin (#7096)
Please use the hostmetrics receiver instead. - (Splunk)
collectd/processes: Deprecate the collectd/processes plugin (#7096)
Please use the hostmetrics receiver instead. - (Splunk)
collectd/uptime: Deprecate the collectd/uptime plugin (#7096)
Please use the hostmetrics receiver instead. - (Splunk)
ntp: Deprecate ntp monitor (#7101)
Please use the NTP receiver instead. - (Core)
exporter/otlp_grpc: Renameotlpexporter tootlp_grpcexporter and add deprecated aliasotlp. (#14403) - (Core)
exporter/otlp_http: Renameotlphttpexporter tootlp_httpexporter and add deprecated aliasotlphttp. (#14396)
🚀 New components 🚀
- (Splunk)
exporter/googlecloudstorage: Add the Google Cloud Storage exporter to the distribution (#7053)
See README
for more information.
💡 Enhancements 💡
- (Core)
pkg/xexporterhelper: Re-enable batching for profiles (#14313) - (Core)
receiver/nop: add profiles signal support (#14253) - (Contrib)
processor/redaction: Addsanitize_span_nameoption to URL and DB sanitization configs. (#44228) - (Contrib)
processor/redaction: Addignored_key_patternsconfiguration option to allow ignoring keys by regex pattern (#44657) - (Contrib)
processor/resourcedetection: Add optional docker attributes (#44898). Note: Because of opentelemetry-collector-releases#1350 this change is not available on the v0.144.0 binary releases. v0.145.0 will include this change.
Addcontainer.image.nameandcontainer.nameoptional resource attributes with the docker detector. - (Contrib)
processor/tail_sampling: Provide an option,decision_wait_after_root_received, to make quicker decisions after a root span is received. (#43876) - (Contrib)
receiver/azureeventhub: Add support for azure auth when feature gatereceiver.azureeventhubreceiver.UseAzeventhubsis enabled. (#40711) - (Contrib)
receiver/prometheus: receiver/prometheus now associates scraped _created text lines as the created timestamp of its metric family rather than its own metric series, as defined by the OpenMetricsText spec (#45291) - (Contrib)
receiver/prometheus: Add comprehensive troubleshooting and best practices guide to Prometheus receiver README (#44925)
The guide includes common issues and solutions, performance optimization strategies,
production deployment best practices, monitoring recommendations, and debugging tips. - (Contrib)
receiver/prometheusremotewrite: Replace labels.Map() iteration with direct label traversal to eliminate intermediate map allocations. (#45166)
🧰 Bug fixes 🧰
- (Splunk)
journalctl: Added missing libraries to the bundled journalctl binary to allow reading journal files that are compressed with LZMA/LZMA2 algorithms. (#7116)
If you continue to experience issues reading journal files with the bundled journalctl binary, we recommend configuring your k8s Splunk OTel Collector deployment to use the host journalctl instead.
For more details, see Use the Host Journalctl binary.
This option will be available starting with chart version 0.144.0. - (Core)
pkg/exporterhelper: Fix reference count bug in partition batcher (#14444) - (Contrib)
exporter/kafka: franz-go: Exclude non-produce metrics from kafka_exporter_write_latency and kafka_exporter_latency (#45258) - (Contrib)
exporter/prometheusremotewrite: Prevent duplicate samples by allowing the WAL to be empty (#41785)
Since the WAL is being truncated after every send it's likely the reader and writer are in sync. Since WAL was not
allowed to be empty, the reader would always re-read previously delivered samples causing duplicate data to be sent
continuously. - (Contrib)
extension/file_storage: Handle filename too long error in file storage extension by using the sha256 of the attempted filename instead. (#44039) - (Contrib)
extension/text_encoding: Avoid spurious marshalling separators at end of lines (#42797)
Previously, text_encoding would append the marshalling separator to the end of
each log record, potentially resulting in double-newlines between blocks of
records. - (Contrib)
extension/text_encoding: Fix an issue where marshalling/unmarshalling separators were ignored (#42797) - (Contrib)
pkg/ottl: Fix numeric parsing to correctly handle signed numbers in math expressions. (#45222)
The OTTL math expression parser did not correctly handle unary signs for plus
and minus. Expressions like3-5would not parse correctly without inserting
spaces to make it3 - 5. This change moves the sign handling out of the
lexer and into the parser. - (Contrib)
pkg/ottl: Handle floating constants with decimal point but no fraction. (#45222)
Floating point constants that had a decimal point but no fractional digits
(e.g., "3.") were not handled properly and could crash the parser. These are
now parsed as valid floating point numbers. - (Contrib)
pkg/stanza: Fix Windows UNC network path handling in filelog receiver (#44401)
The filelog receiver now correctly handles Windows UNC network paths (e.g., \server\share\logs*.log).
Previously, the receiver could list files from network shares but failed to open them due to path corruption
during normalization. This fix converts UNC paths to Windows extended-length format (\?\UNC\server\share\path)
which is more reliable and not affected by filepath.Clean() issues. - (Contrib)
pkg/stanza: Ensurecontainerparser respects theifcondition andon_errorsettings when format detection fails (#41508) - (Contrib)
processor/resourcedetection: Prevent the resource detection processor from panicking when detectors return a zero-valued pdata resource. (#41934) Note: Because of opentelemetry-collector-releases#1350 this change is not available on the v0.144.0 binary releases. v0.145.0 will include this change. - (Contrib)
processor/resourcedetection: Fix nil pointer panic when HTTP client creation fails in Start method (#45220) Note: Because of opentelemetry-collector-releases#1350 this change is not available on the v0.144.0 binary releases. v0.145.0 will include this change. - (Contrib)
receiver/jmx: Enable initial_delay and collection_interval settings via scraper helper (#44492) - (Contrib)
receiver/postgresql: Fix query plan EXPLAIN to use raw query with $N placeholders instead of obfuscated query with ? placeholders (#45190)
Previously, the EXPLAIN query was using obfuscated queries with ? placeholders, which PostgreSQL does not recognize.
Now uses the raw query with $1, $2 placeholders that PostgreSQL expects. - (Contrib)
receiver/prometheusremotewrite: Fix silent data loss when consumer fails by returning appropriate HTTP error codes instead of 204 No Content. (#45151)
The receiver was sending HTTP 204 No Content before calling ConsumeMetrics(),
causing clients to believe data was successfully delivered even when the consumer failed.
Now returns 400 Bad Request for permanent errors and 500 Internal Server Error for retryable errors,
as per the Prometheus Remote Write 2.0 specification. - (Contrib)
receiver/sqlserver: Accuracy improvements for top-query metrics (#45228)
SQLServer metrics reporting is improved by reducing the warm-up delay and providing accurate insights sooner.
Docker Image Manifests:
- Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector:0.144.0- digest:
sha256:1629d8895cb08d813ac5f471ffbdd81c2ef63a1e538a2d09a79aa190fdeeb2cb