Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[receiver/vcenter] Fix multi cluster deployment resource attributes #31113

Merged
merged 25 commits into from
Mar 8, 2024

Conversation

schmikei
Copy link
Contributor

@schmikei schmikei commented Feb 7, 2024

Description: First pass at better contextualizing VMs in a multicluster deployment.

The Problem

For multicluster deployments the original scraper code incorrectly interpreted assumptions on VM ownership belonging to multiple clusters.

The Solution

The VM folder in a datacenter is completely separated from a cluster. Because of this we have to determine the VM's host system or resource polo in order to appropriate set the vcenter.cluster.name appropriately.

Things that have changed

  • ClusterComputes are now retrieved as a superset Computes
  • For the resource attribute vcenter.cluster.name to show up, the inventory type must match the string "ClusterComputeResource"
  • The receiver now maintains a dynamic map of vm Managed Object Reference Value to compute name

Customer impacts

  • VM metrics will more appropriately set the vcenter.cluster.name resource attribute in multi-cluster environments. This resource attribute will not be emitted for VMs on a runtime hosts outside of a cluster.
  • VM metrics will now emit with vcenter.resource_pool.name and vcenter.resource_pool.inventory_path when the VM is a member of one.

Link to tracking Issue: Resolves #30879

Testing:

Documentation:

@schmikei
Copy link
Contributor Author

schmikei commented Feb 8, 2024

I believe this is ready to be looked at, I think I would like to write up a better doc on what exactly has changed for users before we merge though.

@schmikei schmikei marked this pull request as ready for review February 12, 2024 17:39
@schmikei schmikei requested a review from a team February 12, 2024 17:39
@schmikei
Copy link
Contributor Author

@djaglowski I think this is an approach that can work. Happy to iterate on a featuregate if we think its appropriate for this.

@djaglowski
Copy link
Member

This would introduce some more resource attributes to VM metrics conditionally on if they have a resource pool attached with them and or if they are running on a Compute managed reference vs a non-clustered one.

Can you detail this out for me (and eventually for users)? The code seems reasonable at a glance but I'm having a hard time understanding the net change.

@schmikei
Copy link
Contributor Author

Yeah sure thing. Gonna write the changes here then I'll update the PR description.

The Problem

For multicluster deployments the original scraper code incorrectly interpreted assumptions on VM ownership belonging to multiple clusters.

The Solution

The VM folder in a datacenter is completely separated from a cluster. Because of this we have to determine the VM's host system or resource polo in order to appropriate set the vcenter.cluster.name appropriately.

Things that have changed

  • ClusterComputes are now retrieved as a superset Computes
  • For the resource attribute vcenter.cluster.name to show up, the inventory type must match the string "ClusterComputeResource"
  • The receiver now maintains a dynamic map of vm Managed Object Reference Value to compute name

Customer impacts

  • VM metrics will more appropriately set the vcenter.cluster.name resource attribute in multi-cluster environments. This resource attribute will not be emitted for VMs on a runtime hosts outside of a cluster.
  • VM metrics will now emit with vcenter.resource_pool.name when the VM is a member of one.

If there is a better place to put this information in the changelog I can put it inside the subtext. Otherwise happy to make a feature gate or put it on the issue so it's easily traceable.

@djaglowski
Copy link
Member

@adasescu, would you be willing to take as well?

@adasescu
Copy link

Looking at the changes, the relationship between Cluster->Host->Vm is resolved with the Compute superset.
Related to the new VM metrics which will emit vcenter.resource_pool.name, I think vcenter.resource_pool.inventory_path would be a good addition (in our case is more relevant than the name). And also an integration test that will contain VM metrics along with resource attributes including vcenter.cluster.name and vcenter.resource_pool.name might be helpful.

@schmikei
Copy link
Contributor Author

Looking at the changes, the relationship between Cluster->Host->Vm is resolved with the Compute superset. Related to the new VM metrics which will emit vcenter.resource_pool.name, I think vcenter.resource_pool.inventory_path would be a good addition (in our case is more relevant than the name). And also an integration test that will contain VM metrics along with resource attributes including vcenter.cluster.name and vcenter.resource_pool.name might be helpful.

Thanks for the valuable feedback 🚀 I'll try and get those implemented as soon as I can sometime next week into this PR!

@schmikei
Copy link
Contributor Author

schmikei commented Feb 22, 2024

I added the vcenter.resource_pool.inventory_path to VM metrics, I wasn't able to get the simulator under the hood to actually place them into the pre-made resource pools.

Was getting this error:


        	Error:      	Received unexpected error:
        	            	ServerFaultCode: VirtualMachine:vm-55 does not implement: MigrateVM_Task

Have to respin up my vCenter in order to remake the mocks for scraper test to properly capture. Apologies for the delay!

@adasescu I've been informed that because I can't enable DRS in our reference environment, that we cannot validate this quickly. Is there any chance you could take a pass at validating with your environment? Otherwise would you be able to mock out following these instructions https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/vcenterreceiver/internal/mockserver and I can try to encapsulate in a test case for us with that information :)

@adasescu
Copy link

I was able to take a pass on our environment. Didn't get any error but resource_pool.name and resource_pool.inventory_path values aren't issued along with other VM metrics. Even with a resource_pool metric enabled like below the VM metrics don't show resource_pool.name and resource_pool.inventory_path.

config:
  receivers:
    vcenter:
      resource_attributes:
        vcenter.resource_pool.name:
          enabled: true
        vcenter.resource_pool.inventory_path:
          enabled: true
      ...
      metrics:
        vcenter.resource_pool.cpu.usage:
          enabled: true

I couldn't test the multiple cluster functionality cause I lost access on the second cluster, but for one cluster the vcenter.cluster.name value is right.

@schmikei
Copy link
Contributor Author

@adasescu I ended up storing in a map the data retrieved from resource pools with inventory path now set. Hopefully things should be good now if you're able to try again. Sorry for the miss on the first pass!

@adasescu
Copy link

No worries.
Tested the changes. When resource_pool resource attributes are disabled, the values don't show up in VM metrics.

config:
  receivers:
    vcenter:
      resource_attributes:
        vcenter.resource_pool.name:
          enabled: false
        vcenter.resource_pool.inventory_path:
          enabled: false 

When are enabled they show up with right values, but there's also an empty ResourceBuilder, like when a metric let's say vcenter.resource_pool.cpu.usage would be enabled. This behaviour isn't consistent with the Datastore resource builder. Don't know which is the desired behaviour. For Datastore with the config below no metrics are generated.

config:
  receivers:
    vcenter:
      resource_attributes:
        vcenter.datastore.name:
          enabled: true

I hope I could make myself understood.
We are only using the VM metrics.

@schmikei
Copy link
Contributor Author

No worries. Tested the changes. When resource_pool resource attributes are disabled, the values don't show up in VM metrics.

config:
  receivers:
    vcenter:
      resource_attributes:
        vcenter.resource_pool.name:
          enabled: false
        vcenter.resource_pool.inventory_path:
          enabled: false 

When are enabled they show up with right values, but there's also an empty ResourceBuilder, like when a metric let's say vcenter.resource_pool.cpu.usage would be enabled. This behaviour isn't consistent with the Datastore resource builder. Don't know which is the desired behaviour. For Datastore with the config below no metrics are generated.

config:
  receivers:
    vcenter:
      resource_attributes:
        vcenter.datastore.name:
          enabled: true

I hope I could make myself understood. We are only using the VM metrics.

@adasescu sorry just for my clarification, could you share a redacted with sensitive information version of your config/output that appears to be problematic? Are we just looking at the VM metrics being collected?

@adasescu
Copy link

No worries. Tested the changes. When resource_pool resource attributes are disabled, the values don't show up in VM metrics.

config:
  receivers:
    vcenter:
      resource_attributes:
        vcenter.resource_pool.name:
          enabled: false
        vcenter.resource_pool.inventory_path:
          enabled: false 

When are enabled they show up with right values, but there's also an empty ResourceBuilder, like when a metric let's say vcenter.resource_pool.cpu.usage would be enabled. This behaviour isn't consistent with the Datastore resource builder. Don't know which is the desired behaviour. For Datastore with the config below no metrics are generated.

config:
  receivers:
    vcenter:
      resource_attributes:
        vcenter.datastore.name:
          enabled: true

I hope I could make myself understood. We are only using the VM metrics.

