github open-telemetry/opentelemetry-collector-contrib v0.145.0

9 hours ago

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.

These components are marked as Unmaintained and will eventually be removed from our community distributions. If you depend on these components we need your help to support them.

  • exporter/alibabacloudlogservice
  • receiver/carbon

End User Changelog

🛑 Breaking changes 🛑

  • exporter/sentry: Create a new version of the sentryexporter that supports dynamic routing to Sentry projects (#45051)

  • pkg/translator/azure: Updated OpenTelemetry semantic conversion to the latest version 1.38.0 in azure pkg. (#44801)

  • processor/resourcedetection: Promote processor.resourcedetection.removeGCPFaasID feature gate to Stable and is now always enabled (#45797)
    The faas.id attribute is replaced by the faas.instance attribute.

  • receiver/azure_event_hub: Upgrade receiver.azureeventhubreceiver.UseAzeventhubs feature gate to stable. (#45527)

  • receiver/github: Make step spans siblings of queue-job span under job span instead of children of queue-job span (#42623)
    This change improves a workflow job trace structure by making step spans siblings of the queue-job span under the job span.
    Reflecting that queuing and step execution are sequential phases rather than nested operations which more accurately aligns with the specification.

  • receiver/kafka: Replace StartTracesOp/EndTracesOp with StartProfilesOp/EndProfilesOp in profilesHandler. (#45601)
    The span name generated by the profiles receiver now uses the ProfilesReceived suffix instead of TraceDataReceived.

  • receiver/prometheus: Promote receiver.prometheusreceiver.RemoveReportExtraScrapeMetricsConfig feature gate to beta (#44181)
    The report_extra_scrape_metrics configuration option is now ignored by default. Extra scrape metrics are instead controlled by the receiver.prometheusreceiver.EnableReportExtraScrapeMetrics feature gate and the Prometheus upstream configuration available in promconfig (either globally or per-scrape config).

🚩 Deprecations 🚩

  • receiver/azure_event_hub: Rename azureeventhub receiver to azure_event_hub and add deprecated alias azureeventhub (#45637)
  • receiver/jmx: Deprecate the jmxreceiver to avoid running Java subprocesses in the Collector and prevent container-based deployments from requiring a Java runtime. (#45740)
  • receiver/mongodb_atlas: Rename mongodbatlas receiver to mongodb_atlas and add deprecated alias mongodbatlas (#45652)

💡 Enhancements 💡

  • connector/routing: Add move/copy support in routing connector (#45061)

  • exporter/googlecloudstorage: Add support for exporting traces to Google Cloud Storage (#44945)

  • exporter/signalfx: Add support for processing entity events from logs pipeline to send as dimension property updates (#27890)
    The SignalFx exporter now supports processing entity events (e.g., from k8s_cluster receiver)
    received via the logs pipeline and converting them to dimension property updates. This provides
    an alternative to the metadata_exporters option and enables consistent metadata handling.
    This feature is behind the exporter.signalfx.consumeEntityEvents feature gate (disabled by default).

  • extension/awslogs_encoding: Add support for processing CloudTrail logs from CloudWatch subscription filters (#45354)

  • extension/awslogs_encoding: Allow using aws.user_identity prefix for UserIdentity bound attributes. This is enabled with extension.awslogsencoding.cloudtrail.enable.user.identity.prefix feature gate ID. (#43638)

  • extension/azure_encoding: Add processing for Application Gateway, Azure Messaging (ServiceBus and EventHub), Data Factory, FunctionApps and BlobStorage logs records (#41725)

  • extension/oauth2client: Support jwt-bearer grant-type (RFC7523) (#44314)

  • extension/opamp: This change adds support for the OpAMP AcceptsRestartCommand capability. The implementation for this capability sends a SIGHUP signal to restart the collector which will reload the config on startup. (#45056)
    This functionality is behind a feature gate (extension.opampextension.RemoteRestarts) that defaults disabled. The SIGHUP signal does not work on windows systems, but might later be updated to use the SIGUSR2 signal.

  • internal/coreinternal: Improve performance of hashing function for attraction package. (#45211)

  • pkg/fileconsumer: Open files on Windows with FILE_SHARE_DELETE mode (#32037)

  • pkg/ottl: Added generic path to get/set span flags in OTTL trace span context. (#34739)

  • pkg/ottl: Introducing delete_index function for deleting items from an existing array (#43098)

  • pkg/stanza: Ensure recombine operator does not split batches of entries (#42392)

  • pkg/stanza: Ensure container operator does not split batches of entries (#42389)

  • pkg/stanza: Ensure syslog operator does not split batches of entries (#42394)

  • pkg/translator/azurelogs: Add support for all Activity Logs categories (#44871)
    Includes support for the Alert, Autoscale, Policy, Recommendation, Security, ServiceHealth, and ResourceHealth categories.

  • processor/k8sattributes: Added processor-specific observability metrics: otelcol.k8s.pod.association with status, pod_identifier, and otelcol.signal attributes (#44587)

  • processor/resourcedetection: Add support for GCP resource detector to gather GCE instance labels as resource attributes (#35859)
    The GCP resource detector now supports gathering GCE instance labels as resource attributes, allowing for more detailed resource metadata in telemetry data.

  • processor/resourcedetection: Added Alibaba Cloud ECS resource detector to the Resource Detection Processor (#45632)

  • processor/tail_sampling: New policy type to return the opposite of the sampling decision of a wrapped policy. (#39668)

  • processor/tail_sampling: Add trace_flags policy (#43867)

  • processor/tail_sampling: Provide option to limit maximum trace size kept in memory by the tail sampling processor (#45286)
    Traces that exceed the size limit will be immediately dropped, not have a decision made for them.

  • receiver/azureblob: Replace deprecated azure-event-hubs-go SDK with azure-sdk-for-go (#44335)

  • receiver/filelog: Suppress repeated permission-denied errors (#39491)
    Only one error is logged per file per process run, and an informational message is emitted when the file becomes readable again.
    This reduces log spam and improves clarity for operators.

  • receiver/hostmetrics: Add support for Linux hugepages memory monitoring via system.memory.linux.hugepages metrics. (#42650)
    Users can now monitor hugepages usage on host machine.

  • receiver/jmx: Add the JMX scraper version "1.53.0-alpha" to the supported jars hash list (#45571)

  • receiver/jmx: Add the JMX metrics gatherer version "1.53.0-alpha" to the supported jars hash list (#45570)

  • receiver/k8sobjects: Add support for exclude_namespaces to exclude specific namespaces from being watched. (#36217)
    Add support for exclude_namespaces to exclude specific namespaces from being watched.

  • receiver/prometheus: Support removable Prometheus service discoveries via Go build tags. (#44406)
    Prometheus service discoveries can now be removed at build time when building the collector with OCB (OpenTelemetry Collector Builder).
    Use the build_tags option in the builder configuration to pass Go build tags such as remove_all_sd to exclude optional service discoveries.
    See the Prometheus documentation for available build tags to customize which service discoveries are included.

  • receiver/snowflake: Enables dynamic metric reaggregation in the Splunk Enterprise receiver. This does not break existing configuration files. (#45396)

  • receiver/windowsservice: Enables dynamic metric reaggregation in the Splunk Enterprise receiver. This does not break existing configuration files. (#45396)

🧰 Bug fixes 🧰

  • exporter/coralogix: Fix unmarshalling to avoid validation errors with profiles when protocol is set to http. (#45677)

  • exporter/elasticsearch: Add status code OK to success document processed metric. (#45067)

  • internal/datadog: Fix race condition in gohai host metadata payload causing concurrent map access panic (#30438)
    Deep copy the host metadata payload before passing it to ConsumeHostMetadata() to prevent
    concurrent map access when the reporter's gohai collector refreshes maps while JSON marshaling
    iterates over them. This fixes the "fatal error: concurrent map iteration and map write" panic
    that occurred with multiple concurrent metric consumers and host metadata enabled.

  • internal/metadataproviders: Fix kubeadm resource detector to correctly read clusterName from kubeadm configmap (#45603)

  • pkg/ottl: Fix debug logs in OTTL parser to not panic when marshalling transform contexts with invalid pdata (#44705)

  • pkg/stanza: Fix transformer operators logging errors at ERROR level when on_error is set to quiet mode (#42646)

  • pkg/stanza: Fix container operator log truncation for large CRI logs (#43982)
    Previously the option max_log_size of the container operator did not work correctly, with the maximum log size limited to an arbitrary value even if max_log_size was higher or set to 0 to remove the limit. With this change max_log_size: 0 works correctly, removing the upper limit on log size.
    The default value for max_log_size is now changed from 0 to 1MiB to prevent boundless memory usage.

  • pkg/stanza: Fix syslog parser operator logging errors at ERROR level when on_error is set to quiet mode (#42646)

  • pkg/stanza: Fix data race in fileconsumer FileAttributes map access (#42825)

  • processor/azuredetector: Avoid set cloud.availability_zone when Azure Availability Zone is not assigned (#45642)
    In cases where an Azure VM is not assigned to any Availability Zone,
    the cloud.availability_zone attribute was being set to an empty string.
    This fix ensures that the attribute is only set when an Availability Zone
    is indeed assigned, preventing misleading empty values.

  • processor/azuredetector: Fallback to VM Name when osProfile.computerName is unavailable (#45642)
    In certain Azure images, the osProfile.computerName field may not be set.
    This fix ensures that the hostname detection falls back to using the VM Name
    from the instance metadata service when osProfile.computerName is empty.

  • processor/azuredetector: Avoid set azure.vm.scaleset.name empty when VM not in scale set (#45642)
    In scenarios where a VM is not part of a scale set, the
    azure.vm.scaleset.name attribute was being set to an empty string.
    This fix ensures that the attribute is only set when the VM is indeed
    part of a scale set, preventing misleading empty values.

  • processor/deltatocumulative: Fix panic when processing exponential histograms with empty bucket counts (#42163)

  • processor/k8sattributes: Fix k8s.node.uid extraction when node.name is disabled (#45328)

  • receiver/awscontainerinsightreceiver: Add cAdvisor filesystem plugin imports to fix missing NodeFS and InstanceFS metrics (#45534)

  • receiver/filelog: Fixed encoding not being applied to multiline pattern matching (#39011)
    Previously, when using multiline pattern matching with non-UTF-8 encodings (e.g., utf-16le),
    the encoding was not properly applied during pattern matching, causing multiline patterns to fail.
    This fix ensures that the specified encoding is correctly applied when processing multiline patterns,
    allowing proper parsing of files with fixed-length records and no line terminators in various encodings.

  • receiver/googlecloudmonitoring: Fix boolean metrics conversion to int values (#45423)

  • receiver/journald: Avoid passing empty cursors to journalctl when resuming journald reads (#45435)

  • receiver/libhoney: Fix timestamp in libhoney receiver (#45799)
    The libhoney exporter was setting the start_time for some spans to the
    current time instead of the timestamp in the event.

  • receiver/receiver_creator: Do not log config in receivercreator since it could contain sensitive information (#38163)

API Changelog

🛑 Breaking changes 🛑

  • pkg/translator/azure: Updated OpenTelemetry semantic conversion to the latest version 1.38.0 in azure pkg. (#44801)

🚩 Deprecations 🚩

  • pkg/ottl: Use pointer when passing TransformContext around or calling into. (#44944)
    Change Expr/Parser/Getter/Setter and all ottl related funcs to accept pointers to avoid unnecessary copy of a large
    TransformContext(96B). Avoid allocating a new pcommon.Map every time a new context is created by using a Borrow/Return
    pattern and reuse objects between calls. Deprecated funcs are:
    • ottlprofile.NewTransformContext in favor of ottlprofile.NewTransformContextPtr;
    • ottlprofilesample.NewTransformContext in favor of ottlprofilesample.NewTransformContextPtr;
    • filterprocessor.DefaultProfileFunctions in favor of filterprocessor.DefaultProfileFunctionsNew
    • filterprocessor.WithProfileFunctions in favor of filterprocessor.WithProfileFunctionsNew
    • transformprocessor.DefaultProfileFunctions in favor of transformprocessor.DefaultProfileFunctionsNew
    • transformprocessor.WithProfileFunctions in favor of transformprocessor.WithProfileFunctionsNew

💡 Enhancements 💡

  • connector/routing: Update existing util functions to reduce allocs. (#45061)
  • connector/routing: Add new util functions to copy data in routing connector. (#45061)
  • receiver/snowflake: Enables dynamic metric reaggregation in the Splunk Enterprise receiver. This does not break existing configuration files. (#45396)
  • receiver/windowsservice: Enables dynamic metric reaggregation in the Splunk Enterprise receiver. This does not break existing configuration files. (#45396)

We are thrilled to welcome our first-time contributors to this project. Thank you for your contributions @ValentinLvr, @giortzisg, @mwdd146980, @darccio, @ishaish103, @wmTJc9IK0Q, @byehn, @gafda, @Kausik-A, @vengalraoguttha, @khpeet, @cancub, @KyriosGN0 ! 🎉

Don't miss a new opentelemetry-collector-contrib release

NewReleases is sending notifications on new releases.