This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.145.0
and the opentelemetry-collector-contrib v0.145.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Splunk)
installer.ps1: Remove FluentD support from PowerShell installer (#7137)
FluentD support is removed after deprecation period.
Prefer using the filelog receiver for log ingestion. - (Splunk)
rpm/deb: Remove FluentD installation and configuration (#7138)
FluentD is removed from debian and RPM packages after a period of deprecation.
Please use the filelog receiver instead to ingest logs. - (Contrib)
pkg/translator/azure: Updated OpenTelemetry semantic conversion to the latest version 1.38.0 in azure pkg. (#44801) - (Contrib)
processor/resourcedetection: Promoteprocessor.resourcedetection.removeGCPFaasIDfeature gate to Stable and is now always enabled (#45797)
The faas.id attribute is replaced by the faas.instance attribute. - (Contrib)
receiver/azure_event_hub: Upgradereceiver.azureeventhubreceiver.UseAzeventhubsfeature gate to stable. (#45527) - (Contrib)
receiver/kafka: ReplaceStartTracesOp/EndTracesOpwithStartProfilesOp/EndProfilesOpin profilesHandler. (#45601)
The span name generated by the profiles receiver now uses theProfilesReceivedsuffix instead ofTraceDataReceived. - (Contrib)
receiver/prometheus: Promotereceiver.prometheusreceiver.RemoveReportExtraScrapeMetricsConfigfeature gate to beta (#44181)
Thereport_extra_scrape_metricsconfiguration option is now ignored by default. Extra scrape metrics are instead controlled by thereceiver.prometheusreceiver.EnableReportExtraScrapeMetricsfeature gate and the Prometheus upstream configuration available inpromconfig(either globally or per-scrape config).
🚩 Deprecations 🚩
- (Splunk)
collectd/opcache: Deprecate collectd/opcache (#7140)
Deprecate the collectd/opcache monitor.
It will be removed on or after April 2026.
There is no direct replacement for this monitor. Please consider using the PHP SDK for OpenTelemetry moving forward. - (Splunk)
collectd/php-fpm: Deprecate collectd/php-fpm (#7140)
Deprecate the collectd/php-fpm monitor.
It will be removed on or after April 2026.
There is no direct replacement for this monitor. Please consider using the PHP SDK for OpenTelemetry moving forward. - (Splunk)
collectd/protocols: Deprecate collectd/protocols (#7170)
Please use the hostmetrics receiver with the network scraper instead. - (Splunk)
includeconfigsource: Deprecatedelete_filessetting (#7141)
Deprecate thedelete_filesinclude configsource setting, to be removed on or after April 2026. - (Splunk)
smartagent/postgresql: Deprecate the postgresql monitor (#7142)
This monitor is deprecated and will be removed on or after April 2026.
Please use the postgresql receiver instead. - (Contrib)
receiver/azure_event_hub: Renameazureeventhubreceiver toazure_event_huband add deprecated aliasazureeventhub(#45637) - (Contrib)
receiver/jmx: Deprecate the jmxreceiver to avoid running Java subprocesses in the Collector and prevent container-based deployments from requiring a Java runtime. (#45740) - (Contrib)
receiver/mongodb_atlas: Renamemongodbatlasreceiver tomongodb_atlasand add deprecated aliasmongodbatlas(#45652)
🚀 New components 🚀
- (Splunk)
receiver/memcached: Add memcached receiver to the distribution (#7171)
See README - (Splunk)
receiver/saphana: Add SAP HANA receiver (#7162)
See README - (Splunk)
receiver/systemd: Add systemd receiver (#7143) - (Splunk)
receiver/yanggrpc: Add YANG/gRPC receiver (#7161)
Add new YANG/gRPC receiver
💡 Enhancements 💡
- (Splunk)
packaging: Update bundled OpenJDK to 11.0.30_7 (#7172) - (Splunk)
packaging: Update Splunk OpenTelemetry Java agent to v2.24.0 (#7092) - (Splunk)
packaging: Update Splunk OpenTelemetry .NET agent to v1.13.0 (#7132) - (Core)
pkg/scraperhelper: ScraperID has been added to the logs for metrics, logs, and profiles (#14461) - (Contrib)
connector/routing: Add move/copy support in routing connector (#45061) - (Contrib)
exporter/googlecloudstorage: Add support for exporting traces to Google Cloud Storage (#44945) - (Contrib)
exporter/signalfx: Add support for processing entity events from logs pipeline to send as dimension property updates (#27890)
The SignalFx exporter now supports processing entity events (e.g., from k8s_cluster receiver)
received via the logs pipeline and converting them to dimension property updates. This provides
an alternative to the metadata_exporters option and enables consistent metadata handling.
This feature is behind theexporter.signalfx.consumeEntityEventsfeature gate (disabled by default). - (Contrib)
extension/oauth2client: Support jwt-bearer grant-type (RFC7523) (#44314) - (Contrib)
extension/opamp: This change adds support for the OpAMP AcceptsRestartCommand capability. The implementation for this capability sends a SIGHUP signal to restart the collector which will reload the config on startup. (#45056)
This functionality is behind a feature gate (extension.opampextension.RemoteRestarts) that defaults to disabled. The SIGHUP signal does not work on Windows systems, but might later be updated to use the SIGUSR2 signal. - (Contrib)
internal/coreinternal: Improve performance of hashing function for attraction package. (#45211) - (Contrib)
pkg/fileconsumer: Open files on Windows with FILE_SHARE_DELETE mode (#32037) - (Contrib)
pkg/ottl: Added generic path to get/set span flags in OTTL trace span context. (#34739) - (Contrib)
pkg/ottl: Introducingdelete_indexfunction for deleting items from an existing array (#43098) - (Contrib)
pkg/stanza: Ensure recombine operator does not split batches of entries (#42392) - (Contrib)
pkg/stanza: Ensure container operator does not split batches of entries (#42389) - (Contrib)
pkg/stanza: Ensure syslog operator does not split batches of entries (#42394) - (Contrib)
pkg/translator/azurelogs: Add support for all Activity Logs categories (#44871)
Includes support for the Alert, Autoscale, Policy, Recommendation, Security, ServiceHealth, and ResourceHealth categories. - (Contrib)
processor/k8sattributes: Added processor-specific observability metrics:otelcol.k8s.pod.associationwithstatus,pod_identifier, andotelcol.signalattributes (#44587) - (Contrib)
processor/resourcedetection: Add support for GCP resource detector to gather GCE instance labels as resource attributes (#35859)
The GCP resource detector now supports gathering GCE instance labels as resource attributes, allowing for more detailed resource metadata in telemetry data. - (Contrib)
processor/resourcedetection: Added Alibaba Cloud ECS resource detector to the Resource Detection Processor (#45632) - (Contrib)
processor/tail_sampling: New policy type to return the opposite of the sampling decision of a wrapped policy. (#39668) - (Contrib)
processor/tail_sampling: Add trace_flags policy (#43867) - (Contrib)
processor/tail_sampling: Provide option to limit maximum trace size kept in memory by the tail sampling processor (#45286)
Traces that exceed the size limit will be immediately dropped, not have a decision made for them. - (Contrib)
receiver/azureblob: Replace deprecatedazure-event-hubs-goSDK withazure-sdk-for-go(#44335) - (Contrib)
receiver/filelog: Suppress repeated permission-denied errors (#39491)
Only one error is logged per file per process run, and an informational message is emitted when the file becomes readable again.
This reduces log spam and improves clarity for operators. - (Contrib)
receiver/hostmetrics: Add support for Linux hugepages memory monitoring via system.memory.linux.hugepages metrics. (#42650)
Users can now monitor hugepages usage on host machine. - (Contrib)
receiver/jmx: Add the JMX scraper version "1.53.0-alpha" to the supported jars hash list (#45571) - (Contrib)
receiver/jmx: Add the JMX metrics gatherer version "1.53.0-alpha" to the supported jars hash list (#45570) - (Contrib)
receiver/k8sobjects: Add support for exclude_namespaces to exclude specific namespaces from being watched. (#36217)
Add support for exclude_namespaces to exclude specific namespaces from being watched. - (Contrib)
receiver/prometheus: Support removable Prometheus service discoveries via Go build tags. (#44406)
Prometheus service discoveries can now be removed at build time when building the collector with OCB (OpenTelemetry Collector Builder).
Use thebuild_tagsoption in the builder configuration to pass Go build tags such asremove_all_sdto exclude optional service discoveries.
See the Prometheus documentation for available build tags to customize which service discoveries are included. - (Contrib)
receiver/snowflake: Enables dynamic metric reaggregation in the Splunk Enterprise receiver. This does not break existing configuration files. (#45396)
🧰 Bug fixes 🧰
- (Core)
exporter/otlp_grpc: Fix the OTLP exporter balancer to use round_robin by default, as intended. (#14090) - (Core)
pkg/config/configoptional: FixUnmarshalmethods not being called when config is wrapped insideOptional(#14500)
This bug notably manifested in the fact that thesending_queue::batch::sizerconfig for exporters
stopped defaulting tosending_queue::sizer, which sometimes caused the wrong units to be used
when configuringsending_queue::batch::min_sizeandmax_size.
As part of the fix,xconfmapexposes a newxconfmap.WithForceUnmarshaleroption, to be used in theUnmarshalmethods
of wrapper types likeconfigoptional.Optionalto make sure theUnmarshalmethod of the inner type is called.
The default behavior remains that callingconf.Unmarshalon theconfmap.Confpassed as argument to anUnmarshal
method will skip any top-levelUnmarshalmethods to avoid infinite recursion in standard use cases. - (Core)
pkg/confmap: Fix an issue where configs could fail to decode when using interpolated values in string fields. (#14413)
For example, a header can be set via an environment variable to a string that is parseable as a number, e.g.1234 - (Core)
pkg/service: Don't error on startup when process metrics are enabled on unsupported OSes (e.g. AIX) (#14307) - (Contrib)
internal/metadataproviders: Fix kubeadm resource detector to correctly read clusterName from kubeadm configmap (#45603) - (Contrib)
pkg/ottl: Fix debug logs in OTTL parser to not panic when marshalling transform contexts with invalid pdata (#44705) - (Contrib)
pkg/stanza: Fix transformer operators logging errors at ERROR level whenon_erroris set to quiet mode (#42646) - (Contrib)
pkg/stanza: Fixcontaineroperator log truncation for large CRI logs (#43982)
Previously the optionmax_log_sizeof thecontaineroperator did not work correctly, with the maximum log size limited to an arbitrary value even ifmax_log_sizewas higher or set to0to remove the limit. With this changemax_log_size: 0works correctly, removing the upper limit on log size.
The default value formax_log_sizeis now changed from0to1MiBto prevent boundless memory usage. - (Contrib)
pkg/stanza: Fix syslog parser operator logging errors at ERROR level whenon_erroris set to quiet mode (#42646) - (Contrib)
pkg/stanza: Fix data race in fileconsumer FileAttributes map access (#42825) - (Contrib)
processor/azuredetector: Avoid settingcloud.availability_zonewhen Azure Availability Zone is not assigned (#45642)
In cases where an Azure VM is not assigned to any Availability Zone,
thecloud.availability_zoneattribute was being set to an empty string.
This fix ensures that the attribute is only set when an Availability Zone
is indeed assigned, preventing misleading empty values. - (Contrib)
processor/azuredetector: Fallback to VM Name when osProfile.computerName is unavailable (#45642)
In certain Azure images, theosProfile.computerNamefield may not be set.
This fix ensures that the hostname detection falls back to using the VM Name
from the instance metadata service whenosProfile.computerNameis empty. - (Contrib)
processor/azuredetector: Avoid settingazure.vm.scaleset.nameto empty when VM not in scale set (#45642)
In scenarios where a VM is not part of a scale set, the
azure.vm.scaleset.nameattribute was being set to an empty string.
This fix ensures that the attribute is only set when the VM is indeed
part of a scale set, preventing misleading empty values. - (Contrib)
processor/k8sattributes: Fix k8s.node.uid extraction when node.name is disabled (#45328) - (Contrib)
receiver/awscontainerinsightreceiver: Add cAdvisor filesystem plugin imports to fix missing NodeFS and InstanceFS metrics (#45534) - (Contrib)
receiver/filelog: Fixed encoding not being applied to multiline pattern matching (#39011)
Previously, when using multiline pattern matching with non-UTF-8 encodings (e.g., utf-16le),
the encoding was not properly applied during pattern matching, causing multiline patterns to fail.
This fix ensures that the specified encoding is correctly applied when processing multiline patterns,
allowing proper parsing of files with fixed-length records and no line terminators in various encodings. - (Contrib)
receiver/journald: Avoid passing empty cursors to journalctl when resuming journald reads (#45435) - (Contrib)
receiver/receiver_creator: Do not log config in receivercreator since it could contain sensitive information (#38163)
Docker Image Manifests:
- Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector:0.145.0- digest:
sha256:6eff39756dcd03a0d20909221781d12a6747f23b36662ed83073b023c451af24