v0.118.0
The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
End user changelog
🐛 Known bugs 🐛
connector/routing: Invalid configuration when usingcontextother thanresource#37410
🛑 Breaking changes 🛑
-
elasticsearchexporter: Remove Index config, which was deprecated and replace with LogsIndex since v0.60.0 (#37094) -
elasticsearchexporter: Removededupconfig setting that was deprecated in v0.104.0 (#33773) -
pkg/stanza: Movefilelog.container.removeOriginalTimeFieldfeature 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_onceparameter 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 thecontribandk8sdistributions (#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 theNanosecondconverter to return the nanosecond component from the specified time.Time (#37042)pkg/ottl: Add theSecondconverter 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: HandleEventNamefor 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.idandk8s.container.nameare 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 theFormatTimefunction to converttime.Timevalues 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_matchesandreplace_all_patternsthat 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_onceparameter fromboolto*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.