Skip to content

v0.125.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 28 Apr 21:13
· 147 commits to main since this release
v0.125.0
8c7038b

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.
  • 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 metrics container.cpu.utilization, k8s.pod.cpu.utilization and k8s.node.cpu.utilization are being replaced
    by container.cpu.usage, k8s.pod.cpu.usage and k8s.node.cpu.usage.
    To be able to use the deprecated metrics, switch receiver.kubeletstats.enableCPUUsageMetrics feature gate to false.

  • processor/k8sattributes: Change processor/k8sattributes to return error if unset envvar is used for node_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 the node_from_env_var value or use empty string.

  • sqlserverreceiver: host.name, sqlserver.computer.name, and sqlserver.instance.name are now resource attributes instead of log attributes. We used to report computer_name and instance_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 configuration dimensions_cache_size (#39646)
    Deprecated configuration dimensions_cache_size, please use aggregation_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 new aggregation_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 field include_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 to unixgram. (#37807)

  • kubeletstatsreceiver: Adds support for collecting Node and Pod network IO/error metrics for all network interfaces (#30196)

  • awss3exporter: add configuration field resource_attrs_to_s3/s3_prefix to support mapping s3 bucket prefix to OTel resource attributes (#37858)
    If resource_attrs_to_s3/s3_prefix is configured, s3 prefix will be determined based on the specified resource attribute and s3uploader/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: Add max_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: Accept context_info with traceparent 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: Cache target_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: respect max_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: Introduces error_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: Add ottl.WithContextInferenceConditions option to allow configuring extra context inferrer OTTL conditions (#39455)

  • awss3exporter: add configuration field resource_attrs_to_s3/s3_prefix to support mapping s3 bucket prefix to OTel resource attributes (#37858)
    If resource_attrs_to_s3/s3_prefix is configured, s3 prefix will be determined based on the specified resource attribute and s3uploader/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)

🧰 Bug fixes 🧰

  • resourcedetectionprocessor: change the EKS cluster identifier and check the cluster version instead of the existence of aws-auth configmap (#39479)
  • transformprocessor: Fix the context inferrer to also take into consideration the global OTTL conditions configuration. (#39455)