Skip to content

v0.97.0

Compare
Choose a tag to compare
@github-actions github-actions released this 26 Mar 18:30
· 2662 commits to main since this release
v0.97.0
260966e

End User Changes

🛑 Breaking changes 🛑

  • datadogconnector: Remove feature gate connector.datadogconnector.performance (#31638)
  • cmd/mdatagen: Delete deprecated cmd/mdatagen from this project. Use go.opentelemetry.io/collector/cmd/mdatagen instead. (#30497)
  • receiver/postgresql: Bump postgresqlreceiver.preciselagmetrics gate to beta (#31220)
  • receiver/vcenter: Bump receiver.vcenter.emitPerfMetricsWithObjects feature gate to stable (#31215)
  • prometheusreceiver: Remove enable_protobuf_negotiation option on the prometheus receiver. Use config.global.scrape_protocols = [ PrometheusProto, OpenMetricsText1.0.0, OpenMetricsText0.0.1, PrometheusText0.0.4 ] instead. (#30883)
    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#configuration-file for details on setting scrape_protocols.
  • vcenterreceiver: Fixed the resource attribute model to more accurately support multi-cluster deployments (#30879)
    For more information on impacts please refer #31113. The main impacts are that
    the vcenter.resource_pool.name, vcenter.resource_pool.inventory_path, and vcenter.cluster.name are reported with more accuracy on VM metrics.

🚩 Deprecations 🚩

  • instanaexporter: Mark the Instana Exporter as deprecated. (#31765)

🚀 New components 🚀

  • awss3receiver: introduce the AWS S3 receiver (#30750)
  • sumologicextension: promote to alpha stability (#29601)
  • googleclientauthextension: Add boilerplate for Google Client Auth Extension (#31412)
  • grafanacloudconnector: Adds a connector to generate metrics for Grafana Cloud. (#31647)
  • rabbitmqexporter: Add new exporter for sending telemetry to RabbitMQ brokers using the AMQP 0.9.1 protocol (#28891)

💡 Enhancements 💡

  • exporter/loadbalancingexporter: Adding AWS Cloud Map for service discovery of Collectors backend. (#27241)

  • ottl: Add new function to decode a base64 encoded string and output the original string (#31543)

  • ackextension: adding the in-memory implementation of the ackextension (#26376)

  • awss3exporter: add compression option to enable file compression on S3 (#27872)
    Add compression option to compress files using compress/gzip library before uploading to S3.

  • servicegraphprocessor: Added a new configuration option database_name_attribute to allow users to specify a custom attribute name for identifying the database name in span attributes. (#30726)

  • awss3exporter: Add support for encoding extension to awss3exporter (#30554)

  • processor/k8sattributes: Add support for k8s.node.uid metadata (#31637)

  • awss3exporter: Add support for specifying the file extension for files uploaded to S3 when using an encoding extension. (#31818)

  • datadogexporter: Datadog exporter uses the same default HTTP settings as Datadog Agent HTTP transport (#31733)

  • datadogexporter: Datadog exporter respects a subset of settings in confighttp client configs (#31733)
    Currently the following configs are respected: read_buffer_size, write_buffer_size, timeout, max_idle_conns, max_idle_conns_per_host, max_conns_per_host, idle_conn_timeout, disable_keep_alives and tls.insecure_skip_verify.

  • deltatocumulativeprocessor: introduce configurable stream limit (#31488)
    Adds max_streams option that allows to set upper bound (default = unlimited)
    to the number of tracked streams. Any additional streams exceeding the limit
    are dropped.

  • deltatocumulativeprocessor: expire stale series (#30705, #31016)
    Adds max_stale option that allows to set an interval (default = 5min)
    after which a series that no longer receives new samples is removed from
    tracking.

  • datadogconnector: Add a new option to the Datadog connector to enable container tags on stats Payloads. (#31642)
    This change adds a new option to the Datadog connector to enable container tags on stats Payloads. This is useful for users who want to use container tags as second primary tag for Datadog APM.

  • dockerstatsreceiver: add metrics for online CPU count and memory fails count (#31366)

  • fileexporter: Adopt the encoding extension with the file exporter. (#31774)

  • pkg/ottl: Add ParseXML function for parsing XML from a target string. (#31133)

  • fileexporter: Added the option to write telemetry data into multiple files, where the file path is based on a resource attribute. (#24654)

  • fileexporter: File write mode is configurable now (truncate or append) (#31364)

  • elasticsearchexporter: When timestamp is not set, use observedTimestamp (#11752)

  • k8sclusterreceiver: add optional status_last_terminated_reason resource attribute (#31282)

  • awsproxyextension: Expose service_name as configurable option. Previously, it was hardcoded as xray. (#29550)

  • datadogexporter: Add new telemetry metric, otelcol_datadog_otlp_translator_resources_missing_source that counts OTLP resources missing a hostname-identifying attribute. (#31805)

  • extension/opamp: Promote the OpAMP extension to alpha stability (#31616)

  • prometheusremotewriteexporter: Publish telemetry about translation of metrics from Otel to Prometheus. Don't drop all data points if some fail translation. (#29729)

  • prometheusreceiver: Use confighttp for target allocator client (#31449)

  • spanmetricsconnector: Add metrics_expiration option to enable expiration of metrics if spans are not received within a certain time frame. (#30559)
    The feature can be configured by specifiying the desired duration in the metrics_expiration option. By default, the expiration is disabled (set to 0).

  • splunkentreceiver: Updated the config.go and propogated these changes to other receiver components. Change was necessary to differentiate different configurable endpoints. (#30254)

  • exporter/datadogexporter: Do not drop traces when payload channel is full. (#31893)

  • connector/datadogconnector: Do not resolve container tags if payload already has tags associated with it. (#31893)

🧰 Bug fixes 🧰

  • bigipreceiver: Fix potential nil pointer usage in GetPoolMembers (#31899)

  • carbonreceiver: Do not report fatal error when closed normally (#31913)

  • datadogexporter: Fix data race in metrics exporter shutdown (#31663)

  • deltatocumulativeprocessor: timer-based expiry (#31615)
    converts expiry to 1m timer, eliminating a race condition and failing test

  • telemetrygen: Do not use WithBlock when forming grpc connections for metrics/traces in telemetrygen to avoid infinite retry after failure (#31401)

  • filestatsreceiver: Fix file.path to return the proper absolute path of the file (#31738)

  • internal/docker: Updated docker dependency and fixed zap.String incompatibility (#31087)

  • exporter/loadbalancing: Fix panic when a sub-exporter is shut down while still handling requests. (#31410)

  • cmd/telemetrygen: Fixed key mapping for logs telemetry attributes. (#31309)

  • exporter/awskinesisexporter: Fix the capacity of records slices in the initialized batch (#20914)

  • hostmetricsreceiver: Adds the receiver.hostmetrics.normalizeProcessCPUUtilization feature gate to optionally normalize process.cpu.utilization values. (#31368)
    When enabled, the receiver.hostmetrics.normalizeProcessCPUUtilization feature gate will cause process.cpu.utilization values to be divided by the number of logical cores on the system. This is necessary to produce a value on the interval of [0-1], as the description of process.cpu.utilization the metric says.

  • transformprocessor: Change metric unit for metrics extracted with extract_count_metric() to be the default unit (1) (#31575)
    The original metric unit does not apply to extracted count metrics the same way it does to sum, min or max.
    Metrics extracted using extract_count_metric() now use the more appropriate default unit (1) instead.

  • dockerstatsreceiver: Add shutdown method to fix leaking goroutines (#30438)

  • loadbalancingexporter: Fix memory leaks on shutdown (#31050)

  • signalfxexporter: Fix memory leak in shutdown (#30864, #30438)

  • servicegraphprocessor: Fix 'failed to find dimensions for key' error from race condition in metrics cleanup. (#31701)

  • processor/k8sattributes: Allows k8sattributes processor to work with k8s role/rolebindings when filter::namespace is set. (#14742)

  • exporter/datadog: Demote noisy gohai logs to debug level (#29741)
    These logs would be present at the info level when using the official Docker images but were not useful to end-users.

  • opencensusreceiver: Refactor the opencensusreceiver to pass lifecycle tests and avoid leaking gRPC connections. (#31643)

  • sqlqueryreceiver: Fix memory leak on shutdown for log telemetry (#31782)

Go API Changes

🛑 Breaking changes 🛑

  • datadogexporter: Remove config structs LimitedClientConfig and LimitedTLSClientSettings (#31733)
    This should have no impact to end users as long as they do not import Datadog exporter config structs in their source code.
  • cmd/mdatagen: Delete deprecated cmd/mdatagen from this project. Use go.opentelemetry.io/collector/cmd/mdatagen instead. (#30497)
  • azuremonitorreceiver: Reduce the public API for this receiver. (#24850)
    This unexports the following types ArmClient, MetricsDefinitionsClientInterface, MetricsValuesClient.
  • general: Update any component using scraperhelper.ScraperControllerSettings to use scraperhelper.ControllerConfig (#31816)
    This changes the config field name from ScraperControllerSettings to ControllerConfig
  • prometheusreceiver: Remove enable_protobuf_negotiation option on the prometheus receiver. Use config.global.scrape_protocols = [ PrometheusProto, OpenMetricsText1.0.0, OpenMetricsText0.0.1, PrometheusText0.0.4 ] instead. (#30883)
    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#configuration-file for details on setting scrape_protocols.

🚩 Deprecations 🚩

  • pkg/stanza: Deprecate fileconsumer.BuildWithSplitFunc in favor of Build with options pattern (#31596)

💡 Enhancements 💡

  • clickhouseexporter: Allow configuring ON CLUSTER and ENGINE when creating database and tables (#24649)
    Increases table creation flexibility with the ability to add replication for fault tolerance
  • all: Remove explicit checks in all receivers to check if the next consumer is nil (#31793)
    The nil check is now done by the pipeline builder.

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