The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
End User Changelog
🛑 Breaking changes 🛑
-
awscloudwatchreceiver
: Adds option to set storage for AWS CloudWatch receiver (#32231)- The default value of the
start_from
field in the logs config changed to Unix epoch (1970-01-01T00:00:00Z
) when not explicitly configured. This may alter the behavior of existing configurations relying on the previous default. - To maintain previous behavior, explicitly configure
start_from
in the logs configuraiton.
- The default value of the
-
k8sobjectsreceiver
: Check for K8s API objects existence on receiver startup and not during config validation. (#38803) -
receiver/kubeletstats
: Move receiver.kubeletstats.enableCPUUsageMetrics feature gate to beta (#39487)
Deprecated metricscontainer.cpu.utilization
,k8s.pod.cpu.utilization
andk8s.node.cpu.utilization
are being replaced
bycontainer.cpu.usage
,k8s.pod.cpu.usage
andk8s.node.cpu.usage
.
To be able to use the deprecated metrics, switchreceiver.kubeletstats.enableCPUUsageMetrics
feature gate tofalse
. -
processor/k8sattributes
: Change processor/k8sattributes to return error if unset envvar is used fornode_from_env_var
(#39447)
Before this was a valid configuration, but had an unexpected behavior to monitor the entire cluster. | To keep the same behavior simply do not set thenode_from_env_var
value or use empty string. -
sqlserverreceiver
:host.name
,sqlserver.computer.name
, andsqlserver.instance.name
are now resource attributes instead of log attributes. We used to reportcomputer_name
andinstance_name
in the log attributes for top query collection and they are now deprecated. Now we report the three resources attributes in both top query collection and sample query collection. (#39449)
This change is only relevant for logs.
🚩 Deprecations 🚩
spanmetricsconnector
: Deprecate the unused configurationdimensions_cache_size
(#39646)
Deprecated configurationdimensions_cache_size
, please useaggregation_cardinality_limit
instead
🚀 New components 🚀
dnslookupprocessor
: Add structure of new processor (#34398)datadogextension
: Introduce framework for Datadog Extension (#39589)sematextexporter
: basic logs implementation (#36465)
💡 Enhancements 💡
-
spanmetricsconnector
: Add newaggregation_cardinality_limit
configuration option to limit the number of unique combinations of dimensions that will be tracked for metrics aggregation. (#38990) -
awslogsencodingextension
: Add support for S3 Access Logs. (#39161) -
pkg
: Improve performance of azure logs translator. (#39340) -
azureauthextension
: Update stability to alpha. (#39574) -
countconnector
: Add profiles support (#39577) -
awscloudwatchlogsexporter
: Add dynamic log_group_name and log_group_stream naming, based on awsemfexporter (#31382) -
elasticsearchexporter
: Add support for include_source_on_error, which configures whether bulk index responses should include source document on error (#39211) -
elasticsearchexporter
: Introduce LRU cache for profiles (#38606) -
elasticsearchexporter
: Add support for extracting mapping mode from a scope attribute. (#39110) -
opampextension
: Introduces a new config fieldinclude_resource_attributes
which allows the extension to copy the agent's resource attributes to the non-identifying attributes in the agent description. (#37487) -
statsdreceiver
: Add new config to customize socket permissions when transport is set tounixgram
. (#37807) -
kubeletstatsreceiver
: Adds support for collecting Node and Pod network IO/error metrics for all network interfaces (#30196) -
awss3exporter
: add configuration fieldresource_attrs_to_s3/s3_prefix
to support mapping s3 bucket prefix to OTel resource attributes (#37858)
Ifresource_attrs_to_s3/s3_prefix
is configured, s3 prefix will be determined based on the specified resource attribute ands3uploader/s3_prefix
will serve as a fallback. -
azureblobexporter
: Add SerialNumBeforeExtension option to BlobNameFormat in Azure Blob exporter as an option to avoid breaking file extension (#39593) -
splunkhecexporter
: Use ObservedTimestamp if Timestamp is empty. (#39221) -
githubreceiver
: add dedicated job queue spans with cicd.pipeline.run.queue.duration attribute (#39081) -
hostmetricsreceiver
: Possible to enable the process scraper under FreeBSD in the hostmetrics receiver. (#39622) -
k8sclusterreceiver
: add support for k8s leader election in k8s cluster receiver (#38429)
Allows multiple instances of the k8s cluster receiver to run in a HA mode in a single cluster. -
kafkareceiver
: Add support for configuring Kafka consumer rebalance strategy and group instance ID (#39513)
This enhancement introduces two optional settings: group_rebalance_strategy and group_instance_id.
These allow users to override the default Range-based rebalance strategy and optionally provide a static instance ID (as per KIP-345) for cooperative sticky balancing.
This is particularly useful when handling high-cardinality metric workloads, as it reduces rebalance impact, improves cache reuse, and boosts CPU efficiency.
Both settings are optional to maintain full backward compatibility. -
kafkareceiver
: Added a new 'topic' attribute to all existing internal consume-claim metrics. (#35336) -
kafkareceiver
: Addmax_fetch_wait
config setting (#39360)
This setting allows you to specify the maximum time that the broker will wait for
min_fetch_size bytes of data to be available before sending a response to the client.
Defaults to 250ms. -
receiver_creator
: Fix kafkametrics receiver instantiation (#39313) -
signaltometricsconnector
: Add profiles support (#39609) -
sqlserverreceiver
: Acceptcontext_info
withtraceparent
format in query sample collection, setting log record with correct traceId and spanId. (#39539) -
opampsupervisor
: Add support for the opampsupervisor to be able to start with only local config (#38794) -
prometheusremotewritereceiver
: Cachetarget_info
metrics so it can be used to populate metrics' Resource Attributes. (#37277)
You can read more about resource attributes handling in https://opentelemetry.io/docs/specs/otel/compatibility/prometheus_and_openmetrics/#resource-attributes-1
🧰 Bug fixes 🧰
sqlqueryreceiver
: respectmax_open_conn
configuration for multiple queries (#39270)resourcedetectionprocessor
: change the EKS cluster identifier and check the cluster version instead of the existence of aws-auth configmap (#39479)datadogexporter
: Fix a race condition in metric serializer exporter where the exporter may not be fully initialized when it receives metrics (#39669)filelogreceiver
: Fix frozen receiver when max_concurrent_files is 1 (#39598)transformprocessor
: Fix the context inferrer to also take into consideration the global OTTL conditions configuration. (#39455)prometheusreceiver
: When a histogram metric has both classic and native histogram buckets, keep both, instead of throwing away the native histogram buckets. (#26555)
This was a technical dept from the previous implementation in PR 28663.geoipprocessor
: Close providers readers on shutdown (#38961)receivercreator
: Fix how escaped backticks are handled in receiver creator templates (#39163)opampsupervisor
: Supervisor will no longer report a config status of "applying" if the config has not changed (#39500)githubreceiver
: Fix span end times for skipped and cancelled workflows (#39020)k8sobjectsreceiver
: Introduceserror_mode
, so users can choose between propagating, ignoring, or silencing missing objects. (#38803)opampextension
: Skips loading TLS config for insecure endpoints (#39515)opampsupervisor
: fixes OpAMP Supervisor macOS example config (#39492)tcpcheckreceiver
: Fix tcpcheck.error to report as a cumulative value instead of always being 1. (#39234)kafkareceiver
:name
label will be correctly set in receiver metrics (#39483)signaltometricsconnector
: Fix incorrect result for metrics configured with same name but different type (#39442)tcplogreceiver
: Ignore SplitFuncBuilder field to prevent panic during config marshaling (#39474)deltatocumulative
: fixes misuse of xsync, leading to bad mutex unlock (#39106)
API Changelog
💡 Enhancements 💡
-
pkg/ottl
: Addottl.WithContextInferenceConditions
option to allow configuring extra context inferrer OTTL conditions (#39455) -
awss3exporter
: add configuration fieldresource_attrs_to_s3/s3_prefix
to support mapping s3 bucket prefix to OTel resource attributes (#37858)
Ifresource_attrs_to_s3/s3_prefix
is configured, s3 prefix will be determined based on the specified resource attribute ands3uploader/s3_prefix
will serve as a fallback. -
pkg/golden
: Expose methods to write data to file outside of the scope of a test (#39673)
Expose WriteMetricsToFile to write pmetric data to a file outside of the scope of a test.
Expose WriteTracesToFile to write ptrace data to a file outside of the scope of a test
Expose WriteLogsToFile to write plog data to a file outside of the scope of a test
Expose WriteProfilesToFile to write pprofile data to a file outside of the scope of a test -
pkg/ottl
: Add PMapGetSetter interface and StandardPMapGetSetter type. (#39657)