@adasescu sorry just for my clarification, could you share a redacted with sensitive information version of your config/output that appears to be problematic? Are we just looking at the VM metrics being collected?

I'll give it a try at the beginning of the next week

@adasescu
Copy link

adasescu commented Mar 6, 2024

@schmikei I was wrong in my previous comment, I must have been looking at the wrong data. Apologies for that and for the delay.
I ran the following test cases and from my opinion all looks good. The generated metrics are exported into a kafkaexporter in our deployment. The configuration for resource attributes vcenter.cluster.name, vcenter.host.name, vcenter.vm.* are all enabled and metrics for VM are always enabled. Here are the config/output tested:

  1. all enabled
config:
  receivers:
    vcenter:
      resource_attributes:
        vcenter.resource_pool.name:
          enabled: true
        vcenter.resource_pool.inventory_path:
          enabled: true
        vcenter.datastore.name:
          enabled: true
      ....
      metrics:
        vcenter.datastore.disk.usage:
          enabled: true
        vcenter.resource_pool.memory.usage:
          enabled: true

output file 1-test-2024-03-06-all-enabled.txt

  1. resource attributes enabled, metrics disabled. In this test case things wasn't clear.
config:
  receivers:
    vcenter:
      resource_attributes:
        vcenter.resource_pool.name:
          enabled: true
        vcenter.resource_pool.inventory_path:
          enabled: true
        vcenter.datastore.name:
          enabled: true
      ....
      metrics:
        vcenter.datastore.disk.usage:
          enabled: false
        vcenter.resource_pool.memory.usage:
          enabled: false

output file 2-test-2024-03-06-res-att-on-metrics-off.txt

  1. all disabled
config:
  receivers:
    vcenter:
      resource_attributes:
        vcenter.resource_pool.name:
          enabled: false
        vcenter.resource_pool.inventory_path:
          enabled: false
        vcenter.datastore.name:
          enabled: false
      ....
      metrics:
        vcenter.datastore.disk.usage:
          enabled: false
        vcenter.resource_pool.memory.usage:
          enabled: false

output file 3-test-2024-03-06-all-disabled.txt

@schmikei
Copy link
Contributor Author

schmikei commented Mar 8, 2024

@adasescu thank you so much for your time in validation! 🚀

@djaglowski are you able to look over this again?

@djaglowski djaglowski merged commit 5d4c925 into open-telemetry:main Mar 8, 2024
142 checks passed
@github-actions github-actions bot added this to the next release milestone Mar 8, 2024
DougManton pushed a commit to DougManton/opentelemetry-collector-contrib that referenced this pull request Mar 13, 2024
…pen-telemetry#31113)

**Description:** First pass at better contextualizing VMs in a
multicluster deployment.

## The Problem

For multicluster deployments the original scraper code incorrectly
interpreted assumptions on VM ownership belonging to multiple clusters.

## The Solution

The VM folder in a datacenter is completely separated from a cluster.
Because of this we have to determine the VM's host system or resource
polo in order to appropriate set the `vcenter.cluster.name`
appropriately.

## Things that have changed 
- ClusterComputes are now retrieved as a superset Computes
- For the resource attribute `vcenter.cluster.name` to show up, the
inventory type must match the string "ClusterComputeResource"
- The receiver now maintains a dynamic map of vm Managed Object
Reference Value to compute name

## Customer impacts
- VM metrics will more appropriately set the `vcenter.cluster.name`
resource attribute in multi-cluster environments. This resource
attribute will not be emitted for VMs on a runtime hosts outside of a
cluster.
- VM metrics will now emit with `vcenter.resource_pool.name` and
`vcenter.resource_pool.inventory_path` when the VM is a member of one.


**Link to tracking Issue:** Resolves open-telemetry#30879

**Testing:**

**Documentation:** <Describe the documentation added.>
XinRanZhAWS pushed a commit to XinRanZhAWS/opentelemetry-collector-contrib that referenced this pull request Mar 13, 2024
…pen-telemetry#31113)

**Description:** First pass at better contextualizing VMs in a
multicluster deployment.

## The Problem

For multicluster deployments the original scraper code incorrectly
interpreted assumptions on VM ownership belonging to multiple clusters.

## The Solution

The VM folder in a datacenter is completely separated from a cluster.
Because of this we have to determine the VM's host system or resource
polo in order to appropriate set the `vcenter.cluster.name`
appropriately.

## Things that have changed 
- ClusterComputes are now retrieved as a superset Computes
- For the resource attribute `vcenter.cluster.name` to show up, the
inventory type must match the string "ClusterComputeResource"
- The receiver now maintains a dynamic map of vm Managed Object
Reference Value to compute name

## Customer impacts
- VM metrics will more appropriately set the `vcenter.cluster.name`
resource attribute in multi-cluster environments. This resource
attribute will not be emitted for VMs on a runtime hosts outside of a
cluster.
- VM metrics will now emit with `vcenter.resource_pool.name` and
`vcenter.resource_pool.inventory_path` when the VM is a member of one.


**Link to tracking Issue:** Resolves open-telemetry#30879

**Testing:**

