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 🛑
-
elasticsearchexporter
: Remove Index config, which was deprecated and replace with LogsIndex since v0.60.0 (#37094) -
elasticsearchexporter
: Removededup
config setting that was deprecated in v0.104.0 (#33773) -
pkg/stanza
: Movefilelog.container.removeOriginalTimeField
feature gate to stable (#33389) -
pkg/ottl
: Support dynamic indexing of maps and slices. (#36644) -
prometheusremotewriteexporter
: Only append label values if they are different for colliding OTel attributes (#35896)
This change ensures that, when translating colliding attributes from OTel attributes to Prometheus label, the label values are only appended if their values are different.
This is a breaking change as it changes the value of label outputted. -
routingconnector
: Disconnectmatch_once
parameter from functionality. (#29882)
The parameter will be ignored, except to trigger a warning log about its upcoming removal in v0.120.0.
🚩 Deprecations 🚩
awscloudwatchmetricsreceiver
: move the component to unmaintained status (#36599)githubgen
: Deprecate githubgen in this repository (#37294)
githubgen has moved to opentelemetry-go-build-tools. Please change your scripts to use this new location.
🚀 New components 🚀
intervalprocessor
: Interval Processor is now Alpha stability and is added to thecontrib
andk8s
distributions (#36514)exporter/bmchelix
: Add a new component for exporting metrics to BMC Helix (#36773)gitlabreceiver
: Adds webhook skeleton to GitLab receiver to receive events from GitLab for tracing. (#35207)
This PR adds a skeleton for the GitLab receiver to receive events from GitLab for tracing via a webhook. The trace portion of this receiver will run and respond to GET requests for the health check only.extension/skywalkingencodingextension
: Support skywalking_encoding extension for skywalking traces. (#28693)
💡 Enhancements 💡
mysqlreceiver
: Add delete_multi, update_multi metrics to mysql.commands for mysqlreceiver (#37301)datadogexporter
: Add a feature gate datadog.EnableReceiveResourceSpansV2. Enabling this gate uses a refactored implementation of OTLP->Datadog Span translation in datadogexporter and datadogconnector which improves performance by 10%, and deprecates the following functionality: - No longer checks for resource-related values (container, env, hostname) in span attributes. This previous behavior did not follow the OTel spec. (#37171)pkg/ottl
: Add theNanosecond
converter to return the nanosecond component from the specified time.Time (#37042)pkg/ottl
: Add theSecond
converter to return the second component from the specified time.Time (#37042)vcenterreceiver
: Adds vCenter memory capacity for hosts and memory granted metric for VMs. (#37257)awss3exporter
: Implement sending queue for S3 exporter (#37274, #36264)huaweicloudces
: Move huaweicloudces receiver to alpha (#34953)cgroupruntimeextension
: Implement ECS metadata retrieval for cgroupruntime extension. (#36814)deltatocumulativeprocessor
: cap the number of exponential histogram buckets to 160 (#33277)resourcedetectionprocessor
: This enhancement detects AWS EKS cloud account ID (#37179)elasticsearchexporter
: HandleEventName
for log records in OTel mode (#37011)elasticsearchexporter
: More efficient JSON encoding for OTel mode (#37032)
Increases throughput for metrics by 2x and for logs and traces by 3xelasticsearchexporter
: Mark OTel mapping mode as stable (#37240)
OTel mapping mode should no longer be considered unstable as there is no planned breaking change.googlecloudmonitoringreceiver
: set the minimum collection interval as 60s (#36898)datadogexporter
: Add a feature gate datadog.EnableOperationAndResourceNameV2. Enabling this gate modifies the logic for computing operation and resource names from OTLP spans to produce shorter, more readable names and improve alignment with OpenTelemetry specifications. (#36419)dorisexporter
: send json lines to doris rather than json array (#36896)k8sattributesprocessor
: For pods with only one container, thecontainer.id
andk8s.container.name
are not longer required in the resource attributes to add the container attributes (#34189)logdedupprocessor
: Add 'include_fields' option to deduplicate log records via body or attribute fields. (#36965)pkg/ottl
: Enhanced error messages for invalid cache access and introduced options to configure their values within the OTTL contexts. (#29017)pkg/ottl
: Add theFormatTime
function to converttime.Time
values to human-readable strings (#36870)prometheusremotewriteexporter
: Re allows the configuration of multiple workers (#36134)receiver/prometheusremotewrite
: Check if Scope is already present comparing with the received labels (#36927)extension/jaegerremotesampling
: remove dependency on jaeger internal code (#36976)telemetrygen
: Remove go-grpc-middleware dependency (#37103)resourcedetectionprocessor
: Introduce kubeadm detector to retrieve local cluster name. (#35116)signalfxexporter
: Prioritize retrieving token from context when accesstokenpassthrough is enabled (#37102)signaltometricsconnector
: Add core logic for the signal to metrics connector to make it functional. (#35930)signaltometrics
: Adds resource attributes based on telemetry settings to the connector to ensure single writer (#35930)tailsamplingprocessor
: Added debug logging to the sampling decision caches. (#37038)tailsamplingprocessor
: Improved not sampled decision cache usage and deleting traces from the internal map when they are in a decision cache. (#37189)
🧰 Bug fixes 🧰
-
googlecloudpubsubreceiver
: Fix a goroutine leak during shutdown. (#30438)
A goroutine leak was found in the googlecloudpubsubreceiver.
The goroutine leak was caused by the receiver not closing the underlying created gRPC client when using an insecure custom endpoint. -
signalfxexporter
: Honor access_token_passthrough config option for sending events (#37102) -
clickhouseexporter
: Fix Nil Pointer Exception on Metrics/Traces export without service.name Resource Attribute (#37030) -
k8sattributesprocessor
: Ensure the pods gathered by the processor contain the information about their related replica sets and deployments after the initial sync (#37056) -
logdedupprocessor
: Fix config validation not working when creating a processor. (#37278) -
pkg/ottl
: Fix bug withreplace_all_matches
andreplace_all_patterns
that caused non-string values to be changed to empty string when matching against empty string. (#37071) -
tailsamplingprocessor
: Fixed sampling policy evaluation debug logging batch metrics (e.g. sampled). (#37040) -
tailsamplingprocessor
: Late span age histogram should include sampled traces. (#37180)
API changelog
🛑 Breaking changes 🛑
routingconnector
: Changematch_once
parameter frombool
to*bool
. (#29882)
Boolean values should still unmarshal successfully, but direct instantiation in code will fail.
The change allows us to check for usage and warn of the upcoming removal in v0.120.0.
💡 Enhancements 💡
pkg/ottl
: Enhanced error messages for invalid cache access and introduced options to configure their values within the OTTL contexts. (#29017)pkg/ottl
: Add value expression parser that enables components using ottl to retrieve values from the output of an expression (#35621)
the expression can be either a literal value, a path value within the context, or the result of a converter and/or a mathematical expression.