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

12 days ago

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 🛑

  • receiver/hostmetrics: enable feature gate receiver.hostmetrics.normalizeProcessCPUUtilization (#31368)
    This changes the value of the metric process.cpu.utilization by dividing it by the number of CPU cores.
    For example, if a process is using 2 CPU cores on a 16-core machine,
    the value of this metric was previously 2, but now it will be 0.125.

  • testbed: Remove deprecated GetAvailablePort function (#32800)

🚀 New components 🚀

  • healthcheckv2extension: Introduce the skeleton for the temporary healthcheckv2 extension. (#26661)
  • intervalprocessor: Implements the new interval processor. See the README for more info about how to use it (#29461)
  • OpenTelemetry Protocol with Apache Arrow Receiver: Implementation copied from opentelemetry/otel-arrow repository @v0.20.0. (#26491)
  • roundrobinconnector: Add a roundrobin connector, that can help single thread components to scale (#32853)

💡 Enhancements 💡

  • telemetrygen: Add support to set metric name (#32840)

  • exporter/kafkaexporter: Enable setting message topics using resource attributes. (#31178)

  • exporter/datadog: Introduces the Datadog Agent logs pipeline for exporting logs to Datadog under the "exporter.datadogexporter.UseLogsAgentExporter" feature gate. (#32327)

  • elasticsearchexporter: Add retry.retry_on_status config (#32584)
    Previously, the status codes that trigger retries were hardcoded to be 429, 500, 502, 503, 504.
    It is now configurable using retry.retry_on_status, and defaults to [429, 500, 502, 503, 504] to avoid a breaking change.
    To avoid duplicates, it is recommended to configure retry.retry_on_status to [429], which would be the default in a future version.

  • exporter/splunkhec: add experimental exporter batcher config (#32545)

  • windowsperfcountersreceiver: Returns partial errors for failures during scraping to prevent throwing out all successfully retrieved metrics (#16712)

  • jaegerencodingextension: Promote jaegerencodingextension to alpha (#32699)

  • kafkaexporter: add an ability to publish kafka messages with message key based on metric resource attributes - it will allow partitioning metrics in Kafka. (#29433, #30666, #31675)

  • cmd/opampsupervisor: Switch the OpAMP Supervisor's bootstrap config to use the nopreceiver and nopexporter (#32455)

  • otlpencodingextension: Move otlpencodingextension to alpha (#32701)

  • prometheusreceiver: Prometheus receivers and exporters now preserve 'unknown', 'info', and 'stateset' types. (#16768)
    It uses the metric.metadata field with the 'prometheus.type' key to store the original type.

  • ptracetest: Add support for ignore scope span instrumentation scope information (#32852)

  • sqlserverreceiver: Enable direct connection to SQL Server (#30297)
    Directly connecting to SQL Server will enable the receiver to gather more metrics
    for observing the SQL Server instance. The first metric added with this update is
    sqlserver.database.io.read_latency.

  • connector/datadog: The Datadog connector now has a config option to identify top-level spans by span kind. This new logic can be enabled by setting traces::compute_top_level_by_span_kind to true in the Datadog connector config. Default is false. (#32005)
    traces::compute_top_level_by_span_kind needs to be enabled in both the Datadog connector and Datadog exporter configs if both components are being used.
    With this new logic, root spans and spans with a server or consumer span.kind will be marked as top-level. Additionally, spans with a client or producer span.kind will have stats computed.
    Enabling this config option may increase the number of spans that generate trace metrics, and may change which spans appear as top-level in Datadog.

  • exporter/datadog: The Datadog exporter now has a config option to identify top-level spans by span kind. This new logic can be enabled by setting traces::compute_top_level_by_span_kind to true in the Datadog exporter config. Default is false. (#32005)
    traces::compute_top_level_by_span_kind needs to be enabled in both the Datadog connector and Datadog exporter configs if both components are being used.
    With this new logic, root spans and spans with a server or consumer span.kind will be marked as top-level. Additionally, spans with a client or producer span.kind will have stats computed.
    Enabling this config option may increase the number of spans that generate trace metrics, and may change which spans appear as top-level in Datadog.

  • exporter/datadog: Support stable semantic conventions for HTTP spans (#32823)

  • cmd/opampsupervisor: Persist collector remote config & telemetry settings (#21078)

  • cmd/opampsupervisor: Support AcceptsRestartCommand Capability. (#21077)

  • telemetrygen: Add headers to gRPC metadata for logs (#32668)

  • sshcheckreceiver: Add support for running this receiver on Windows (#30650)

  • zipkinencodingextension: Move zipkinencodingextension to alpha (#32702)

🧰 Bug fixes 🧰

  • prometheusremotewrite: Modify prometheusremotewrite.FromMetrics to only generate target_info if there are metrics, as otherwise you can't deduce the timestamp. (#32318)

  • prometheusremotewrite: Change prometheusremotewrite.FromMetrics so that the target_info metric is only generated if at least one identifying OTel resource attribute (service.name and/or service.instance.id) is defined. (#32148)

  • k8sclusterreceiver: Fix container state metadata (#32676)

  • sumologicexporter: do not replace . with _ for prometheus format (#31479)

  • pkg/stanza: Allow sorting by ascending order when using the mtime sort_type. (#32792)

  • opampextension: Add a new ppid parameter that can be used to enable orphan detection for the supervisor. (#32189)

  • awsxrayreceiver: Retain CloudWatch Log Group when translating X-Ray segments (#31784)

  • pkg/stanza: Fix issue when exclude_older_than is enabled without ordering_criteria configured (#32681)

  • awskinesisexporter: the compressor was crashing under high load due it not being thread safe. (#32589)
    removed compressor abstraction and each execution has its own buffer (so it's thread safe)

  • filelogreceiver: When a flush timed out make sure we are at EOF (can't read more) (#31512, #32170)

  • vcenterreceiver: Adds the vcenter.cluster.name resource attribute to resource pool with a ClusterComputeResource parent (#32535)

  • vcenterreceiver: Updates vcenter.cluster.memory.effective (primarily that the value was reporting MiB when it should have been bytes) (#32782)

  • vcenterreceiver: Adds warning to vcenter.cluster.memory.used metric if configured about its future removal (#32805)

  • vcenterreceiver: Updates the vcenter.cluster.vm.count metric to also report suspended VM counts (#32803)

  • vcenterreceiver: Adds vcenter.datacenter.name attributes to all resource types to help with resource identification (#32531)

  • vcenterreceiver: Adds vcenter.cluster.name attributes warning log related to Datastore resource (#32674)

  • vcenterreceiver: Adds new vcenter.virtual_app.name and vcenter.virtual_app.inventory_path resource attributes to appropriate VM Resources (#32557)

  • vcenterreceiver: Adds functionality for vcenter.vm.disk.throughput while also changing to a gauge. (#32772)

  • vcenterreceiver: Adds initially disabled functionality for VM Templates (#32821)

  • remotetapprocessor: Fix memory leak on shutdown (#32571)

  • haproxyreceiver: Fix reading stats larger than 4096 bytes (#32652)

  • connector/count: Fix handling of non-string attributes in the count connector (#30314)

  • datadogexporter: Fix nil pointer dereference when using beta infrastructure monitoring offering (#32865)
    The bug happened under the following conditions:

    • Setting datadog.host.use_as_host_metadata to true on a payload with data about the Datadog exporter host
    • Running using the official opentelemetry-collector-contrib Docker image
  • pkg/translator/jaeger: translate binary attribute values to/from Jaeger as is, without encoding them as base64 strings (#32204)

  • awscloudwatchreceiver: Fixed a bug where autodiscovery would not use nextToken in the paginated request (#32053)

  • awsxrayexporter: make comma, as invalid char for x-ray segment name (#32610)

API Changelog

🛑 Breaking changes 🛑

  • pkg/stanza: Pass TelemetrySettings to the Build method of the Builder interface (#32662, #31256)
    The reason for this breaking change is to pass in the component.TelemetrySettings
    so as to use them later in various ways:
    • be able to report state statistics and telemetry in general
    • be able to switch from SugaredLogger to Logger

🚩 Deprecations 🚩

  • confmap/provider/s3: Deprecate s3provider.New in favor of s3provider.NewFactory (#32742)
  • confmap/provider/secretsmanager: Deprecate secretsmanagerprovider.New in favor of secretsmanagerprovider.NewFactory (#32743)

🚀 New components 🚀

  • roundrobinconnector: Add a roundrobin connector, that can help single thread components to scale (#32853)

💡 Enhancements 💡

  • opampextension: Added support for other components to register custom capabilities and receive custom messages from an opamp extension (#32021)
  • kafkaexporter: add an ability to publish kafka messages with message key based on metric resource attributes - it will allow partitioning metrics in Kafka. (#29433, #30666, #31675)
  • sshcheckreceiver: Add support for running this receiver on Windows (#30650)

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

NewReleases is sending notifications on new releases.