**Documentation:** <Describe the documentation added.>
dmitryax referenced this pull request Mar 26, 2024
…ector-contrib/internal/common to v0.97.0 (#31987)

[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/open-telemetry/opentelemetry-collector-contrib/internal/common](https://togithub.com/open-telemetry/opentelemetry-collector-contrib)
| `v0.96.0` -> `v0.97.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2finternal%2fcommon/v0.97.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2finternal%2fcommon/v0.97.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2finternal%2fcommon/v0.96.0/v0.97.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2finternal%2fcommon/v0.96.0/v0.97.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>open-telemetry/opentelemetry-collector-contrib
(github.com/open-telemetry/opentelemetry-collector-contrib/internal/common)</summary>

###
[`v0.97.0`](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v0970)

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.96.0...v0.97.0)

##### 🛑 Breaking changes 🛑

- `datadogconnector`: Remove feature gate
`connector.datadogconnector.performance`
([#&#8203;31638](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31638))
- `cmd/mdatagen`: Delete deprecated cmd/mdatagen from this project. Use
go.opentelemetry.io/collector/cmd/mdatagen instead.
([#&#8203;30497](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30497))
- `receiver/postgresql`: Bump postgresqlreceiver.preciselagmetrics gate
to beta
([#&#8203;31220](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31220))
- `receiver/vcenter`: Bump receiver.vcenter.emitPerfMetricsWithObjects
feature gate to stable
([#&#8203;31215](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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.
([#&#8203;30883](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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
([#&#8203;30879](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30879))
For more information on impacts please
re[https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/31113](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/pull/31113)1113.
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.
([#&#8203;31765](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31765))

##### 🚀 New components 🚀

- `awss3receiver`: introduce the AWS S3 receiver
([#&#8203;30750](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30750))
- `sumologicextension`: promote to `alpha` stability
([#&#8203;29601](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29601))
- `googleclientauthextension`: Add boilerplate for Google Client Auth
Extension
([#&#8203;31412](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31412))
- `grafanacloudconnector`: Adds a connector to generate metrics for
Grafana Cloud.
([#&#8203;31647](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31647))
- `rabbitmqexporter`: Add new exporter for sending telemetry to RabbitMQ
brokers using the AMQP 0.9.1 protocol
([#&#8203;28891](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/28891))

##### 💡 Enhancements 💡

- `exporter/loadbalancingexporter`: Adding AWS Cloud Map for service
discovery of Collectors backend.
([#&#8203;27241](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27241))

- `ottl`: Add new function to decode a base64 encoded string and output
the original string
([#&#8203;31543](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31543))

- `ackextension`: adding the in-memory implementation of the
ackextension
([#&#8203;26376](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26376))

- `awss3exporter`: add `compression` option to enable file compression
on S3
([#&#8203;27872](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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.
([#&#8203;30726](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30726))

- `awss3exporter`: Add support for encoding extension to awss3exporter
([#&#8203;30554](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30554))

- `processor/k8sattributes`: Add support for `k8s.node.uid` metadata
([#&#8203;31637](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31637))

- `awss3exporter`: Add support for specifying the file extension for
files uploaded to S3 when using an encoding extension.
([#&#8203;31818](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31818))

- `datadogexporter`: Datadog exporter uses the same default HTTP
settings as Datadog Agent HTTP transport
([#&#8203;31733](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31733))

- `datadogexporter`: Datadog exporter respects a subset of settings in
confighttp client configs
([#&#8203;31733](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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
([#&#8203;31488](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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
([#&#8203;30705](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30705),
[#&#8203;31016](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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.
([#&#8203;31642](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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
([#&#8203;31366](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31366))

- `fileexporter`: Adopt the encoding extension with the file exporter.
([#&#8203;31774](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31774))

- `pkg/ottl`: Add `ParseXML` function for parsing XML from a target
string.
([#&#8203;31133](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31133))

- `fileexporter`: Added the option to write telemetry data into multiple
files, where the file path is based on a resource attribute.
([#&#8203;24654](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/24654))

- `fileexporter`: File write mode is configurable now (truncate or
append)
([#&#8203;31364](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31364))

- `elasticsearchexporter`: When timestamp is not set, use
observedTimestamp
([#&#8203;11752](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/11752))

- `k8sclusterreceiver`: add optional status_last_terminated_reason
resource attribute
([#&#8203;31282](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31282))

- `awsproxyextension`: Expose service_name as configurable option.
Previously, it was hardcoded as xray.
([#&#8203;29550](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29550))

- `datadogexporter`: Add new telemetry metric,
`otelcol_datadog_otlp_translator_resources_missing_source` that counts
OTLP resources missing a hostname-identifying attribute.
([#&#8203;31805](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31805))
- Enable Collector metrics
https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/troubleshooting.md#metrics
to check for this metric.

- `extension/opamp`: Promote the OpAMP extension to alpha stability
([#&#8203;31616](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31616))

- `prometheusremotewriteexporter`: Publish telemetry about translation
of metrics from Otel to Prometheus. Don't drop all data points if some
fail translation.
([#&#8203;29729](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29729))

- `prometheusreceiver`: Use confighttp for target allocator client
([#&#8203;31449](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31449))

- `spanmetricsconnector`: Add `metrics_expiration` option to enable
expiration of metrics if spans are not received within a certain time
frame.
([#&#8203;30559](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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.
([#&#8203;30254](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30254))

- `exporter/datadogexporter`: Do not drop traces when payload channel is
full.
([#&#8203;31893](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31893))

- `connector/datadogconnector`: Do not resolve container tags if payload
already has tags associated with it.
([#&#8203;31893](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31893))

##### 🧰 Bug fixes 🧰

- `bigipreceiver`: Fix potential nil pointer usage in GetPoolMembers
([#&#8203;31899](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31899))

- `carbonreceiver`: Do not report fatal error when closed normally
([#&#8203;31913](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31913))

- `datadogexporter`: Fix data race in metrics exporter shutdown
([#&#8203;31663](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31663))

- `deltatocumulativeprocessor`: timer-based expiry
([#&#8203;31615](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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
([#&#8203;31401](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31401))

- `filestatsreceiver`: Fix file.path to return the proper absolute path
of the file
([#&#8203;31738](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31738))

- `internal/docker`: Updated docker dependency and fixed zap.String
incompatibility
([#&#8203;31087](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31087))

- `exporter/loadbalancing`: Fix panic when a sub-exporter is shut down
while still handling requests.
([#&#8203;31410](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31410))

- `cmd/telemetrygen`: Fixed key mapping for logs telemetry attributes.
([#&#8203;31309](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31309))

- `exporter/awskinesisexporter`: Fix the capacity of records slices in
the initialized batch
([#&#8203;20914](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/20914))

- `hostmetricsreceiver`: Adds the
receiver.hostmetrics.normalizeProcessCPUUtilization feature gate to
optionally normalize process.cpu.utilization values.
([#&#8203;31368](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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`)
([#&#8203;31575](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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
([#&#8203;30438](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30438))

- `loadbalancingexporter`: Fix memory leaks on shutdown
([#&#8203;31050](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31050))

- `signalfxexporter`: Fix memory leak in shutdown
([#&#8203;30864](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30864),
[#&#8203;30438](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30438))

- `servicegraphprocessor`: Fix 'failed to find dimensions for key' error
from race condition in metrics cleanup.
([#&#8203;31701](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31701))

- `processor/k8sattributes`: Allows k8sattributes processor to work with
k8s role/rolebindings when filter::namespace is set.
([#&#8203;14742](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/14742))

- `exporter/datadog`: Demote noisy gohai logs to debug level
([#&#8203;29741](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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.
([#&#8203;31643](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31643))

- `sqlqueryreceiver`: Fix memory leak on shutdown for log telemetry
([#&#8203;31782](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31782))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any
time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
dmitryax referenced this pull request Mar 26, 2024
…ector-contrib/cmd/telemetrygen to v0.97.0 (#31986)

[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/open-telemetry/opentelemetry-collector-contrib/cmd/telemetrygen](https://togithub.com/open-telemetry/opentelemetry-collector-contrib)
| `v0.96.0` -> `v0.97.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2fcmd%2ftelemetrygen/v0.97.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2fcmd%2ftelemetrygen/v0.97.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2fcmd%2ftelemetrygen/v0.96.0/v0.97.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2fcmd%2ftelemetrygen/v0.96.0/v0.97.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>open-telemetry/opentelemetry-collector-contrib
(github.com/open-telemetry/opentelemetry-collector-contrib/cmd/telemetrygen)</summary>

###
[`v0.97.0`](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v0970)

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.96.0...v0.97.0)

##### 🛑 Breaking changes 🛑

- `datadogconnector`: Remove feature gate
`connector.datadogconnector.performance`
([#&#8203;31638](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31638))
- `cmd/mdatagen`: Delete deprecated cmd/mdatagen from this project. Use
go.opentelemetry.io/collector/cmd/mdatagen instead.
([#&#8203;30497](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30497))
- `receiver/postgresql`: Bump postgresqlreceiver.preciselagmetrics gate
to beta
([#&#8203;31220](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31220))
- `receiver/vcenter`: Bump receiver.vcenter.emitPerfMetricsWithObjects
feature gate to stable
([#&#8203;31215](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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.
([#&#8203;30883](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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
([#&#8203;30879](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30879))
For more information on impacts please
re[https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/31113](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/pull/31113)1113.
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.
([#&#8203;31765](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31765))

##### 🚀 New components 🚀

- `awss3receiver`: introduce the AWS S3 receiver
([#&#8203;30750](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30750))
- `sumologicextension`: promote to `alpha` stability
([#&#8203;29601](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29601))
- `googleclientauthextension`: Add boilerplate for Google Client Auth
Extension
([#&#8203;31412](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31412))
- `grafanacloudconnector`: Adds a connector to generate metrics for
Grafana Cloud.
([#&#8203;31647](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31647))
- `rabbitmqexporter`: Add new exporter for sending telemetry to RabbitMQ
brokers using the AMQP 0.9.1 protocol
([#&#8203;28891](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/28891))

##### 💡 Enhancements 💡

- `exporter/loadbalancingexporter`: Adding AWS Cloud Map for service
discovery of Collectors backend.
([#&#8203;27241](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27241))

- `ottl`: Add new function to decode a base64 encoded string and output
the original string
([#&#8203;31543](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31543))

- `ackextension`: adding the in-memory implementation of the
ackextension
([#&#8203;26376](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26376))

- `awss3exporter`: add `compression` option to enable file compression
on S3
([#&#8203;27872](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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.
([#&#8203;30726](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30726))

- `awss3exporter`: Add support for encoding extension to awss3exporter
([#&#8203;30554](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30554))

- `processor/k8sattributes`: Add support for `k8s.node.uid` metadata
([#&#8203;31637](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31637))

- `awss3exporter`: Add support for specifying the file extension for
files uploaded to S3 when using an encoding extension.
([#&#8203;31818](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31818))

- `datadogexporter`: Datadog exporter uses the same default HTTP
settings as Datadog Agent HTTP transport
([#&#8203;31733](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31733))

- `datadogexporter`: Datadog exporter respects a subset of settings in
confighttp client configs
([#&#8203;31733](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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
([#&#8203;31488](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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
([#&#8203;30705](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30705),
[#&#8203;31016](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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.
([#&#8203;31642](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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
([#&#8203;31366](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31366))

- `fileexporter`: Adopt the encoding extension with the file exporter.
([#&#8203;31774](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31774))

- `pkg/ottl`: Add `ParseXML` function for parsing XML from a target
string.
([#&#8203;31133](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31133))

- `fileexporter`: Added the option to write telemetry data into multiple
files, where the file path is based on a resource attribute.
([#&#8203;24654](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/24654))

- `fileexporter`: File write mode is configurable now (truncate or
append)
([#&#8203;31364](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31364))

- `elasticsearchexporter`: When timestamp is not set, use
observedTimestamp
([#&#8203;11752](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/11752))

- `k8sclusterreceiver`: add optional status_last_terminated_reason
resource attribute
([#&#8203;31282](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31282))

- `awsproxyextension`: Expose service_name as configurable option.
Previously, it was hardcoded as xray.
([#&#8203;29550](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29550))

- `datadogexporter`: Add new telemetry metric,
`otelcol_datadog_otlp_translator_resources_missing_source` that counts
OTLP resources missing a hostname-identifying attribute.
([#&#8203;31805](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31805))
- Enable Collector metrics
https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/troubleshooting.md#metrics
to check for this metric.

- `extension/opamp`: Promote the OpAMP extension to alpha stability
([#&#8203;31616](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31616))

- `prometheusremotewriteexporter`: Publish telemetry about translation
of metrics from Otel to Prometheus. Don't drop all data points if some
fail translation.
([#&#8203;29729](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29729))

- `prometheusreceiver`: Use confighttp for target allocator client
([#&#8203;31449](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31449))

- `spanmetricsconnector`: Add `metrics_expiration` option to enable
expiration of metrics if spans are not received within a certain time
frame.
([#&#8203;30559](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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.
([#&#8203;30254](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30254))

- `exporter/datadogexporter`: Do not drop traces when payload channel is
full.
([#&#8203;31893](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31893))

- `connector/datadogconnector`: Do not resolve container tags if payload
already has tags associated with it.
([#&#8203;31893](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31893))

##### 🧰 Bug fixes 🧰

- `bigipreceiver`: Fix potential nil pointer usage in GetPoolMembers
([#&#8203;31899](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31899))

- `carbonreceiver`: Do not report fatal error when closed normally
([#&#8203;31913](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31913))

- `datadogexporter`: Fix data race in metrics exporter shutdown
([#&#8203;31663](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31663))

- `deltatocumulativeprocessor`: timer-based expiry
([#&#8203;31615](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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
([#&#8203;31401](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31401))

- `filestatsreceiver`: Fix file.path to return the proper absolute path
of the file
([#&#8203;31738](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31738))

- `internal/docker`: Updated docker dependency and fixed zap.String
incompatibility
([#&#8203;31087](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31087))

- `exporter/loadbalancing`: Fix panic when a sub-exporter is shut down
while still handling requests.
([#&#8203;31410](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31410))

- `cmd/telemetrygen`: Fixed key mapping for logs telemetry attributes.
([#&#8203;31309](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31309))

- `exporter/awskinesisexporter`: Fix the capacity of records slices in
the initialized batch
([#&#8203;20914](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/20914))

- `hostmetricsreceiver`: Adds the
receiver.hostmetrics.normalizeProcessCPUUtilization feature gate to
optionally normalize process.cpu.utilization values.
([#&#8203;31368](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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`)
([#&#8203;31575](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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
([#&#8203;30438](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30438))

- `loadbalancingexporter`: Fix memory leaks on shutdown
([#&#8203;31050](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31050))

- `signalfxexporter`: Fix memory leak in shutdown
([#&#8203;30864](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30864),
[#&#8203;30438](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30438))

- `servicegraphprocessor`: Fix 'failed to find dimensions for key' error
from race condition in metrics cleanup.
([#&#8203;31701](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31701))

- `processor/k8sattributes`: Allows k8sattributes processor to work with
k8s role/rolebindings when filter::namespace is set.
([#&#8203;14742](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/14742))

- `exporter/datadog`: Demote noisy gohai logs to debug level
([#&#8203;29741](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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.
([#&#8203;31643](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31643))

- `sqlqueryreceiver`: Fix memory leak on shutdown for log telemetry
([#&#8203;31782](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31782))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any
time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
codeboten referenced this pull request Apr 16, 2024
…ib/testbed to v0.98.0 (#32431)

[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/open-telemetry/opentelemetry-collector-contrib/testbed](https://togithub.com/open-telemetry/opentelemetry-collector-contrib)
| `v0.0.0-00010101000000-000000000000` -> `v0.98.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2ftestbed/v0.98.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2ftestbed/v0.98.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2ftestbed/v0.0.0-00010101000000-000000000000/v0.98.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2ftestbed/v0.0.0-00010101000000-000000000000/v0.98.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>open-telemetry/opentelemetry-collector-contrib
(github.com/open-telemetry/opentelemetry-collector-contrib/testbed)</summary>

###
[`v0.98.0`](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v0980)

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.97.0...v0.98.0)

##### 🛑 Breaking changes 🛑

- `podmanreceiver`: Adds metrics and resources metadata and sets seconds
precision for cpu metrics
([#&#8203;28640](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/28640))

- `clickhouseexporter`: Add ServiceName as `column` into Clickhouse
metrics tables
([#&#8203;31670](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31670))
It's a breaking change. users who upgrade to the latest version need to
alter the Clickhouse table:
    ```sql
ALTER TABLE otel_metrics_exponential_histogram ADD COLUMN ServiceName
LowCardinality(String) CODEC(ZSTD(1));
ALTER TABLE otel_metrics_gauge ADD COLUMN ServiceName
LowCardinality(String) CODEC(ZSTD(1));
ALTER TABLE otel_metrics_histogram ADD COLUMN ServiceName
LowCardinality(String) CODEC(ZSTD(1));
ALTER TABLE otel_metrics_sum ADD COLUMN ServiceName
LowCardinality(String) CODEC(ZSTD(1));
ALTER TABLE otel_metrics_summary ADD COLUMN ServiceName
LowCardinality(String) CODEC(ZSTD(1));
    ```

- `elasticsearchexporter`: Initial pass in implementing the `ecs`
mapping mode
([#&#8203;31553](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31553))
Breaking change if mapping `mode` is set to `ecs`, use `none` to
maintain existing format

- `pkg/stanza`: Revert recombine operator's 'overwrite_with' default
value.
([#&#8203;30783](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30783))
Restores the previous the default value of `oldest`, meaning that the
recombine operator will emit the
first entry from each batch (with the recombined field). This fixes the
bug introduced by 30783 and restores
the default setting so as to effectively cancel out the bug for users
who were not using this setting.
For users who were explicitly setting `overwrite_with`, this corrects
the intended behavior.

- `processor/attributes, processor/resource`: Remove stable
coreinternal.attraction.hash.sha256 feature gate.
([#&#8203;31997](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31997))

- `receiver/dockerstats`: Remove stable
receiver.dockerstats.useScraperV2 feature gate.
([#&#8203;31999](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31999))

- `awsxrayexporter`: change x-ray exporter's translator to make "."
split annotation pass as-is
([#&#8203;31732](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31732))
In the past, X-Ray doesn’t support “.”. So we have a translator in x-ray
export to translates it to “\_” before sending traces to X-Ray Service.
| To match otel naming style, x-ray service team decide to change their
service to support both "." type and "" type of naming. In this case the
translator that translate "." to "" is no-longer needed. This PR change
the way this translator work | X-Ray PMs agree on rolling out this
change by using feature-gate

##### 🚩 Deprecations 🚩

- `postgresqlreceiver`: Minimal supported PostgreSQL version will be
updated from 9.6 to 12.0 in a future release.
([#&#8203;30923](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30923))
Aligning on the supported versions as can be seen [in the PostgreSQL
releases section](https://www.postgresql.org/support/versioning)

##### 🚀 New components 🚀

- `avrologencodingextension`: Add new encoding extension to support
mapping of AVRO messages to logs.
([#&#8203;21067](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/21067))

##### 💡 Enhancements 💡

- `ottl`: Add new Unix function to convert from epoch timestamp to
time.Time
([#&#8203;27868](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27868))

- `filelogreceiver`: When reading a file on filelogreceiver not on
windows, if include_file_owner_name is true, it will add the file owner
name as the attribute `log.file.owner.name` and if
include_file_owner_group_name is true, it will add the file owner group
name as the attribute `log.file.owner.group.name`.
([#&#8203;30775](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30775))

- `awsproxyextension`: Make awsproxy extension more resilient by
initiating the AWS client during Start.
([#&#8203;27849](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27849))

- `deltatocumulativeprocessor`: self-instrumentation to observe key
metrics of the stream accumulation
([#&#8203;30705](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30705))

- `datadog/connector`: Enable connector to use any attribute from the
resource as Container Tag
([#&#8203;32224](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/32224))
This change allows the connector to use any attribute from the resource
as a container tag. This is useful when you want to use a custom
attribute from the resource as a container tag. For example, you can use
the `namespace` attribute from the resource as a container tag.

- `exceptionsconnector`: change stability of exceptionsconnector from
development to alpha
([#&#8203;31820](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31820))

- `exceptionsconnector`: Copy span attributes to the generated log from
exception.
([#&#8203;24410](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/24410))

- `prometheusreceiver`: Allows receiving prometheus native histograms
([#&#8203;26555](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26555))
- Native histograms are compatible with OTEL exponential histograms.
- The feature can be enabled via the feature gate
`receiver.prometheusreceiver.EnableNativeHistograms`.
Run the collector with the command line option
`--feature-gates=receiver.prometheusreceiver.EnableNativeHistograms`.
- Currently the feature also requires that targets are scraped via the
ProtoBuf format.
        To start scraping native histograms, set
`config.global.scrape_protocols` to `[ PrometheusProto,
OpenMetricsText1.0.0, OpenMetricsText0.0.1, PrometheusText0.0.4 ]` in
the
receiver configuration. This requirement will be lifted once Prometheus
can scrape native histograms over text formats.
- For more up to date information see the README.md file of the receiver
at

https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/prometheusreceiver/README.md#prometheus-native-histograms.

- `all`: Add support for ARM build
([#&#8203;12920](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/12920))

- `failoverconnector`: Support ignoring `max_retries` setting in
failover connector
([#&#8203;9868](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/9868))

- `spanmetricsconnector`: Change default value of metrics_flush_interval
from 15s to 60s
([#&#8203;31776](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31776))

- `pkg/ottl`: Adding a string converter into pkg/ottl
([#&#8203;27867](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27867))

- `cmd/opampsupervisor`: Handle OpAMP connection settings.
([#&#8203;21043](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/21043))

- `loadbalancingexporter`: Support the timeout period of k8s resolver
list watch can be configured.
([#&#8203;31757](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31757))

- `cmd/telemetrygen`: Add Support for specifying Log Severity
([#&#8203;26498](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26498))

##### 🧰 Bug fixes 🧰

- `datadog/connector`: Fix data race in datadog metrics client
([#&#8203;31964](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31964))
    The PR ensures mutex protects gauges map in every code path.
- `exporter/awskinesisexporter`: Fixed issue with compression what was
causing EOF exceptions when attempting to decompress the payload
([#&#8203;32081](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/32081))
- `filelogreceiver`: Fix missing scope name and group logs based on
scope
([#&#8203;23387](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/23387))
- `jaegerremotesamplingextension`: Fix leaking goroutine on shutdown
([#&#8203;31157](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31157))
- `jmxreceiver`: Fix memory leak during component shutdown
([#&#8203;32289](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/32289))
- `k8sobjectsreceiver`: Fix memory leak caused by the pull mode's
interval ticker
([#&#8203;31919](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31919))
- `kafkareceiver`: fix kafka receiver panic on shutdown
([#&#8203;31926](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31926))
- `oracledbreceiver`: Fix incorrect values being set for
oracledb.tablespace_size.limit and oracledb.tablespace_size.usage
([#&#8203;31451](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31451))
- `prometheusreceiver`: Fix a bug where a new prometheus receiver with
the same name cannot be created after the previous receiver is Shutdown
([#&#8203;32123](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/32123))
- `resourcedetectionprocessor`: Only attempt to detect Kubernetes node
resource attributes when they're enabled.
([#&#8203;31941](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31941))
- `syslogreceiver`: Fix issue where static resource and attributes were
ignored
([#&#8203;31849](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31849))

###
[`v0.97.0`](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v0970)

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.96.0...v0.97.0)

##### 🛑 Breaking changes 🛑

- `datadogconnector`: Remove feature gate
`connector.datadogconnector.performance`
([#&#8203;31638](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31638))
- `cmd/mdatagen`: Delete deprecated cmd/mdatagen from this project. Use
go.opentelemetry.io/collector/cmd/mdatagen instead.
([#&#8203;30497](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30497))
- `receiver/postgresql`: Bump postgresqlreceiver.preciselagmetrics gate
to beta
([#&#8203;31220](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31220))
- `receiver/vcenter`: Bump receiver.vcenter.emitPerfMetricsWithObjects
feature gate to stable
([#&#8203;31215](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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.
([#&#8203;30883](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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
([#&#8203;30879](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30879))
For more information on impacts please
re[https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/31113](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/pull/31113)1113.
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.
([#&#8203;31765](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31765))

##### 🚀 New components 🚀

- `awss3receiver`: introduce the AWS S3 receiver
([#&#8203;30750](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30750))
- `sumologicextension`: promote to `alpha` stability
([#&#8203;29601](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29601))
- `googleclientauthextension`: Add boilerplate for Google Client Auth
Extension
([#&#8203;31412](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31412))
- `grafanacloudconnector`: Adds a connector to generate metrics for
Grafana Cloud.
([#&#8203;31647](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31647))
- `rabbitmqexporter`: Add new exporter for sending telemetry to RabbitMQ
brokers using the AMQP 0.9.1 protocol
([#&#8203;28891](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/28891))

##### 💡 Enhancements 💡

- `exporter/loadbalancingexporter`: Adding AWS Cloud Map for service
discovery of Collectors backend.
([#&#8203;27241](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27241))

- `ottl`: Add new function to decode a base64 encoded string and output
the original string
([#&#8203;31543](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31543))

- `ackextension`: adding the in-memory implementation of the
ackextension
([#&#8203;26376](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26376))

- `awss3exporter`: add `compression` option to enable file compression
on S3
([#&#8203;27872](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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.
([#&#8203;30726](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30726))

- `awss3exporter`: Add support for encoding extension to awss3exporter
([#&#8203;30554](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30554))

- `processor/k8sattributes`: Add support for `k8s.node.uid` metadata
([#&#8203;31637](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31637))

- `awss3exporter`: Add support for specifying the file extension for
files uploaded to S3 when using an encoding extension.
([#&#8203;31818](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31818))

- `datadogexporter`: Datadog exporter uses the same default HTTP
settings as Datadog Agent HTTP transport
([#&#8203;31733](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31733))

- `datadogexporter`: Datadog exporter respects a subset of settings in
confighttp client configs
([#&#8203;31733](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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
([#&#8203;31488](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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
([#&#8203;30705](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30705),
[#&#8203;31016](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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.
([#&#8203;31642](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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
([#&#8203;31366](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31366))

- `fileexporter`: Adopt the encoding extension with the file exporter.
([#&#8203;31774](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31774))

- `pkg/ottl`: Add `ParseXML` function for parsing XML from a target
string.
([#&#8203;31133](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31133))

- `fileexporter`: Added the option to write telemetry data into multiple
files, where the file path is based on a resource attribute.
([#&#8203;24654](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/24654))

- `fileexporter`: File write mode is configurable now (truncate or
append)
([#&#8203;31364](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31364))

- `elasticsearchexporter`: When timestamp is not set, use
observedTimestamp
([#&#8203;11752](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/11752))

- `k8sclusterreceiver`: add optional status_last_terminated_reason
resource attribute
([#&#8203;31282](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31282))

- `awsproxyextension`: Expose service_name as configurable option.
Previously, it was hardcoded as xray.
([#&#8203;29550](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29550))

- `datadogexporter`: Add new telemetry metric,
`otelcol_datadog_otlp_translator_resources_missing_source` that counts
OTLP resources missing a hostname-identifying attribute.
([#&#8203;31805](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31805))
- Enable Collector metrics
https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/troubleshooting.md#metrics
to check for this metric.

- `extension/opamp`: Promote the OpAMP extension to alpha stability
([#&#8203;31616](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31616))

- `prometheusremotewriteexporter`: Publish telemetry about translation
of metrics from Otel to Prometheus. Don't drop all data points if some
fail translation.
([#&#8203;29729](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29729))

- `prometheusreceiver`: Use confighttp for target allocator client
([#&#8203;31449](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31449))

- `spanmetricsconnector`: Add `metrics_expiration` option to enable
expiration of metrics if spans are not received within a certain time
frame.
([#&#8203;30559](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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.
([#&#8203;30254](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30254))

- `exporter/datadogexporter`: Do not drop traces when payload channel is
full.
([#&#8203;31893](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31893))

- `connector/datadogconnector`: Do not resolve container tags if payload
already has tags associated with it.
([#&#8203;31893](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31893))

##### 🧰 Bug fixes 🧰

- `bigipreceiver`: Fix potential nil pointer usage in GetPoolMembers
([#&#8203;31899](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31899))

- `carbonreceiver`: Do not report fatal error when closed normally
([#&#8203;31913](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31913))

- `datadogexporter`: Fix data race in metrics exporter shutdown
([#&#8203;31663](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31663))

- `deltatocumulativeprocessor`: timer-based expiry
([#&#8203;31615](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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
([#&#8203;31401](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31401))

- `filestatsreceiver`: Fix file.path to return the proper absolute path
of the file
([#&#8203;31738](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31738))

- `internal/docker`: Updated docker dependency and fixed zap.String
incompatibility
([#&#8203;31087](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31087))

- `exporter/loadbalancing`: Fix panic when a sub-exporter is shut down
while still handling requests.
([#&#8203;31410](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31410))

- `cmd/telemetrygen`: Fixed key mapping for logs telemetry attributes.
([#&#8203;31309](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31309))

- `exporter/awskinesisexporter`: Fix the capacity of records slices in
the initialized batch
([#&#8203;20914](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/20914))

- `hostmetricsreceiver`: Adds the
receiver.hostmetrics.normalizeProcessCPUUtilization feature gate to
optionally normalize process.cpu.utilization values.
([#&#8203;31368](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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`)
([#&#8203;31575](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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
([#&#8203;30438](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30438))

- `loadbalancingexporter`: Fix memory leaks on shutdown
([#&#8203;31050](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31050))

- `signalfxexporter`: Fix memory leak in shutdown
([#&#8203;30864](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30864),
[#&#8203;30438](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30438))

- `servicegraphprocessor`: Fix 'failed to find dimensions for key' error
from race condition in metrics cleanup.
([#&#8203;31701](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31701))

- `processor/k8sattributes`: Allows k8sattributes processor to work with
k8s role/rolebindings when filter::namespace is set.
([#&#8203;14742](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/14742))

- `exporter/datadog`: Demote noisy gohai logs to debug level
([#&#8203;29741](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/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.
([#&#8203;31643](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31643))

- `sqlqueryreceiver`: Fix memory leak on shutdown for log telemetry
([#&#8203;31782](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31782))

###
[`v0.96.0`](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v0960)

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.95.0...v0.96.0)

##### 🛑 Breaking changes 🛑

- `f5cloudexporter`: Remove deprecated module
([#&#8203;31531](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31531))
- `datadogconnector`: Move feature gate
`connector.datadogconnector.performance` to stable stage.
([#&#8203;31414](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31414))
`connector.datadogconnector.performance` will be removed in the next
release
- `spanmetricsprocessor`: Remove spanmetrics processor
([#&#8203;29567](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29567))
    -   You can use the spanmetrics connector as a replacement
- `httpforwarder`: Remove extension named httpforwarder, use
httpforwarderextension instead.
([#&#8203;24171](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/24171))
- `k8sclusterreceiver`: Remove deprecated k8s.kubeproxy.version resource
attribute
([#&#8203;29748](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29748))

##### 🚀 New components 🚀

- `ackextension`: Adding an interface for Acknowledgement extension
([#&#8203;26376](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26376))
- `sumologicextension`: add implementation of Sumo Logic Extension
([#&#8203;29601](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29601))

##### 💡 Enhancements 💡

- `datadogexporter`: Attach the collector version to stats payloads to
improve the debugging experience.
([#&#8203;31454](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31454))

- `awsxrayexporter`: support both deprecated and stable http attributes
translation for backward compatibility.
([#&#8203;30935](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30935))

- `azuremonitorexporter`: Added support for configuring the Azure
Monitor Exporter connection string via the
`APPLICATIONINSIGHTS_CONNECTION_STRING` environment variable.
([#&#8203;31523](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31523))

- `datadogconnector`: datadogconnector no longer mutates the input
traces in trace-to-trace pipelines.
([#&#8203;31414](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31414))

- `statsdreceiver`: Add support for the latest version of DogStatsD
protocol (v1.3)
([#&#8203;31295](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31295))

- `fileexporter`: Scope the behavior of the fileexporter to its
lifecycle, so it is safe to shut it down or restart it.
([#&#8203;27489](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27489))

- `processor/resourcedetection`: Add
`processor.resourcedetection.hostCPUSteppingAsString` feature gate to
change the type of `host.cpu.stepping` from `int` to `string`.
([#&#8203;31136](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31136))
    This feature gate will graduate to beta in the next release.

- `routingconnector`: a warning is logged if there are two or more
routing items with the same routing statement
([#&#8203;30663](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30663))

- `pkg/ottl`: Add new IsInt function to facilitate type checking.
([#&#8203;27894](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27894))

- `cmd/mdatagen`: Make lifecycle tests generated by default
([#&#8203;31532](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31532))

- `opampextension`: enables creating and using an http client
([#&#8203;31389](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31389))

- `pkg/stanza`: Improve timestamp parsing documentation
([#&#8203;31490](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31490))

- `postgresqlreceiver`: Add `receiver.postgresql.connectionPool` feature
gate to reuse database connections
([#&#8203;30831](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30831))
The default implementation recreates and closes connections on each
scrape per database configured/discovered.
This change offers a feature gated alternative to keep connections open.
Also, it exposes connection configuration to control the behavior of the
pool.

- `datadogconnector`: Add `source:datadogconnector` tag to trace agent
telemetry metrics generated by the datadogconnector.
([#&#8203;31528](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31528))

- `datadogexporter`: Add `source:datadogexporter` tag to trace agent
telemetry metrics generated by the datadogexporter.
([#&#8203;31528](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31528))

- `datadogexporter`: Automatically map `cloud.region`,
`cloud.availability_zone` and `cloud.provider` to the `region`, `zone`
and `cloud_provider` host tags.
([#&#8203;31372](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31372))

##### 🧰 Bug fixes 🧰

- `carbonreceiver`: Accept carbon metrics with float timestamps
([#&#8203;31312](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31312))
- `chronyreceiver`: move initialization of the chrony client to the
start function
([#&#8203;27849](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27849))
- `deltatocumulativeprocessor`: permits advancing delta start
timestamps, as required by spec.
([#&#8203;31365](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31365))
- `deltatocumulativeprocessor`: due to an oversight, only the first
sample of each stream was processed. now all samples are.
([#&#8203;31350](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31350))
- `cmd/telemetrygen`: Inherit root CAs from the host environment if not
supplied on the command line.
([#&#8203;31191](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31191))
- `syslogexporter`: fix setting network connection, do not load TLS
configuration for UDP
([#&#8203;31130](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31130))
- `journaldreceiver`: Fix bug where failed startup could bury error
message due to panic during shutdown
([#&#8203;31476](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31476))
- `loadbalancingexporter`: Fixes a bug where the endpoint become
required, despite not being used by the load balancing exporter.
([#&#8203;31371](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31371))
- `oracledbreceiver`: Use metadata.Type for the scraper id to avoid
invalid scraper IDs.
([#&#8203;31457](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31457))
- `filelogreceiver`: Fix bug where delete_after_read would cause panic
([#&#8203;31383](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31383))
- `receiver/filelog`: Fix issue where file fingerprint could be
corrupted while reading.
([#&#8203;22936](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/22936))
- `cmd/telemetrygen`: Fix incorrect error logged in traces batch span
processor shutdown
([#&#8203;31362](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31362))

###
[`v0.95.0`](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v0950)

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.94.0...v0.95.0)

##### 🛑 Breaking changes 🛑

- `all`: Bump minimum version to go 1.21
([#&#8203;31105](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31105))
- `receiver/elasticsearch`: Remove
receiver.elasticsearch.emitNodeVersionAttr feature gate
([#&#8203;31221](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31221))
- `receiver/mongodb`: Bump receiver.mongodb.removeDatabaseAttr feature
gate to beta
([#&#8203;31212](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31212))
- `splunkenterprisereceiver`: adds additional metrics specific to
indexers
([#&#8203;30704](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30704))
- `exporter/datadogexporter`: Disable APM stats computation in Datadog
Exporter by default, `exporter.datadogexporter.DisableAPMStats` is
changed to beta
([#&#8203;31219](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31219))
- `extension/storage`: The `filestorage` and `dbstorage` extensions are
now standalone modules.
([#&#8203;31040](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31040))
If using the OpenTelemetry Collector Builder, you will need to update
your import paths to use the new module(s).
-
`github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage`
-
`github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/dbstorage`

##### 🚩 Deprecations 🚩

- `f5cloudexporter`: deprecating component that is no longer maintained
([#&#8203;31186](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31186))

##### 🚀 New components 🚀

- `confmap/secretsmanagerprovider`: Initial implementation of secrets
manager provider. Allows fetch variables from AWS Secrets Manager
([#&#8203;19368](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/19368))
- `deltatocumulative`: adds processor to convert sums (initially) from
delta to cumulative temporality
([#&#8203;30705](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30705))

##### 💡 Enhancements 💡

- `hostmetricsreceiver`: Add a new optional resource attribute
`process.cgroup` to the `process` scraper of the `hostmetrics` receiver.
([#&#8203;29282](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29282))
- `datadogexporter`: Adds support for stable JVM metrics introduced in
opentelemetry-java-instrumentation v2.0.0
([#&#8203;31194](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31194))

[https://github.com/DataDog/opentelemetry-mapping-go/pull/265](https://togithub.com/DataDog/opentelemetry-mapping-go/pull/265)/265
for details.
- `datasetexporter`: Release resources if they haven't been used for
some time.
([#&#8203;31292](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31292))
- `datadogconnector`: Add a trace config `peer_tags` on supplementary
peer tags on APM stats.
([#&#8203;31158](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31158))
- `datadogexporter`: Add a trace config `peer_tags` on supplementary
peer tags on APM stats.
([#&#8203;31158](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31158))
- `awss3exporter`: Add a marshaler that stores the body of log records
in s3.
([#&#8203;30318](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30318))
- `pkg/ottl`: Adds a new ParseCSV converter that can be used to parse
CSV strings.
([#&#8203;30921](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30921))
- `loadbalancingexporter`: Add benchmarks for Metrics and Traces
([#&#8203;30915](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30915))
- `pkg/ottl`: Add support to specify the format for a replacement string
([#&#8203;27820](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27820))
- `pkg/ottl`: Add `ParseKeyValue` function for parsing key value pairs
from a target string
([#&#8203;30998](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30998))
- `receivercreator`: Remove use of `ReportFatalError`
([#&#8203;30596](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30596))
- `processor/tail_sampling`: Add metrics that measure the number of
sampled spans and the number of spans that are dropped due to sampling
decisions.
([#&#8203;30482](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30482))
- `exporter/signalfx`: Send histograms in otlp format with new config
`send_otlp_histograms` option
([#&#8203;26298](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26298))
- `receiver/signalfx`: Accept otlp protobuf requests when content-type
is "application/x-protobuf;format=otlp"
([#&#8203;26298](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26298))
- `signalfxreceiver`: Remove deprecated use of `host.ReportFatalError`
([#&#8203;30598](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30598))
- `syslogexporter`: Adding support for sending rfc6587 octet counts in
syslog messages
([#&#8203;31013](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31013))
- `connector/datadogconnector`: Internal telemetry metrics for the
Datadog traces exporter are now reported through the Collector's
self-telemetry
([#&#8203;31179](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31179))
- These internal metrics may be dropped or change name without prior
notice
- `exporter/datadogexporter`: Internal telemetry metrics for the Datadog
traces exporter are now reported through the Collector's self-telemetry
([#&#8203;31179](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31179))
- These internal metrics may be dropped or change name without prior
notice

##### 🧰 Bug fixes 🧰

- `pkg/stanza`: Add 'allow_skip_pri_header' flag to syslog setting.
([#&#8203;30397](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30397))
Allow parsing syslog records without PRI header. Currently pri header is
beng enforced although it's not mandatory by the RFC standard. Since
influxdata/go-syslog is not maintained we had to switch to
haimrubinstein/go-syslog.

- `datadogexporter`: Fix bug where multiple resources would cause
datadogexporter to send extraneous additional stats buckets.
([#&#8203;31173](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31173))

- `extension/storage`: Ensure fsync is turned on after compaction
([#&#8203;20266](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/20266))

- `logstransformprocessor`: Fix potential panic on shutdown due to
incorrect shutdown order
([#&#8203;31139](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31139))

- `logicmonitorexporter`: Fix memory leak on shutdown
([#&#8203;31150](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31150))

- `opencensusreceiver`: Fix memory leak on shutdown
([#&#8203;31152](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31152))

- `receiver/prometheusreceiver`: prometheusreceiver fix translation of
metrics with \_created suffix
([#&#8203;30309](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30309))

- `pkg/stanza`: Fixed a bug in the keyvalue_parser where quoted values
could be split if they contained a delimited.
([#&#8203;31034](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31034))

###
[`v0.94.0`](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v0940)

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.93.0...v0.94.0)

##### 🛑 Breaking changes 🛑

- `servicegraphprocessor`: removed deprecated component, use the
servicegraph connector instead.
([#&#8203;26091](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26091))

- `datadogconnector`: Enable feature gate
`connector.datadogconnector.performance` by default.
([#&#8203;30829](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30829))
See
https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/connector/datadogconnector#feature-gate-for-performance
for caveats of this feature gate.

- `datadogprocessor`: Delete datadogprocessor which has been deprecated
since v0.84.0
([#&#8203;31026](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31026))
    Use datadogconnector instead.

- `kafkareceiver`: standardizes the default topic name for metrics and
logs receivers to the same topic name as the metrics and logs exporters
of the kafkaexporter
([#&#8203;27292](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27292))
If you are using the Kafka receiver in a logs and/or a metrics pipeline
and you are not customizing the name of the topic to read from with the
`topic` property,
the receiver will now read from `otlp_logs` or `otlp_metrics` topic
instead of `otlp_spans` topic.
To maintain previous behavior, set the `topic` property to `otlp_spans`.

- `pkg/stanza`: Entries are no longer logged during error conditions.
([#&#8203;26670](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26670))
This change is being made to ensure sensitive information contained in
logs are never logged inadvertently.
This change is a breaking change because it may change user
expectations. However, it should require
no action on the part of the user unless they are relying on logs from a
few specific error cases.

- `pkg/stanza`: Invert recombine operator's 'overwrite_with' default
value.
([#&#8203;30783](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30783))
Previously, the default value was `oldest`, meaning that the recombine
operator *should* emit the
first entry from each batch (with the recombined field). However, the
actual behavior was inverted.
This fixes the bug but also inverts the default setting so as to
effectively cancel out the bug fix
for users who were not using this setting. For users who were explicitly
setting `overwrite_with`,
    this corrects the intended behavior.

##### 🚩 Deprecations 🚩

- `skywalkingexporter`: Mark the component as unmaintained. If we don't
find new maintainers, it will be deprecated and removed.
([#&#8203;23796](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/23796))

##### 🚀 New components 🚀

- `sumologicextension`: add configuration and readme
([#&#8203;29601](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29601))
- `failoverconnector`: Refactor of connector to seperate concerns
between managing indexes and core failover component
([#&#8203;20766](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/20766))
- `otelarrow`: Skeleton of new OpenTelemetry Protocol with Apache Arrow
Receiver
([#&#8203;26491](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26491))
- `processor/interval`: Adds the initial structure for a new processor
that aggregates metrics and periodically forwards the latest values to
the next component in the pipeline.
([#&#8203;29461](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29461))
As per the CONTRIBUTING.md recommendations, this PR only creates the
basic structure of the processor. The concrete implementation will come
as a separate followup PR

##### 💡 Enhancements 💡

- `receiver/journald`: add a new config option "all" that turns on full
output from journalctl, including lines that are too long.
([#&#8203;30920](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30920))

- `pkg/stanza`: Add support in a header configuration for json array
parser.
([#&#8203;30321](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30321))

- `awss3exporter`: Add the ability to export trace/log/metrics in OTLP
ProtoBuf format.
([#&#8203;30682](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30682))

- `dockerobserver`: Upgrading Docker API version default from 1.22 to
1.24
([#&#8203;30900](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30900))

- `filterprocessor`: move metrics from OpenCensus to OpenTelemetry
([#&#8203;30736](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30736))

- `groupbyattrsprocessor`: move metrics from OpenCensus to OpenTelemetry
([#&#8203;30763](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30763))

- `datadogconnector`: Add trace configs that mirror datadog exporter
([#&#8203;30787](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30787))
ignore_resources: disable certain traces based on their resource name
span_name_remappings: map of datadog span names and preferred name to
map to
span_name_as_resource_name: use OTLP span name as datadog operation name
compute_stats_by_span_kind: enables an additional stats computation
check based on span kind
    peer_tags_aggregation: enables aggregation of peer related tags
    trace_buffer: specifies the buffer size for datadog trace payloads

- `elasticsearchexporter`: Add `mapping.mode: raw` configuration option
([#&#8203;26647](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26647))
Setting `mapping.mode: raw` in the Elasticsearch exporter's
configuration
will result logs and traces being indexed into Elasticsearch with their
attribute fields directly at the root level of the document instead
inside an
`Attributes` object. Similarly, this setting will also result in traces
being
indexed into Elasticsearch with their event fields directly at the root
level
    of the document instead of inside an `Events` object.

- `loadbalancingexporter`: Optimize metrics and traces export
([#&#8203;30141](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30141))

- `gitproviderreceiver`: Add pull request metrics
([#&#8203;22028](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/22028))
    -   git.repository.pull_request.open.count
    -   git.repository.pull_request.open.time
    -   git.repository.pull_request.merged.count
    -   git.repository.pull_request.merged.time
    -   git.repository.pull_request.approved.time

- `all`: Add `component.UseLocalHostAsDefaultHost` feature gate that
changes default endpoints from 0.0.0.0 to localhost
([#&#8203;30702](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30702))
    This change affects the following components:
    -   extension/awsproxy
    -   extension/health_check
    -   extension/jaegerremotesampling
    -   internal/aws/proxy
    -   processor/remotetap
    -   receiver/awsfirehose
    -   receiver/awsxray
    -   receiver/influxdb
    -   receiver/jaeger
    -   receiver/loki
    -   receiver/opencensus
    -   receiver/sapm
    -   receiver/signalfx
    -   receiver/skywalking
    -   receiver/splunk_hec
    -   receiver/zipkin
    -   receiver/zookeeper

- `googlepubsubreceiver`: Add support for GoogleCloud logging encoding
([#&#8203;29299](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29299))

- `processor/resourcedetectionprocessor`: Detect Azure cluster name from
IMDS metadata
([#&#8203;26794](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26794))

- `processor/transform`: Add `copy_metric` function to allow duplicating
a metric
([#&#8203;30846](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30846))

##### 🧰 Bug fixes 🧰

- `basicauthextension`: Accept empty usernames.
([#&#8203;30470](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30470))
Per https://datatracker.ietf.org/doc/html/rfc2617#section-2, username
and password may be empty strings ("").
    The validation used to enforce that usernames cannot be empty.

- `servicegraphconnector`: update prefix to match the component type
([#&#8203;31023](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31023))

- `datadog/connector`: Create a separate connector in the Datadog
connector for the trace-to-metrics and trace-to-trace pipelines. It
should reduce the number of conversions we do and help with Datadog
connector performance.
([#&#8203;30828](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30828))
Simplify datadog/connector with two separate connectors in
trace-to-metrics pipeline and trace-to-trace pipeline.

- `datadogreceiver`: Set AppVersion to allow Datadog version property to
transform properly to service.version resource attribute
([#&#8203;30225](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30225))

- `cmd/opampsupervisor`: Fix memory leak on shutdown
([#&#8203;30438](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30438))

- `exporter/datadog`: Fixes a bug where empty histograms were not being
sent to the backend in the distributions mode.
([#&#8203;31019](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31019))

- `pkg/ottl`: Fix parsing of string escapes in OTTL
([#&#8203;23238](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/23238))

- `pkg/stanza`: Recombine operator should always recombine partial logs
([#&#8203;30797](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30797))
Previously, certain circumstances could result in partial logs being
emitted without any
recombiniation. This could occur when using `is_first_entry`, if the
first partial log from
a source was emitted before a matching "start of log" indicator was
found. This could also
    occur when the collector was shutting down.

- `pkg/stanza`: Fix bug where recombine operator's 'overwrite_with'
condition was inverted.
([#&#8203;30783](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30783))

- `exporter/signalfx`: Use "unknown" value for the environment
correlation calls as fallback.
([#&#8203;31052](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31052))
This fixed the APM/IM correlation in the Splunk Observability UI for the
users that send traces with no "deployment.environment" resource
attribute value set.

- `namedpipereceiver`: Fix SIGSEGV when named pipe creation fails
([#&#8203;31088](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/31088))

###
[`v0.93.0`](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v0930)

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.92.0...v0.93.0)

##### 🛑 Breaking changes 🛑

- `azuremonitorexporter`: Fixed an issue where span attributes with
double and int values were incorrectly added to the `measurements` field
in the Application Insights schema. These attributes are now correctly
placed in the `properties` field.
([#&#8203;29683](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29683))

- `vcenterreceiver`: Bump "receiver.vcenter.emitPerfMetricsWithObjects"
feature gate
([#&#8203;30615](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30615))

- `docker`: Adopt api_version as strings to correct invalid float
truncation
([#&#8203;24025](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/24025))

- `extension/filestorage`: Replace path-unsafe characters in component
names
([#&#8203;3148](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/3148))
The feature gate `extension.filestorage.replaceUnsafeCharacters` is now
enabled by default.
    See the File Storage extension's README for details.

- `postgresqlreceiver`: add schema attribute to postgresqlreceiver
([#&#8203;29559](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29559))
Adds a new resource attribute to the PSQL receiver to store the schema
of the table or index
Existing table attributes are adjusted to not include the schema, which
was inconsistently used

##### 🚩 Deprecations 🚩

- `mdatagen`: Deprecate mdatagen in preparation for its move to
opentelemetry-collector
([#&#8203;30497](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30497))

##### 🚀 New components 🚀

- `solarwindsapmsettingsextension`: added configuration and readme
([#&#8203;27668](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27668))
- `alertmanagerexporter`: Add Alertmanager exporter to builder config
([#&#8203;23569](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/23569))
- `otelarrow`: Skeleton of new OpenTelemetry Protocol with Apache Arrow
Exporter.
([#&#8203;26491](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/26491))
- `osqueryreceiver`: Adds osquery receiver skeleton
([#&#8203;30375](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30375))

##### 💡 Enhancements 💡

- `pkg/stanza`: Add a json array parser operator and an assign keys
transformer.
([#&#8203;30321](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30321))
Json array parser opreator can be used to parse a json array string
input into a list of objects. |
Assign keys transformer can be used to assigns keys from the
configuration to an input list

- `splunkhecexporter`: Batch data according to access token and index,
if present.
([#&#8203;30404](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30404))

- `awscloudwatchlogsexporter`: Add instrumentation scope in log records
exported to CloudWatch logs
([#&#8203;30316](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30316),
[#&#8203;29884](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29884))

- `cassandraexporter`: added authorization by username and password
([#&#8203;27827](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/27827))

- `lokiexporter`: migrate metrics to use OpenTelemetry
([#&#8203;30170](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30170))

- `cmd/telemetrygen`: This updates telemetrygen to create multiple child
spans per trace and enhances the tool's functionality for load testing
the remote tracing backend.
([#&#8203;30687](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30687))

- `cmd/telemetrygen`: This updates telemetrygen with TLS/mTLS options to
test the security of telemetry ingestion services and infrastructure for
secure communication. To illustrate the usage, a new example,
secure-tracing is added to examples collection.
([#&#8203;29681](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/29681))

- `k8sattributesprocessor`: Apply lifecycle tests to k8sprocessor,
change its behavior to report fatal error
([#&#8203;30387](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30387))

- `k8sclusterreceiver`: add new disabled os.description,
k8s.container_runtime.version resource attributes
([#&#8203;30342](https://togithub.com/open-telemetry/opentelemetry-collector-contrib/issues/30342))

-   `k8sclu

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any
time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Duplicate metrics on vcenter receiver in a dual cluster deployment
4 participants