This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.103.0 and the opentelemetry-collector-contrib v0.103.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Core)
exporter/debug
: Disable sampling by default (#9921)
To restore the behavior that was previously the default, setsampling_thereafter
to500
. - (Contrib)
mongodbreceiver
: Now only supportsTCP
connections (#32199)
This fixes a bug where hosts had to explicitly settcp
as the transport type. Thetransport
option has been removed. - (Contrib)
sqlserverreceiver
: sqlserver.database.io.read_latency has been renamed to sqlserver.database.latency with adirection
attribute. (#29865)
🚀 New components 🚀
- (Splunk) Add Azure Monitor receiver (#4971)
- (Splunk) Add upstream Opentelemetry Collector RabbitMQ receiver (#4980)
- (Splunk) Add Active Directory Domain Services receiver (#4994)
- (Splunk) Add Splunk Enterprise receiver (#4998)
💡 Enhancements 💡
- (Core)
otelcol/expandconverter
: Addconfmap.unifyEnvVarExpansion
feature gate to allow enabling Collector/Configuration SIG environment variable expansion rules. (#10391)
When enabled, this feature gate will:- Disable expansion of BASH-style env vars (
$FOO
) ${FOO}
will be expanded as if it was${env:FOO}
See https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/rfcs/env-vars.md for more details.
- Disable expansion of BASH-style env vars (
- (Core)
confmap
: Addconfmap.unifyEnvVarExpansion
feature gate to allow enabling Collector/Configuration SIG environment variable expansion rules. (#10259)
When enabled, this feature gate will:- Disable expansion of BASH-style env vars (
$FOO
) ${FOO}
will be expanded as if it was${env:FOO}
See https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/rfcs/env-vars.md for more details.
- Disable expansion of BASH-style env vars (
- (Core)
confighttp
: Allow the compression list to be overridden (#10295)
Allows Collector administrators to control which compression algorithms to enable for HTTP-based receivers. - (Core)
configgrpc
: Revert the zstd compression for gRPC to the third-party library we were using previously. (#10394)
We switched back to our compression logic for zstd when a CVE was found on the third-party library we were using. Now that the third-party library has been fixed, we can revert to that one. For end-users, this has no practical effect. The reproducers for the CVE were tested against this patch, confirming we are not reintroducing the bugs. - (Core)
confmap
: Adds alphaconfmap.strictlyTypedInput
feature gate that enables strict type checks during configuration resolution (#9532)
When enabled, the configuration resolution system will:- Stop doing most kinds of implicit type casting when resolving configuration values
- Use the original string representation of configuration values if the ${} syntax is used in inline position
- (Core)
confighttp
: Useconfighttp.ServerConfig
as part of zpagesextension. See server configuration options. (#9368) - (Contrib)
filelogreceiver
: If include_file_record_number is true, it will add the file record number as the attributelog.file.record_number
(#33530) - (Contrib)
filelogreceiver
: Add support for gzip compressed log files (#2328) - (Contrib)
kubeletstats
: Add k8s.pod.cpu.node.utilization metric (#33390) - (Contrib)
awss3exporter
: endpoint should contain the S3 bucket (#32774) - (Contrib)
statsdreceiver
: update statsd receiver to use mdatagen (#33524) - (Contrib)
statsdreceiver
: Added received/accepted/refused metrics (#24278) - (Contrib)
metricstransformprocessor
: Adds the 'count' aggregation type to the Metrics Transform Processor. (#24978) - (Contrib)
tailsamplingprocessor
: Simple LRU Decision Cache for "keep" decisions (#31583) - (Contrib)
tailsamplingprocessor
: Migrates internal telemetry to OpenTelemetry SDK via mdatagen (#31581)
The metric names and their properties, such as bucket boundaries for histograms, were kept like before, to keep backwards compatibility. - (Contrib)
kafka
: Addeddisable_fast_negotiation
configuration option for Kafka Kerberos authentication, allowing the disabling of PA-FX-FAST negotiation. (#26345) - (Contrib)
pkg/ottl
: Addedkeep_matching_keys
function to allow dropping all keys from a map that don't match the pattern. (#32989) - (Contrib)
pkg/ottl
: Add debug logs to help troubleshoot OTTL statements/conditions (#33274) - (Contrib)
pkg/ottl
: Introducingappend
function for appending items into an existing array (#32141) - (Contrib)
pkg/ottl
: IntroducingUri
converter parsing URI string into SemConv (#32433) - (Contrib)
probabilisticsamplerprocessor
: Add Proportional and Equalizing sampling modes (#31918)
Both the existing hash_seed mode and the two new modes use OTEP 235 semantic conventions to encode sampling probability. - (Contrib)
prometheusreceiver
: Resource attributes produced by the prometheus receiver now include stable semantic conventions forserver
andurl
. (#32814)
To migrate from the legacy net.host.name, net.host.port, and http.scheme resource attributes, migrate to server.address, server.port, and url.scheme, and then set the receiver.prometheus.removeLegacyResourceAttributes feature gate. - (Contrib)
spanmetricsconnector
: Produce delta temporality span metrics with StartTimeUnixNano and TimeUnixNano values representing an uninterrupted series (#31671, #30688)
This allows producing delta span metrics instead of the more memory-intensive cumulative metrics, specifically when a downstream component can convert the delta metrics to cumulative. - (Contrib)
sqlserverreceiver
: Add support for more Database IO metrics (#29865)
The following metrics have been added:- sqlserver.database.latency
- sqlserver.database.io
- sqlserver.database.operations
- (Contrib)
processor/transform
: Addtransform.flatten.logs
featuregate to give each log record a distinct resource and scope. (#32080)
This option is useful when applying transformations which alter the resource or scope. e.g.set(resource.attributes["to"], attributes["from"])
, which may otherwise result in unexpected behavior. Using this option typically incurs a performance penalty as the processor must compute many hashes and create copies of resource and scope information for every log record. - (Contrib)
receiver/windowsperfcounters
: Counter configuration now supports recreating the underlying performance query at scrape time. (#32798)
🧰 Bug fixes 🧰
- (Core)
exporterhelper
: Fix potential deadlock in the batch sender (#10315) - (Core)
expandconverter
: Fix bug where an warning was logged incorrectly. (#10392) - (Core)
exporterhelper
: Fix a bug when the retry and timeout logic was not applied with enabled batching. (#10166) - (Core)
exporterhelper
: Fix a bug where an unstarted batch_sender exporter hangs on shutdown (#10306) - (Core)
exporterhelper
: Fix small batch due to unfavorable goroutine scheduling in batch sender (#9952) - (Core)
confmap
: Fix issue where structs with only yaml tags were not marshaled correctly. (#10282) - (Contrib)
filelogreceiver
: Container parser should add k8s metadata as resource attributes and not as log record attributes (#33341) - (Contrib)
postgresqlreceiver
: Fix bug wherepostgresql.rows
always returning 0 forstate="dead"
(#33489) - (Contrib)
prometheusreceiver
: Fall back to scrape config job/instance labels for aggregated metrics without instance/job labels (#32555)
Docker Image Manifests:
- Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector:0.103.0
- digest:
sha256:9730eb338bb702842c5cd2f601815bfae38ba567d84e6917446e66763c52c21d
- Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector-windows:0.103.0
- digest:
sha256:a934728619a82f79d613399ad4d4e97b8ea825eceaf480f8d3a4ce7a1be028b9