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

Make DataType a separate type within Component #10069

Closed

Conversation

ankitpatel96
Copy link
Contributor

@ankitpatel96 ankitpatel96 commented May 1, 2024

Addresses #9429

There were several approaches to implementing this, but I decided to make Type an interface that continues to be embedded in ID.

I split Type into ComponentType and DataType - ComponentType represents the names of components and DataType is an enum for Traces, Logs, and Metrics.

This keeps ID with the same basic API, which eases this transition. The largest change is NewType will automatically create a DataType instead of ComponentType for the strings "traces", "logs", and "metrics". In addition, ID's zero value now contains a null value for Type - since it is now an interface.

Copy link

codecov bot commented May 1, 2024

Codecov Report

Attention: Patch coverage is 80.76923% with 5 lines in your changes are missing coverage. Please review.

Project coverage is 91.63%. Comparing base (671dcbc) to head (c6b2623).

Files Patch % Lines
component/config.go 68.75% 5 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #10069      +/-   ##
==========================================
- Coverage   91.65%   91.63%   -0.02%     
==========================================
  Files         356      356              
  Lines       16843    16855      +12     
==========================================
+ Hits        15437    15445       +8     
- Misses       1063     1067       +4     
  Partials      343      343              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

component/config.go Outdated Show resolved Hide resolved
func mustNewDataType(strType string) DataType {
return MustNewType(strType)
}
type DataType string
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer to use a struct here to disallow users to create new DataType's

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmmm... I understand that's a risk. I've tried to mitigate it with the logic in pipelines/config.go that make sure its a member of signalNameToDataType.

Do you think its still worth wrapping it in a struct?

@@ -109,18 +109,23 @@ func callValidateIfPossible(v reflect.Value) error {
return nil
}

// Type is the component type as it is used in the config.
type Type struct {
type Type interface {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In order to keep ID basically the same, we make Type an interface and implement it with ComponentType and DataType

@ankitpatel96 ankitpatel96 marked this pull request as ready for review May 3, 2024 01:31
@ankitpatel96 ankitpatel96 requested a review from a team as a code owner May 3, 2024 01:31
@ankitpatel96 ankitpatel96 requested a review from dmitryax May 3, 2024 01:31
@ankitpatel96 ankitpatel96 changed the title Datatype Type Interface Make DataType a separate type within Component May 3, 2024
component/config.go Show resolved Hide resolved
}

// ComponentType is the component type as it is used in the config.
type ComponentType struct { //revive:disable-line:exported
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is the linter directive needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The linter doesn't like it when type FooBar is in a package Foo. It thinks Foo/FooBar is annoying to pronounce. I think in this case having component/ComponentType is a good exemption.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with the linter here. The difference between component.Type and component.ComponentType is very not obvious at a glance.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

// DataTypeFromSignal takes in a string of a datatype, and returns a DataType and a bool.
// The bool is set to true if the string corresponds to a supported DataType, else it is False.
// if there is a matching DataType, it returns the matching DataType enum. If not, it returns an empty string.
func DataTypeFromSignal(s string) (DataType, bool) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would instead implement UnmarshalText for this

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good idea!

processor/memorylimiterprocessor/memorylimiter_test.go Outdated Show resolved Hide resolved
exporter/exporterhelper/common_test.go Outdated Show resolved Hide resolved
# These lines will be padded with 2 spaces and then inserted directly into the document.
# Use pipe (|) for multiline entries.
subtext: |
Creates ComponentType and DataType - ComponentType represents the names of components and DataType is an enum for Traces,Logs, and Metrics (and future signal types!).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ComponentType represents the names of components

I think we need to be very precise here not to overload the words type or name. Currently, for components we use ID to refer to type[/name]. So when you say "names of components", I think this should actually say Type of component. It may be helpful to give a couple clear examples for users as well. "The type of component, e.g. otlp, filelog"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great feedback - my use of the word name didn't account for name actually being embedded within ID

@@ -109,18 +110,26 @@ func callValidateIfPossible(v reflect.Value) error {
return nil
}

// Type is the component type as it is used in the config.
type Type struct {
// Type represents the names of receivers (otlp, filelog, etc),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here

}

// ComponentType is the component type as it is used in the config.
type ComponentType struct { //revive:disable-line:exported
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with the linter here. The difference between component.Type and component.ComponentType is very not obvious at a glance.

func mustNewDataType(strType string) DataType {
return MustNewType(strType)
}
type DataType string
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we're going to rework all of this, it would make sense to me to move data type into a different package, since things other than components can be types.

@djaglowski
Copy link
Member

This PR seems to add complexity but I'm not clear what the benefit is. The original issue suggested moving DataType (logs, metrics, traces) out of the Component package, which I agree with. IMO, if we're reworking this, the most intuitive model is to have signal.Type (logs, metrics, traces), and component.Type (otlp, filelog, etc), and component.ID which is a pair of signal.Type and component.Type.

mx-psi pushed a commit that referenced this pull request May 9, 2024
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
`newBaseExporter` needs a `DataType` - up until now we've been passing
in a `Type`. In preparation of splitting `DataType` and `Type`, pass in
a real `DataType`.

<!-- Issue number if applicable -->
#### Link to tracking issue
related to
#9429



In preparation for
#10069
@mx-psi
Copy link
Member

mx-psi commented May 9, 2024

component.ID which is a pair of signal.Type and component.Type.

A component.ID currently is a pair of component.Type and a (possibly empty) name for the component (e.g. otlp/name). We use the fact that component.DataType is also a component.Type to also use it for pipeline names (e.g. traces/sampled). Making it a pair of signal.Type and component.Type wouldn't work

mx-psi pushed a commit that referenced this pull request May 9, 2024
…#10128)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
In an upcoming PR, I change Type to be an interface. This means the zero
value of Type will be nil - which will cause this test to fail.
Initializing ID instead of relying on the zero value fixes this

<!-- Issue number if applicable -->
#### Link to tracking issue
related to
#9429


<!--Please delete paragraphs that you did not use before submitting.-->
In preparation for
#10069
@djaglowski
Copy link
Member

A component.ID currently is a pair of component.Type and a (possibly empty) name for the component (e.g. otlp/name). We use the fact that component.DataType is also a component.Type to also use it for pipeline names (e.g. traces/sampled). Making it a pair of signal.Type and component.Type wouldn't work

Ah, you're right, crossed wires. My suggested alternative was hastily written.

I am primarily concerned about the proposal to have both component.Type and component.ComponentType. This introduces a problem which is in my opinion worse than the one we're trying to fix.

@ankitpatel96
Copy link
Contributor Author

If we're going to rework all of this, it would make sense to me to move data type into a different package, since things other than components can be types.

I totally agree! I have a followup PR planned where I will move it out. Didn't make sense for me to do it all in one PR. I also plan to rename it to SignalType to better match the rest of OpenTelemetry.

I am primarily concerned about the proposal to have both component.Type and component.ComponentType. This introduces a problem which is in my opinion worse than the one we're trying to fix.

I can totally see the concern here - Type was already pretty confusing to understand. However I do think that the idea of having an interface like Type that we can fulfill with either ComponentType or DataType is a good one. Very open to other names... I'll brainstorm but honestly I don't have any good ones right now.

bogdandrutu added a commit to open-telemetry/opentelemetry-collector-contrib that referenced this pull request May 10, 2024
**Description:** <Describe what has changed.>
In open-telemetry/opentelemetry-collector#10069,
I am making Type an interface. This means the zero value of Type will be
nil - which will cause this test to fail. Initializing ID instead of
relying on the zero value fixes this

---------

Co-authored-by: Pablo Baeyens <pbaeyens31+github@gmail.com>
Co-authored-by: Bogdan Drutu <bogdandrutu@gmail.com>
@ankitpatel96
Copy link
Contributor Author

I think something I should have done in the beginning is lay out the problem and how I arrived at this solution:

If we want to make DataType its own type - we have to adjust Type somehow. As Pablo said:

A component.ID currently is a pair of component.Type and a (possibly empty) name for the component (e.g. otlp/name). We use the fact that component.DataType is also a component.Type to also use it for pipeline names (e.g. traces/sampled).

We have to somehow change either ID or Type to make this work.

I considered a few options:

  1. Creating a DataTypeID just for Pipelines - containing a DataType and string name. Other components would just use the same ID as they do today. I decided against this because its a little ugly to have both a DataTypeID and ID. I'd have to change a lot of pipeline and connector code to make this work - and there might have been API changes as well.

  2. I could make DataType and Type share an interface such that ID was a pair of ThisCommonInterface (this a placeholder name) and a string name. I decided against this because it would be an invasive change to the ID API - specifically changing the ID.Type method to return ThisCommonInterface would affect a huge amount of code.

  3. Making Type an interface. This is relatively easy to do, and not much code outside of component/ has to changed. The API stays the same and its logical to have ComponentType and DataType share an interface.

I hope this explains how I decided on approach 3. Is this approach something that everyone agrees with? If we can get to consensus on the overall approach I can finish iterating on this PR and get it to a mergeable state.

@mx-psi
Copy link
Member

mx-psi commented May 15, 2024

From the Collector stability discussion, we decided to first focus in if the approach of having an interface and two types that implement said interface (the type for component types and the type for signal types) makes sense, and decide on what names to use for said types/interfaces later.

@TylerHelmuth
Copy link
Member

This feels like a pretty confusing topic, so I'm gonna try to define a bunch of terms for use in this comment.

Currently we have the following important terms:

  • Kind: represents the kind of component, such as receiver or exporter.
  • Type: The unique identifier for a component. This value MUST be unique between Kind of components. Ex: otlphttp, transform.
  • Component ID: this is the full name of the component that user defines in their configuration. It is made up of the Type of components and optional string we call name. type[/name]. This value MUST be unique betweenKind of components. Ex: otlphttp/honeycomb, transform/k8s-events.
  • DataType: Is a special Type that represents a OTel Signal, currently traces, metrics, or logs. An important consequence of DataType being a Type is that it can be used in a Component ID. We currently use this to make named pipelines, such as traces/honeycomb.

With those terms defined, I want to poke at why we use Component ID to represent both a configured component, such as otlphttp/honeycomb, and a pipeline, such as traces/honeycomb. While they are technically both identifiers in the config, it feels to me like they server very different purposes. otlphttp/honeyomb identifies a specific component within the config and is used as the identifier for its placement in the collector's pipeline(s). traces/honeycomb is a specific pipeline and expects that Component IDs will be added to the different Kind lists (receivers, processors, exporters).

Importantly I think these two identifiers need their own naming restrictions. A Type is restricted to the regex ^[a-zA-Z][0-9a-zA-Z_]{0,62}$. That is a great regex when Type is being used to identify a component, but not when identifying a pipeline. For a pipeline DataType needs to be restricted to traces, metrics, and logs exactly. We do this with some special DataType vars, but there isn't anything in our APIs that enforces that the Component IDs used in the pipelines.Config struct be one of these vars.

I feel we'd really benefit from stopping the use of Component ID to represent both a component and a pipeline. I think Component ID and Type should refer to only components and that we should introduce a new concept of Signal and Pipeline ID. Similar to Component ID, Pipeline ID would be made up of a Signal and an optional string name. signal[/name]. Signal would be force to be traces, metrics or logs.

With this solution we have no more overlap between names and no mixing of concepts in the structs. I will admit that I only took a brief look through service/internal/graph and I'm guess it causes some havoc in there, but I think the separation of concerns will be worth it.

@djaglowski
Copy link
Member

@TylerHelmuth's analysis makes sense to me. There is commonality in the structure of type[/name] but it's simple enough that sharing any kind of dependency between the two is really just unnecessary complication.

I will admit that I only took a brief look through service/internal/graph and I'm guess it causes some havoc in there, but I think the separation of concerns will be worth it.

I could be forgetting some details but I think it may be less complicated than the changes in this PR.

@TylerHelmuth
Copy link
Member

I also think that the implementation of a Pipeline ID and Signal would not (should not?) live in component. If component exists as a definition of what a Component is in the collector, I do not think we need to "leak" pipeline concepts into the package. We should probably define Signal in a config module and Pipeline ID in service somewhere.

@ankitpatel96
Copy link
Contributor Author

ankitpatel96 commented May 17, 2024

Hey @TylerHelmuth, thanks for the comprehensive feedback!
This was definitely an option I considered - see option 1 that I mentioned in my previous comment.

I can implement this other option - there will be a bunch of changes in pipeline and connector code as well as perhaps some API changes - but this is probably the right time to make those changes! You also make a good point of the pipeline API silently accepting Types that aren't DataType - that's definitely something we can improve.

I think it'll be better if I close this PR and open a different PR for this change.

@ankitpatel96
Copy link
Contributor Author

I also think that the implementation of a Pipeline ID and Signal would not (should not?) live in component. If component exists as a definition of what a Component is in the collector, I do not think we need to "leak" pipeline concepts into the package. We should probably define Signal in a config module and Pipeline ID in service somewhere.

I agree with this! My original plan was to

  1. change the backing type for DataType
  2. Move DataType to another package
  3. Rename DataType to Signal or something like that

I will say I'm not sure Signal should live in a config module - I think that there should be a generally available enum for the different Signal's supported by the collector - and as far as I can tell DataType is the only option.

andrzej-stencel pushed a commit to andrzej-stencel/opentelemetry-collector that referenced this pull request May 27, 2024
…etry#10127)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
`newBaseExporter` needs a `DataType` - up until now we've been passing
in a `Type`. In preparation of splitting `DataType` and `Type`, pass in
a real `DataType`.

<!-- Issue number if applicable -->
#### Link to tracking issue
related to
open-telemetry#9429



In preparation for
open-telemetry#10069
andrzej-stencel pushed a commit to andrzej-stencel/opentelemetry-collector that referenced this pull request May 27, 2024
…open-telemetry#10128)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
In an upcoming PR, I change Type to be an interface. This means the zero
value of Type will be nil - which will cause this test to fail.
Initializing ID instead of relying on the zero value fixes this

<!-- Issue number if applicable -->
#### Link to tracking issue
related to
open-telemetry#9429


<!--Please delete paragraphs that you did not use before submitting.-->
In preparation for
open-telemetry#10069
@ankitpatel96
Copy link
Contributor Author

Opened #10222 as an alternative to this PR, taking into account the feedback from this thread. Please take a look!

steves-canva pushed a commit to Canva/opentelemetry-collector that referenced this pull request Jun 14, 2024
…etry#10127)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
`newBaseExporter` needs a `DataType` - up until now we've been passing
in a `Type`. In preparation of splitting `DataType` and `Type`, pass in
a real `DataType`.

<!-- Issue number if applicable -->
#### Link to tracking issue
related to
open-telemetry#9429



In preparation for
open-telemetry#10069
steves-canva pushed a commit to Canva/opentelemetry-collector that referenced this pull request Jun 14, 2024
…open-telemetry#10128)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
In an upcoming PR, I change Type to be an interface. This means the zero
value of Type will be nil - which will cause this test to fail.
Initializing ID instead of relying on the zero value fixes this

<!-- Issue number if applicable -->
#### Link to tracking issue
related to
open-telemetry#9429


<!--Please delete paragraphs that you did not use before submitting.-->
In preparation for
open-telemetry#10069
steves-canva added a commit to Canva/opentelemetry-collector-contrib that referenced this pull request Jun 14, 2024
* Update module google.golang.org/api to v0.178.0 (#32927)

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

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[google.golang.org/api](https://github.com/googleapis/google-api-go-client)
| `v0.177.0` -> `v0.178.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fapi/v0.178.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fapi/v0.178.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fapi/v0.177.0/v0.178.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fapi/v0.177.0/v0.178.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>googleapis/google-api-go-client
(google.golang.org/api)</summary>

###
[`v0.178.0`](https://github.com/googleapis/google-api-go-client/releases/tag/v0.178.0)

[Compare
Source](https://github.com/googleapis/google-api-go-client/compare/v0.177.0...v0.178.0)

##### Features

- **all:** Auto-regenerate discovery clients
([#&#8203;2561](https://github.com/googleapis/google-api-go-client/issues/2561))
([2d22d11](https://github.com/googleapis/google-api-go-client/commit/2d22d11df9643a4fad0f9e952d7a92a419370122))
- **all:** Auto-regenerate discovery clients
([#&#8203;2564](https://github.com/googleapis/google-api-go-client/issues/2564))
([b313e4b](https://github.com/googleapis/google-api-go-client/commit/b313e4bd70e601fd7a2a931f168fb1dece980e75))
- **all:** Auto-regenerate discovery clients
([#&#8203;2565](https://github.com/googleapis/google-api-go-client/issues/2565))
([0843d21](https://github.com/googleapis/google-api-go-client/commit/0843d217048b2e713c0d273b95b33afb99926a8c))
- **all:** Auto-regenerate discovery clients
([#&#8203;2567](https://github.com/googleapis/google-api-go-client/issues/2567))
([76b27f1](https://github.com/googleapis/google-api-go-client/commit/76b27f162032649ddb3cb3f06ed24c7333b3fa66))
- **all:** Auto-regenerate discovery clients
([#&#8203;2568](https://github.com/googleapis/google-api-go-client/issues/2568))
([d922e3b](https://github.com/googleapis/google-api-go-client/commit/d922e3b559ce5832941390b4f9bf91210e3f6579))
- **all:** Auto-regenerate discovery clients
([#&#8203;2570](https://github.com/googleapis/google-api-go-client/issues/2570))
([f2da582](https://github.com/googleapis/google-api-go-client/commit/f2da582c9f6aab240d44c8ebd2dcc43f5096f896))
- **all:** Auto-regenerate discovery clients
([#&#8203;2571](https://github.com/googleapis/google-api-go-client/issues/2571))
([0c976dc](https://github.com/googleapis/google-api-go-client/commit/0c976dcc8d1d653f2284ce273493e6714a6d4b2a))
- **gen:** Add internaloption.EnableNewAuthLibrary
([#&#8203;2519](https://github.com/googleapis/google-api-go-client/issues/2519))
([8c74bb8](https://github.com/googleapis/google-api-go-client/commit/8c74bb83e2bc27188154c506e63a3e0f3a042f55))
- **google-api-go-client:** Add x-goog-api-version header
([#&#8203;2563](https://github.com/googleapis/google-api-go-client/issues/2563))
([fe54ffd](https://github.com/googleapis/google-api-go-client/commit/fe54ffd92359506fca1ffd70dc647db0ab9a903c))

##### Documentation

- Update commit style in CONTRIBUTING
([#&#8203;2566](https://github.com/googleapis/google-api-go-client/issues/2566))
([5e44215](https://github.com/googleapis/google-api-go-client/commit/5e44215df618fcafd5f6c1bbe259062cddd32f1a))

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyIsInJlbm92YXRlYm90Il19-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>

* chore: add constants for prometheus translation (#32830)

**Description:**

This is a cleanup to consolidate the constants used for prometheus
translation in a single place.

---------

Co-authored-by: Curtis Robert <crobert@splunk.com>

* sumologicexporter!: change metrics behavior (#32737)

**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->

* remove suppport for carbon2 and graphite
* add support for otlp format
* do not support metadata attributes
* do not support source headers
* set otlp as default format

This PR reduces size of #32315

**Link to tracking Issue:** #31479

**Testing:**

- unit tests
- manual tests

**Documentation:**

- Readme

---------

Signed-off-by: Dominik Rosiek <drosiek@sumologic.com>
Co-authored-by: Adam Boguszewski <aboguszewski@sumologic.com>

* Update module github.com/aws/aws-sdk-go to v1.52.4 (#32928)

[![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/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) |
`v1.52.3` -> `v1.52.4` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go/v1.52.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2faws%2faws-sdk-go/v1.52.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2faws%2faws-sdk-go/v1.52.3/v1.52.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go/v1.52.3/v1.52.4?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>aws/aws-sdk-go (github.com/aws/aws-sdk-go)</summary>

###
[`v1.52.4`](https://github.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v1524-2024-05-07)

[Compare
Source](https://github.com/aws/aws-sdk-go/compare/v1.52.3...v1.52.4)

\===

##### Service Client Updates

-   `service/b2bi`: Updates service documentation
-   `service/budgets`: Updates service API and documentation
    -   This release adds tag support for budgets and budget actions.
- `service/resiliencehub`: Updates service API, documentation, and
paginators
-   `service/route53profiles`: Updates service API and documentation

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyIsInJlbm92YXRlYm90Il19-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>

* [chore][receiver/sqlserver] Update documentation for darwin and linux OS (#32878)

**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
With the enhancement in
https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/30297,
the SQL Server receiver can now run on MacOS and Linux, since it no
longer solely relies on Windows. The difference in functionality has
(hopefully) been documented clearly between the different platforms, so
the unsupported warning can be removed. I missed this in my previous
PRs.

* Update module github.com/grafana/loki/pkg/push to v0.0.0-20240507085123-772616cd8f5c (#32897)

[![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/grafana/loki/pkg/push](https://github.com/grafana/loki)
| `v0.0.0-20240506154431-a772ed705c65` ->
`v0.0.0-20240507085123-772616cd8f5c` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgrafana%2floki%2fpkg%2fpush/v0.0.0-20240507085123-772616cd8f5c?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgrafana%2floki%2fpkg%2fpush/v0.0.0-20240507085123-772616cd8f5c?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgrafana%2floki%2fpkg%2fpush/v0.0.0-20240506154431-a772ed705c65/v0.0.0-20240507085123-772616cd8f5c?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgrafana%2floki%2fpkg%2fpush/v0.0.0-20240506154431-a772ed705c65/v0.0.0-20240507085123-772616cd8f5c?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyIsInJlbm92YXRlYm90Il19-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>

* chore(deps): update dependency go to v1.22.3 (#32621)

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

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [go](https://go.dev/) ([source](https://github.com/golang/go)) |
toolchain | minor | `1.21.9` -> `1.22.3` |

---

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

---

### Release Notes

<details>
<summary>golang/go (go)</summary>

###
[`v1.22.3`](https://github.com/golang/go/compare/go1.22.2...go1.22.3)

###
[`v1.22.2`](https://github.com/golang/go/compare/go1.22.1...go1.22.2)

###
[`v1.22.1`](https://github.com/golang/go/compare/go1.22.0...go1.22.1)

###
[`v1.22.0`](https://github.com/golang/go/compare/go1.21.7...go1.22rc1)

###
[`v1.21.10`](https://github.com/golang/go/compare/go1.21.9...go1.21.10)

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMTMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjM0MC4xMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=-->

---------

Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
Co-authored-by: Juraci Paixão Kröhling <juraci@kroehling.de>

* [receiver/haproxy] Unit test timing out (#32940)

I wasn't able to reproduce the exact situation from CI, but the tests I
changed weren't completing at all here. Looking closely, it looks like
they never closed the stream, something the first test does. After
closing it, the tests start passing locally for me. While I'm not
confident this will fix the CI flaky failures, this does make the test
work locally for me.

Fixes #32877

Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>

Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>

* [connector/servicegraph] Remove use of host.GetExporters (#32902)

Fixes #31628

Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>

---------

Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>

* [exporter/loadbalancing] Improve the performance when merging traces belonging to the same backend (#32032)

**Description:** no need to reimplement that in an extremely
allocation-inefficient fashion.

I'm actually not sure why mergeTraces() and mergeMetrics() need to exist
in the first place; all the other exporters coupled with the batch
processor work just fine, not sure why loadbalancing would be special.
https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/30141
seems to imply they were implemented to improve performance, but I don't
really understand why batch processor would not have been sufficient for
that improvement originally.

benchmarks before:
```
	goos: darwin
	goarch: arm64
	pkg: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter
	BenchmarkMergeTraces_X100-8     	   50214	     23507 ns/op
	BenchmarkMergeTraces_X500-8     	   10000	    113952 ns/op
	BenchmarkMergeTraces_X1000-8    	    5208	    226062 ns/op
	BenchmarkMergeMetrics_X100-8    	   64933	     18540 ns/op
	BenchmarkMergeMetrics_X500-8    	   12885	     91418 ns/op
	BenchmarkMergeMetrics_X1000-8   	    6590	    184584 ns/op
	PASS
	ok  	github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter	9.783s
```
and after:
```
	goos: darwin
	goarch: arm64
	pkg: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter
	BenchmarkMergeTraces_X100-8     	295886529	         3.836 ns/op
	BenchmarkMergeTraces_X500-8     	309865370	         3.833 ns/op
	BenchmarkMergeTraces_X1000-8    	310739948	         3.800 ns/op
	BenchmarkMergeMetrics_X100-8    	315567813	         3.841 ns/op
	BenchmarkMergeMetrics_X500-8    	310341650	         3.849 ns/op
	BenchmarkMergeMetrics_X1000-8   	314292003	         3.830 ns/op
	PASS
	ok  	github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter	10.733s
```
**Link to tracking Issue:** n/a
**Testing:** unit tests pass & cpu time for our collectors using
loadbalancingexporter (12 replicas, total of 25k-40k spans/sec) went
from 800ms-1400ms/sec down to <40msec/sec.
**Documentation:** none

---------

Co-authored-by: Juraci Paixão Kröhling <juraci.github@kroehling.de>

* Move Aneurysm9 to emeritus status (#32943)

I have been unable to provide this position the bandwidth that it
deserves and it is time to formalize recognition of that fact.

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* [receiver/googlecloudpubsubreceiver] Fix memory leak during shutdown (#32361)

**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
This PR contains the following changes:
1. Add `Close` call to the receiver's GRPC client. Without this,
goroutines were being leaked on shutdown.
2. Change `grpc.Dial` -> `grpc.NewClient`. They offer the same
functionality, but `Dial` is being deprecated in favor of `NewClient`.
3. Enable `goleak` checks on this receiver to help ensure no goroutines
are being leaked.
4. Change a couple `Assert.Nil` calls to `Assert.NoError`. The output of
`NoError` includes the error message if hit, `Nil` simply includes the
object's address, i.e. `&status.Error{s:(*status.Status)(0xc00007e158)}`

**Link to tracking Issue:** <Issue number if applicable>
#30438

**Testing:** <Describe what testing was performed and which tests were
added.>
All existing tests are passing, as well as added goleak check.

* [chore] Add some docs to readme regarding file exporter (#32855)

Admittedly I tested this via docker-compose. I can expand to having a
full docker-compose file with telemetry gen if that's preferred.

---------

Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>

* [receiver/vcenter] Fixes Cluster Resource Attributes for Datastore Resource (#32687)

**Description:** <Describe what has changed.>
Removed the `vcenter.cluster.name` resource attribute from all Datastore
resources.

**Link to tracking Issue:** <Issue number if applicable>
#32674 

**Testing:** <Describe what testing was performed and which tests were
added.>
Unit/integration tests updated and tested. Local environment tested.

**Documentation:** <Describe the documentation added.>
New documentation generated based on the metadata.

---------

Co-authored-by: Daniel Jaglowski <jaglows3@gmail.com>
Co-authored-by: Curtis Robert <crobert@splunk.com>

* [receiver/vcenter] Adds New Packet Dropped Rate Metric for VMs (#32930)

**Description:** <Describe what has changed.>
Adds new default disabled (with Warning log for default enabled on next
release) metric `vcenter.vm.network.packet.drop.rate` for Virtual
Machines.

This metric makes use of the `droppedRx` and `droppedTx` Network
performance metrics detailed
[here](https://vdc-repo.vmware.com/vmwb-repository/dcr-public/d1902b0e-d479-46bf-8ac9-cee0e31e8ec0/07ce8dbd-db48-4261-9b8f-c6d3ad8ba472/network_counters.html)
for Virtual machines. This would use the same metric attributes as the
other VM packet metrics and closely match
`vcenter.vm.network.packet.rate` in every other way.

**Link to tracking Issue:** <Issue number if applicable>
#32929 

**Testing:** <Describe what testing was performed and which tests were
added.>
Unit/integration tests updated and tested. Local environment tested.

**Documentation:** <Describe the documentation added.>
New documentation generated based on the metadata.

* fix(deps): update module github.com/open-telemetry/otel-arrow to v0.22.0 (#32105)

[![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/otel-arrow](https://github.com/open-telemetry/otel-arrow)
| `v0.18.0` -> `v0.22.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fopen-telemetry%2fotel-arrow/v0.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fopen-telemetry%2fotel-arrow/v0.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fopen-telemetry%2fotel-arrow/v0.18.0/v0.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fopen-telemetry%2fotel-arrow/v0.18.0/v0.22.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/otel-arrow
(github.com/open-telemetry/otel-arrow)</summary>

###
[`v0.22.0`](https://github.com/open-telemetry/otel-arrow/releases/tag/v0.22.0)

[Compare
Source](https://github.com/open-telemetry/otel-arrow/compare/v0.21.0...v0.22.0)

Includes
[#&#8203;178](https://github.com/open-telemetry/otel-arrow/issues/178).

[CHANGELOG](https://github.com/open-telemetry/otel-arrow/blob/main/CHANGELOG.md)

###
[`v0.21.0`](https://github.com/open-telemetry/otel-arrow/releases/tag/v0.21.0)

[Compare
Source](https://github.com/open-telemetry/otel-arrow/compare/v0.20.0...v0.21.0)

See the
[CHANGELOG](https://github.com/open-telemetry/otel-arrow/blob/main/CHANGELOG.md).

###
[`v0.20.0`](https://github.com/open-telemetry/otel-arrow/releases/tag/v0.20.0)

[Compare
Source](https://github.com/open-telemetry/otel-arrow/compare/v0.19.0...v0.20.0)

##### What's Changed

- Backport lint fixes from OTel-Collector-Contrib PR 31996 by
[@&#8203;jmacd](https://github.com/jmacd) in
[https://github.com/open-telemetry/otel-arrow/pull/163](https://github.com/open-telemetry/otel-arrow/pull/163)
- Upgrade collector to v0.97.0 by
[@&#8203;moh-osman3](https://github.com/moh-osman3) in
[https://github.com/open-telemetry/otel-arrow/pull/164](https://github.com/open-telemetry/otel-arrow/pull/164)

**Full Changelog**:
https://github.com/open-telemetry/otel-arrow/compare/v0.19.0...v0.20.0

###
[`v0.19.0`](https://github.com/open-telemetry/otel-arrow/releases/tag/v0.19.0)

[Compare
Source](https://github.com/open-telemetry/otel-arrow/compare/v0.18.0...v0.19.0)

See
[CHANGELOG.md](https://github.com/open-telemetry/otel-arrow/blob/main/CHANGELOG.md#0190---2024-03-26)
for release notes.

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM0MC4xMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>

* [remotetapprocessor] use 'time/rate' to limit traffic (#32481)

bug: The remotetapprocessor `limit` configure doesn't work.
how to fix: use `time/rate` to limit traffic. 

Resolves
https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/32385

---------

Co-authored-by: Andrzej Stencel <astencel@sumologic.com>

* [receiver/vcenter] Switches Over Metadata Configs Waiting for v0.100.0 Release (#32913)

**Description:** <Describe what has changed.>
A number of configurations were disabled by default and had warnings
that they were going to be enabled in v0.101.0 (1 metric had a warning
that it was going to be removed).

Now that v0.100.0 has been release, I have removed all of these
warnings, and made the modifications that the warnings "warned" about. I
have also updated the tests to reflect this.

**Link to tracking Issue:** <Issue number if applicable>
#32803 #32805 #32821 #32531 #32557

**Testing:** <Describe what testing was performed and which tests were
added.>
Unit/integration tests updated and tested. Local environment tested.

**Documentation:** <Describe the documentation added.>
New documentation generated based on the metadata.

* [chore][fileconsumer] Skip flaky TestFlushPeriodEOF on windows (#32946)

See
https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/32715

This also adds a bit more debugging info for other tests which fail on
the same expectation, since it's not very obvious what was expected vs
actually found.

* [chore][CI/CD][arm] Trigger arm runs on label (#32955)

**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
I found in
https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/32948
that the label `Run ARM` has been added, but the `build-and-test-arm /
arm-unittest-matrix (pull_request) ` workflow is still skipped. This is
because the `label` action does not trigger a retry.

From
[documentation](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request):
```
if no activity types are specified, the workflow runs when a pull request is opened or reopened or when the head branch of the pull request is updated.
```

We need to specify that labelling issues should trigger the workflow to
check to see if it needs to run again. I've copied the added section
from the Windows workflow. I also added that we should only run on PRs
against `main`.

**Testing:**
This PR shows it's working as it should now. Arm test was [originally
skipped](https://github.com/open-telemetry/opentelemetry-collector-contrib/actions/runs/9009218559/job/24753003216?pr=32955),
but after adding the label, tests [have
started](https://github.com/open-telemetry/opentelemetry-collector-contrib/actions/runs/9009223570/job/24753017935?pr=32955)

* [chore][receiver/splunkenterprise] Add header to README (#32956)

**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
The readme for the Splunk Enterprise receiver does not currently have
the autogenerated header. This was missing because `mdatagen` requires
`<!-- status autogenerated section -->` and `<!-- end autogenerated
section -->` to know where to insert the generated data.

* [exporter/elasticsearch] Replace go-elasticsearch BulkIndexer with go-docappender (#32359)

**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
Replace go-elasticsearch BulkIndexer with go-docappender BulkIndexer for
Flush function in preparation for reliability fixes. Maintain similar
interface and implementation to go-elasticsearch BulkIndexer.

Further changes to expose individual `docappender.BulkIndexer` instances
are needed down the road but it is out of the scope of this PR.

Implications of this change:
- flush timeout is now enforced on client side
- oversize payload special handling is now removed
- go-docappender uses bulk request filterPath which means bulk response
is smaller, less JSON parsing and lower CPU usage
- document level retry debug logging is removed as retries are done
transparently

~~Blocked by #32585~~

**Link to tracking Issue:** <Issue number if applicable> Fixes #32378 

**Testing:** Integration test is passing

---------

Co-authored-by: Vishal Raj <vishal.raj@elastic.co>

* fix(test): Skip flaky test around forcing collector re-registration until the root cause is confirmed (#32937)

**Description:** Remove flaky test around forcing collector
re-registration until the root cause is confirmed

**Link to tracking Issue:**
https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/32785

**Testing:** Unit tests

* [chore][receiver/splunkenterprise] Splunkent wire component (#32795)

**Description:** Graduate splunkenterprise receiver component to alpha

**Link to tracking Issue:**

**Testing:** Performed `make otelcontribcol` and ran resulting binary
with the following config:
```yaml
extensions:
    basicauth/indexer:
        client_auth:
            username: admin
            password: securityFirst
    basicauth/cluster_master:
        client_auth:
            username: admin
            password: securityFirst

receivers:
    splunkenterprise:
        indexer:
            auth:
              authenticator: basicauth/indexer
            endpoint: "https://localhost:8089/"
            timeout: 45s
        cluster_master:
            auth:
              authenticator: basicauth/cluster_master
            endpoint: "https://localhost:8089/"
            timeout: 45s

exporters:
  otlp:
    endpoint: 127.0.0.1:8000

service:
  extensions: [basicauth/indexer, basicauth/cluster_master]
  pipelines:
    metrics:
      receivers: [splunkenterprise]
      exporters: [otlp]
```

and received the following output:
```
sh ~> ./otelcontribcol_linux_amd64 --config=file:config.yaml
2024-05-08T17:34:33.032-0500 info service@v0.100.0/service.go:102 Setting up own telemetry...
2024-05-08T17:34:33.032-0500 info service@v0.100.0/telemetry.go:103 Serving metrics {"address": ":8888", "level": "Normal"}
2024-05-08T17:34:33.032-0500 info receiver@v0.100.0/receiver.go:310 Development component. May change in the future. {"kind": "receiver", "name": "splunkenterprise", "data_type": "metrics"}
2024-05-08T17:34:33.033-0500 info service@v0.100.0/service.go:169 Starting otelcontribcol... {"Version": "0.100.0-dev", "NumCPU": 16}
2024-05-08T17:34:33.033-0500 info extensions/extensions.go:34 Starting extensions...
2024-05-08T17:34:33.033-0500 info extensions/extensions.go:37 Extension is starting... {"kind": "extension", "name": "basicauth/cluster_master"}
2024-05-08T17:34:33.033-0500 info extensions/extensions.go:52 Extension started. {"kind": "extension", "name": "basicauth/cluster_master"}
2024-05-08T17:34:33.033-0500 info extensions/extensions.go:37 Extension is starting... {"kind": "extension", "name": "basicauth/indexer"}
2024-05-08T17:34:33.033-0500 info extensions/extensions.go:52 Extension started. {"kind": "extension", "name": "basicauth/indexer"}
2024-05-08T17:34:33.033-0500 info service@v0.100.0/service.go:195 Everything is ready. Begin running and processing data.
```

indicating that the collector was able to successfully start with the
component configured.

**Documentation:** Documentation was updated to indicate change in
status from development to alpha

---------

Co-authored-by: Curtis Robert <crobert@splunk.com>

* [pkg/ottl] Added support for timezone in Time converter (#32479)

**Description:** 
Added support for default timezone in Time converter. 
Timezone is optional and can be specified as so: `Time("2023-05-26
12:34:56", "%Y-%m-%d %H:%M:%S", "America/New_York")`

**Link to tracking Issue:** #32140

**Testing:** Unit tests added

**Documentation:** Documentation in ottl/Readme updated

---------

Co-authored-by: Tyler Helmuth <12352919+TylerHelmuth@users.noreply.github.com>
Co-authored-by: Evan Bradley <11745660+evan-bradley@users.noreply.github.com>

* [processor/transform] Add common where clause (#31491)

**Description:**  Add global conditions  with where clause 
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->

**Link to tracking Issue:** Fixes #27830

**Testing:** Unit tests

**Documentation:** TODO 

~~The main objective is to extend the `ContextStatements` struct by
adding a new `Conditions` parameter. By introducing `Conditions` to
`ContextStatements`, we can now apply a global condition to all related
statements in `WithStatementSequenceGlobalConditions` function.~~

Thanks in advance for your feedback! If this changes will be fine, I
will add common where clause into another context `span`, `metrics`.

* Instantiate ID in pkg/stanza/adapter tests (#32966)

**Description:** <Describe what has changed.>
In https://github.com/open-telemetry/opentelemetry-collector/pull/10069,
I am making Type an interface. This means the zero value of Type will be
nil - which will cause this test to fail. Initializing ID instead of
relying on the zero value fixes this

---------

Co-authored-by: Pablo Baeyens <pbaeyens31+github@gmail.com>
Co-authored-by: Bogdan Drutu <bogdandrutu@gmail.com>

* Add connector usage to the testbed (#32881)

**Description:** Added a new component to the testbed called
DataConnectors which allows connectors to be added to the testbed
config. Also, added a sample connector correctness test using the
routingconnector as an example of the usage.

**Link to tracking Issue:** #30165 

**Testing:** Sample correctness test using routingconnector.

**Documentation:** Will update the testbed README with new addition.

---------

Co-authored-by: Bryan Aguilar <bryaag@amazon.com>

* [chore][CONTRIBUTING.md] Update adding component directions (#32957)

**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
This is two main changes:
1. Remove `goleak` section. It's now added by default by mdatagen,
there's nothing required of users here.
2. Add information and reformat the `Last steps` section of adding a new
component.
    - Move the directions to be bullet points
- Add `make generate` to make sure the component's README is updated
properly
- Explicitly point out that stability and distribution needs to be
updated in `metadata.yaml`
- Add step for adding the component to the releases repo. My
understanding is that if a component is `Alpha`, it should be included
in the release, so I've made that a noted part of the steps here. (Let
me know if we should word this in a more "optional" way.)

---------

Co-authored-by: Pablo Baeyens <pbaeyens31+github@gmail.com>

* [opampextension]: Move custom message interface to separate module (#32951)

**Description:** <Describe what has changed.>
* Breaks our the custom message interface to a separate module, so other
components can use the interface without needing to import the
`opampextension` module in its entirety.

We could temporarily alias the old methods if we'd like, but I think
that the CustomMessage stuff has been so short lived that, in addition
to the alpha status of the opampextension component, it feels justified
to just skip the deprecation process and move it to a new module.

**Link to tracking Issue:** Closes #32950

**Testing:**
* Covered by existing unit tests

**Documentation:**
* Added more documentation on usage in the new module.
* Modified opampextension docs to point to the new module.

* [chore] Add contrib confmap providers to otelcontribcol (#32916)

**Description:**

Contrib hosts two confmap providers which aren't in the local binary. We
should add them so we can test them with a live system.

cc @Aneurysm9 @driverpt @atoulme

---------

Co-authored-by: Evan Bradley <evan-bradley@users.noreply.github.com>

* chore: remote write exporter retry on 429 (#31924)

**Description:** <Describe what has changed.>

This PR adds an option to retry the remote write requests when the
receiving backend responds with 429 http status code,


<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->

**Link to tracking Issue:** #31032

**Testing:** <Describe what testing was performed and which tests were
added.>

Added tests covering the case.

**Documentation:** <Describe the documentation added.>

Not sure what's the pattern for documenting feature flags.

---------

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
Co-authored-by: Pablo Baeyens <pbaeyens31+github@gmail.com>
Co-authored-by: David Ashpole <dashpole@google.com>

* [chore] vcenterreceiver Adds Accidentally Removed Unit Test Configs/Results (#32987)

**Description:** <Describe what has changed.>
In this
[PR](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/32913),
I accidentally removed all the enabled configs from the 2nd set of unit
tests. This was incorrect as there are still 4 of them that are
currently disabled by default. This is rectifying that by adding those
back in.

**Link to tracking Issue:** <Issue number if applicable>

**Testing:** <Describe what testing was performed and which tests were
added.>
This change is for the unit tests only

**Documentation:** <Describe the documentation added.>
NA

* OpenTelemetry Protocol with Apache Arrow Exporter component (#31996)

**Description:** 

This is the same code as OTel-Arrow at
https://github.com/open-telemetry/otel-arrow/releases/tag/v0.23.0 (plus
[backported lint and test
fixes](https://github.com/open-telemetry/otel-arrow/commit/0910113d46454c80881db840e21f25485dce2499)).
Only import statements change here, to match the host repository.

**Link to tracking Issue:** #26491 

**Testing:** Test coverage is approximately 90%. 

**Documentation:** I double-checked and the existing README had only a
few updates needed.

* [exporter/sumologic] change logs behavior (#32939)

**Description:**

  * set OTLP as default format
  * add support for OTLP format
  * do not support metadata attributes
  * do not support source headers

**Link to tracking Issue:** #32315

**Testing:**

* unit tests

**Documentation:**

* inline comments
* readme

---------

Signed-off-by: Dominik Rosiek <drosiek@sumologic.com>

* Fix diff to upstream

* [chore][exporter/rabbitmq] Add missing code owner (#32984)

**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
@atoulme [volunteered to be the
sponsor](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/28891#issuecomment-1981402878)
of this component, so I believe he should be listed as a code owner.

From
[CONTRIBUTING.md](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#adding-new-components):
```
A sponsor is an approver who will be in charge of being the official reviewer of the code and become a code owner for the component.
```

**Link to tracking Issue:** <Issue number if applicable>
#28891

* [chore][receiver/sqlserver] Document Windows-only metrics (#32944)

**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
The referenced metrics are being gathered from Windows perf counters,
thus they're currently only available on Windows. With the introduction
of direct connection and other supported OSs, I think it would be good
to be clear to users about metric availability.

* [receiver/splunkehecreceiver] Align acking behavior with that of Splu… (#32996)

**Description:**
- Make the channelID header case-insensitive
- Make hecreceiver endpoints able to extract channelID from query params

**Link to tracking Issue:** https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/32995

* [receiver/vcenter] Collection Time Performance Enhancement (#32991)

**Description:** <Describe what has changed.>
There were already some improvements made as far as how networks calls
were made centered around Virtual Machines. This allowed collection
times to decrease from ~90s to ~27s in an environment with 1 Cluster, 2
Hosts, & 280 VMs.

Making similar changes for all resource types helped to further decrease
collection times. Now collection time has decreased from ~27s to <~3s
for the same environment.

Here's a general list of the changes made:
- Now makes all network calls (per datacenter) first and stores returned
data.
- Processes this data afterwards to convert to OTEL resources/metrics
(refactored to new file).
- Moves all metric recording to metrics.go to keep consistent.
- Moves all resource builder creation to resources.go to keep
consistent.
- Updates/fixes tests.

**Link to tracking Issue:** <Issue number if applicable>
#31837 Although this issue prescribes a solution to the problem
(goroutines) which ended up not being necessary

**Testing:** <Describe what testing was performed and which tests were
added.>
Unit Tests & Integration Tests Passing as well as Manual Testing in
Local Environments

**Documentation:** <Describe the documentation added.>
N/A

* [exporter/sumologic]: add sticky session (#33011)

**Description:**

Adds support for sticky session in order to better support AWS LB. This
code is moved from Sumo Logic repository

**Link to tracking Issue:**

#32315

**Testing:**

Tested manually

**Documentation:**

N/A

---------

Signed-off-by: Dominik Rosiek <drosiek@sumologic.com>

* [receiver/sqlserver] Add more metrics (#32932)

**Description:**
This change adds a query, scraper, and some more metrics for data from
the performance counter SQL server table. The query itself is mostly
taken from Telegraf's SQL server plugin. This also reuses the existing
metric `sqlserver.lock.wait.rate`, so now it will be available both from
Windows performance counters, as well as other OSs when directly
connecting to the SQL server instance.

**Naming and format feedback on new metrics would be greatly
appreciated.**

**Link to tracking Issue:** #29865

**Testing:** 
Added tests for the query itself, as well as the new scraper.

Co-authored-by: Daniel Jaglowski <jaglows3@gmail.com>

* deltatocumulative: exponential histograms (#32030)

**Description:** Implements accumulation of exponential histograms by
adding bucket-per-bucket.

- [x] Align bucket offset to the smaller one
- [x] Merge buckets by adding up each buckets count
- [x] Widen zero buckets so they are the same
- [x] Adjust scale to the lowest one

**Link to tracking Issue:**
https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/30705

**Testing:** Extensive tests have been added to the `internal/data`
package

**Documentation:** not needed

* [pkg/stanza] Add container operator parser (#32594)

**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
This PR implements the new container logs parser as it was proposed at
https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/31959.

**Link to tracking Issue:** <Issue number if applicable>
https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/31959

**Testing:** <Describe what testing was performed and which tests were
added.>

Added unit tests. Providing manual testing steps as well:

### How to test this manually

1. Using the following config file:
```yaml
receivers:
  filelog:
    start_at: end
    include_file_name: false
    include_file_path: true
    include:
    - /var/log/pods/*/*/*.log
    operators:
      - id: container-parser
        type: container
        output: m1
      - type: move
        id: m1
        from: attributes.k8s.pod.name
        to: attributes.val
      - id: some
        type: add
        field: attributes.key2.key_in
        value: val2

exporters:
  debug:
    verbosity: detailed

service:
  pipelines:
    logs:
      receivers: [filelog]
      exporters: [debug]
      processors: []
```
2. Start the collector:
`./bin/otelcontribcol_linux_amd64 --config
~/otelcol/container_parser/config.yaml`
3. Use the following bash script to create some logs:
```bash
#! /bin/bash

echo '2024-04-13T07:59:37.505201169-05:00 stdout P This is a very very long crio line th' >> /var/log/pods/kube-scheduler-kind-control-plane_49cc7c1fd3702c40b2686ea7486091d3/kube-scheduler43/1.log
echo '{"log":"INFO: log line here","stream":"stdout","time":"2029-03-30T08:31:20.545192187Z"}' >> /var/log/pods/kube-controller-kind-control-plane_49cc7c1fd3702c40b2686ea7486091d6/kube-controller/1.log
echo '2024-04-13T07:59:37.505201169-05:00 stdout F at is awesome! crio is awesome!' >> /var/log/pods/kube-scheduler-kind-control-plane_49cc7c1fd3702c40b2686ea7486091d3/kube-scheduler43/1.log
echo '2021-06-22T10:27:25.813799277Z stdout P some containerd log th' >> /var/log/pods/kube-scheduler-kind-control-plane_49cc7c1fd3702c40b2686ea7486091d3/kube-scheduler44/1.log
echo '{"log":"INFO: another log line here","stream":"stdout","time":"2029-03-30T08:31:20.545192187Z"}' >> /var/log/pods/kube-controller-kind-control-plane_49cc7c1fd3702c40b2686ea7486091d6/kube-controller/1.log
echo '2021-06-22T10:27:25.813799277Z stdout F at is super awesome! Containerd is awesome' >> /var/log/pods/kube-scheduler-kind-control-plane_49cc7c1fd3702c40b2686ea7486091d3/kube-scheduler44/1.log



echo '2024-04-13T07:59:37.505201169-05:00 stdout F standalone crio line which is awesome!' >> /var/log/pods/kube-scheduler-kind-control-plane_49cc7c1fd3702c40b2686ea7486091d3/kube-scheduler43/1.log
echo '2021-06-22T10:27:25.813799277Z stdout F standalone containerd line that is super awesome!' >> /var/log/pods/kube-scheduler-kind-control-plane_49cc7c1fd3702c40b2686ea7486091d3/kube-scheduler44/1.log
```
4. Run the above as a bash script to verify any parallel processing.
Verify that the output is correct.


### Test manually on k8s

1. `make docker-otelcontribcol && docker tag otelcontribcol
otelcontribcol-dev:0.0.1 && kind load docker-image
otelcontribcol-dev:0.0.1`
2. Install using the following helm values file:
```yaml
mode: daemonset
presets:
  logsCollection:
    enabled: true

image:
  repository: otelcontribcol-dev
  tag: "0.0.1"
  pullPolicy: IfNotPresent

command:
  name: otelcontribcol

config:
  exporters:
    debug:
      verbosity: detailed
  receivers:
    filelog:
      start_at: end
      include_file_name: false
      include_file_path: true
      exclude:
        - /var/log/pods/default_daemonset-opentelemetry-collector*_*/opentelemetry-collector/*.log
      include:
        - /var/log/pods/*/*/*.log
      operators:
        - id: container-parser
          type: container
          output: some
        - id: some
          type: add
          field: attributes.key2.key_in
          value: val2


  service:
    pipelines:
      logs:
        receivers: [filelog]
        processors: [batch]
        exporters: [debug]
```
3. Check collector's output to verify the logs are parsed properly:
```console
2024-05-10T07:52:02.307Z	info	LogsExporter	{"kind": "exporter", "data_type": "logs", "name": "debug", "resource logs": 1, "log records": 2}
2024-05-10T07:52:02.307Z	info	ResourceLog #0
Resource SchemaURL: 
ScopeLogs #0
ScopeLogs SchemaURL: 
InstrumentationScope  
LogRecord #0
ObservedTimestamp: 2024-05-10 07:52:02.046236071 +0000 UTC
Timestamp: 2024-05-10 07:52:01.92533954 +0000 UTC
SeverityText: 
SeverityNumber: Unspecified(0)
Body: Str(otel logs at 07:52:01)
Attributes:
     -> log: Map({"iostream":"stdout"})
     -> time: Str(2024-05-10T07:52:01.92533954Z)
     -> k8s: Map({"container":{"name":"busybox","restart_count":"0"},"namespace":{"name":"default"},"pod":{"name":"daemonset-logs-6f6mn","uid":"1069e46b-03b2-4532-a71f-aaec06c0197b"}})
     -> logtag: Str(F)
     -> key2: Map({"key_in":"val2"})
     -> log.file.path: Str(/var/log/pods/default_daemonset-logs-6f6mn_1069e46b-03b2-4532-a71f-aaec06c0197b/busybox/0.log)
Trace ID: 
Span ID: 
Flags: 0
LogRecord #1
ObservedTimestamp: 2024-05-10 07:52:02.046411602 +0000 UTC
Timestamp: 2024-05-10 07:52:02.027386192 +0000 UTC
SeverityText: 
SeverityNumber: Unspecified(0)
Body: Str(otel logs at 07:52:02)
Attributes:
     -> log.file.path: Str(/var/log/pods/default_daemonset-logs-6f6mn_1069e46b-03b2-4532-a71f-aaec06c0197b/busybox/0.log)
     -> time: Str(2024-05-10T07:52:02.027386192Z)
     -> log: Map({"iostream":"stdout"})
     -> logtag: Str(F)
     -> k8s: Map({"container":{"name":"busybox","restart_count":"0"},"namespace":{"name":"default"},"pod":{"name":"daemonset-logs-6f6mn","uid":"1069e46b-03b2-4532-a71f-aaec06c0197b"}})
     -> key2: Map({"key_in":"val2"})
Trace ID: 
Span ID: 
Flags: 0
...
```


**Documentation:** <Describe the documentation added.>  Added

Signed-off-by: ChrsMark <chrismarkou92@gmail.com>

* fix(deps): update module google.golang.org/genproto/googleapis/api to v0.0.0-20240513163218-0867130af1f8 (#33039)

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

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[google.golang.org/genproto/googleapis/api](https://github.com/googleapis/go-genproto)
| `v0.0.0-20240506185236-b8a5c65736ae` ->
`v0.0.0-20240513163218-0867130af1f8` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fgenproto%2fgoogleapis%2fapi/v0.0.0-20240513163218-0867130af1f8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fgenproto%2fgoogleapis%2fapi/v0.0.0-20240513163218-0867130af1f8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fgenproto%2fgoogleapis%2fapi/v0.0.0-20240506185236-b8a5c65736ae/v0.0.0-20240513163218-0867130af1f8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fgenproto%2fgoogleapis%2fapi/v0.0.0-20240506185236-b8a5c65736ae/v0.0.0-20240513163218-0867130af1f8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM1MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>

* [chore][receiver/sqlserver] Update documentation for lock wait rate metric (#33023)

**Description:** <Describe what has changed.>
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
As a result of
https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/32932
the metric `sqlserver.lock.wait.rate` is now available on Windows, or
when directly connecting to a SQL server instance. Since this metric is
always available, it no longer needs extended documentation about
availability.

* [exporter/datadog] Actually gzip host metadata (#32992)

**Description:** We were sending a payload and setting the
`Content-Encoding: gzip` HTTP header while actually sending uncompressed
data. This has been happening for at least a couple years.

This fixes the bug by actually gzipping the payload

* [chore][pkg/stanza] Add syslog octet counting test cases with whitespace scenarios (#32832)

Resolves #31477

---------

Co-authored-by: Tiffany Hrabusa <30397949+tiffany76@users.noreply.github.com>
Co-authored-by: Curtis Robert <crobert@splunk.com>

* fix(deps): update module github.com/grafana/loki/pkg/push to v0.0.0-20240514073905-7cc9a9386a8f (#33031)

[![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/grafana/loki/pkg/push](https://github.com/grafana/loki)
| `v0.0.0-20240507085123-772616cd8f5c` ->
`v0.0.0-20240514073905-7cc9a9386a8f` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgrafana%2floki%2fpkg%2fpush/v0.0.0-20240514073905-7cc9a9386a8f?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgrafana%2floki%2fpkg%2fpush/v0.0.0-20240514073905-7cc9a9386a8f?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgrafana%2floki%2fpkg%2fpush/v0.0.0-20240507085123-772616cd8f5c/v0.0.0-20240514073905-7cc9a9386a8f?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgrafana%2floki%2fpkg%2fpush/v0.0.0-20240507085123-772616cd8f5c/v0.0.0-20240514073905-7cc9a9386a8f?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM1MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>

* fix(deps): update module github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common to v1.0.919 (#33036)

[![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/tencentcloud/tencentcloud-sdk-go/tencentcloud/common](https://github.com/tencentcloud/tencentcloud-sdk-go)
| `v1.0.914` -> `v1.0.919` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2ftencentcloud%2ftencentcloud-sdk-go%2ftencentcloud%2fcommon/v1.0.919?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2ftencentcloud%2ftencentcloud-sdk-go%2ftencentcloud%2fcommon/v1.0.919?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2ftencentcloud%2ftencentcloud-sdk-go%2ftencentcloud%2fcommon/v1.0.914/v1.0.919?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2ftencentcloud%2ftencentcloud-sdk-go%2ftencentcloud%2fcommon/v1.0.914/v1.0.919?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>tencentcloud/tencentcloud-sdk-go
(github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common)</summary>

###
[`v1.0.919`](https://github.com/tencentcloud/tencentcloud-sdk-go/blob/HEAD/CHANGELOG.md#Release-v10919)

[Compare
Source](https://github.com/tencentcloud/tencentcloud-sdk-go/compare/v1.0.918...v1.0.919)

#### 负载均衡(clb) 版本:2018-03-17

##### 第 105 次发布

发布时间:2024-05-14 01:28:52

本次发布包含了以下内容:

改善已有的文档。

修改数据结构:

-
[TargetGroupAssociation](https://cloud.tencent.com/document/api/214/30694#TargetGroupAssociation)

    -   新增成员:Weight

#### TDSQL-C MySQL 版(cynosdb) 版本:2019-01-07

##### 第 89 次发布

发布时间:2024-05-14 01:39:01

本次发布包含了以下内容:

改善已有的文档。

修改接口:

-
[CreateCLSDelivery](https://cloud.tencent.com/document/api/1003/106079)

    -   新增入参:InstanceId, CLSInfoList

    -   新增出参:TaskId

-
[DeleteCLSDelivery](https://cloud.tencent.com/document/api/1003/106078)

    -   新增入参:InstanceId, CLSTopicIds

    -   新增出参:TaskId

-
[DescribeInstanceCLSLogDelivery](https://cloud.tencent.com/document/api/1003/106077)

    -   新增入参:InstanceId

    -   新增出参:TotalCount, InstanceCLSDeliveryInfos

- [StartCLSDelivery](https://cloud.tencent.com/document/api/1003/106076)

    -   新增入参:InstanceId, CLSTopicIds

    -   新增出参:TaskId

- [StopCLSDelivery](https://cloud.tencent.com/document/api/1003/106075)

    -   新增入参:InstanceId, CLSTopicIds

    -   新增出参:TaskId

新增数据结构:

-   [CLSInfo](https://cloud.tencent.com/document/api/1003/48097#CLSInfo)
-
[InstanceCLSDeliveryInfo](https://cloud.tencent.com/document/api/1003/48097#InstanceCLSDeliveryInfo)

#### 数据安全治理中心(dsgc) 版本:2019-07-23

##### 第 11 次发布

发布时间:2024-05-14 01:46:03

本次发布包含了以下内容:

改善已有的文档。

修改数据结构:

- [AKSKLeak](https://cloud.tencent.com/document/api/1087/96844#AKSKLeak)

    -   <font color="#dd0000">**修改成员**:</font>AK, SK, URL

-
[AssetCosDetail](https://cloud.tencent.com/document/api/1087/96844#AssetCosDetail)

- <font color="#dd0000">**修改成员**:</font>Bucket, DataType, FileNums,
SensitiveFileNums, DistributionData, MatchedNum

-
[DSPACosMetaDataInfo](https://cloud.tencent.com/document/api/1087/96844#DSPACosMetaDataInfo)

    -   <font color="#dd0000">**修改成员**:</font>BindStatus, Storage

-
[DbRelationStatusItem](https://cloud.tencent.com/document/api/1087/96844#DbRelationStatusItem)

- <font color="#dd0000">**修改成员**:</font>DbName, BindStatus, ValidStatus

-
[DbTaskResult](https://cloud.tencent.com/document/api/1087/96844#DbTaskResult)

- <font color="#dd0000">**修改成员**:</font>Result, ResultDescription,
ErrDescription, ResourceId, DbName

-
[ErrDescription](https://cloud.tencent.com/document/api/1087/96844#ErrDescription)

    -   <font color="#dd0000">**修改成员**:</font>ErrCode, ErrMessage

-
[SuggestRiskLevelMatrixItem](https://cloud.tencent.com/document/api/1087/96844#SuggestRiskLevelMatrixItem)

- <font color="#dd0000">**修改成员**:</font>SensitiveLevel,
VulnerabilityLevel, RiskName, RiskScore

#### 弹性 MapReduce(emr) 版本:2019-01-03

##### 第 63 次发布

发布时间:2024-05-14 01:50:50

本次发布包含了以下内容:

改善已有的文档。

修改数据结构:

-
[ImpalaQuery](https://cloud.tencent.com/document/api/589/33981#ImpalaQuery)

- 新增成员:BackendsCount, FragmentInstancesCount, RemainingFragmentCount

#### Elasticsearch Service(es) 版本:2018-04-16

##### 第 58 次发布

发布时间:2024-05-14 01:51:30

本次发布包含了以下内容:

改善已有的文档。

修改数据结构:

-
[ServerlessSpace](https://cloud.tencent.com/document/api/845/30634#ServerlessSpace)

    -   新增成员:KibanaLanguage

#### 文字识别(ocr) 版本:2018-11-19

##### 第 135 次发布

发布时间:2024-05-14 02:17:52

本次发布包含了以下内容:

改善已有的文档。

修改接口:

-   [HKIDCardOCR](https://cloud.tencent.com/document/api/866/46919)

    -   <font color="#dd0000">**修改入参**:</font>DetectFake

    -   新增出参:WarnCardInfos

-   [MLIDCardOCR](https://cloud.tencent.com/document/api/866/37656)

    -   新增出参:WarnCardInfos

-
[RecognizeIndonesiaIDCardOCR](https://cloud.tencent.com/document/api/866/75195)

    -   新增出参:WarnCardInfos

-
[RecognizeThaiIDCardOCR](https://cloud.tencent.com/document/api/866/48475)

    -   新增出参:WarnCardInfos

#### TI-ONE 训练平台(tione) 版本:2021-11-11

##### 第 59 次发布

发布时间:2024-05-14 02:40:26

本次发布包含了以下内容:

改善已有的文档。

新增数据结构:

-
[CBSConfig](https://cloud.tencent.com/document/api/851/75051#CBSConfig)

修改数据结构:

-
[DataConfig](https://cloud.tencent.com/document/api/851/75051#DataConfig)

    -   新增成员:CBSSource

#### TI-ONE 训练平台(tione) 版本:2019-10-22

##### 第 13 次发布

发布时间:2024-05-14 02:40:07

本次发布包含了以下内容:

改善已有的文档。

<font color="#dd0000">**删除接口**:</font>

-   UpdateNotebookLifecycleScript

#### 实时音视频(trtc) 版本:2019-07-22

##### 第 73 次发布

发布时间:2024-05-14 02:45:49

本次发布包含了以下内容:

改善已有的文档。

修改数据结构:

-
[McuWaterMarkText](https://cloud.tencent.com/document/api/647/44055#McuWaterMarkText)

    -   新增成员:Font

#### 微服务引擎(tse) 版本:2020-12-07

##### 第 66 次发布

发布时间:2024-05-14 02:46:25

本次发布包含了以下内容:

改善已有的文档。

修改数据结构:

-
[CloudNativeAPIGatewayNode](https://cloud.tencent.com/document/api/1364/54942#CloudNativeAPIGatewayNode)

    -   新增成员:Weight, IsDefaultWeight

- <font color="#dd0000">**修改成员**:</font>ZoneId, Zone, GroupId,
GroupName, Status

-
[NativeGatewayServerGroup](https://cloud.tencent.com/document/api/1364/54942#NativeGatewayServerGroup)

    -   新增成员:DefaultWeight

###
[`v1.0.918`](https://github.com/tencentcloud/tencentcloud-sdk-go/blob/HEAD/CHANGELOG.md#Release-v10918)

[Compare
Source](https://github.com/tencentcloud/tencentcloud-sdk-go/compare/v1.0.917...v1.0.918)

#### TDSQL-C MySQL 版(cynosdb) 版本:2019-01-07

##### 第 88 次发布

发布时间:2024-05-13 01:14:47

本次发布包含了以下内容:

改善已有的文档。

新增接口:

-
[CreateCLSDelivery](https://cloud.tencent.com/document/api/1003/106079)
-
[DeleteCLSDelivery](https://cloud.tencent.com/document/api/1003/106078)
-
[DescribeInstanceCLSLogDelivery](https://cloud.tencent.com/document/api/1003/106077)
- [StartCLSDelivery](https://cloud.tencent.com/document/api/1003/106076)
- [StopCLSDelivery](https://cloud.tencent.com/document/api/1003/106075)

#### 腾讯电子签企业版(ess) 版本:2020-11-11

##### 第 169 次发布

发布时间:2024-05-13 01:18:00

本次发布包含了以下内容:

改善已有的文档。

新增接口:

-
[DescribeUserVerifyStatus](https://cloud.tencent.com/document/api/1323/106080)

#### 轻量应用服务器(lighthouse) 版本:2020-03-24

##### 第 60 次发布

发布时间:2024-05-13 01:21:46

本次发布包含了以下内容:

改善已有的文档。

修改数据结构:

- [Instance](https://cloud.tencent.com/document/api/1207/47576#Instance)

    -   新增成员:LatestOperationStartedTime

-
[InstancePriceDetail](https://cloud…
steves-canva added a commit to Canva/opentelemetry-collector that referenced this pull request Jun 14, 2024
* [mdatagen] use mdatagen to produce component internal telemetry (#10054)

#### Description

This updates mdatagen to generate internal telemetry for components
based on metadata.yaml configuration.

#### Testing

Added tests to mdatagen and updated the batch processor to use this as
well for synchronous counters and histogram

---------

Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>
(cherry picked from commit d73235fc9104fdc10f930c36bcf122c7a5bd162c)

* [chore] Update release schedule after release 0.100.0 (#10092)

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
(cherry picked from commit 430369240f7fc2b640cab48f233cf7d8b39796a4)

* [chore] add unit test for histogram in mdatagen (#10089)

Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>
(cherry picked from commit 7855bf2ababecdddfea82e4b1a15fd81be2d2d66)

* Update module github.com/shirou/gopsutil/v3 to v3.24.4 (#10097)

[![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/shirou/gopsutil/v3](https://github.com/shirou/gopsutil)
| `v3.24.3` -> `v3.24.4` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fshirou%2fgopsutil%2fv3/v3.24.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fshirou%2fgopsutil%2fv3/v3.24.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fshirou%2fgopsutil%2fv3/v3.24.3/v3.24.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fshirou%2fgopsutil%2fv3/v3.24.3/v3.24.4?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>shirou/gopsutil (github.com/shirou/gopsutil/v3)</summary>

###
[`v3.24.4`](https://github.com/shirou/gopsutil/releases/tag/v3.24.4)

[Compare
Source](https://github.com/shirou/gopsutil/compare/v3.24.3...v3.24.4)

<!-- Release notes generated using configuration in .github/release.yml
at v3.24.4 -->

##### What's Changed

##### net

- Update net_openbsd.go to correctly parse netstat output on obsd by
[@&#8203;amarinderca](https://github.com/amarinderca) in
[https://github.com/shirou/gopsutil/pull/1621](https://github.com/shirou/gopsutil/pull/1621)
- chore: fix some typos in comments by
[@&#8203;camcui](https://github.com/camcui) in
[https://github.com/shirou/gopsutil/pull/1624](https://github.com/shirou/gopsutil/pull/1624)

##### New Contributors

- [@&#8203;amarinderca](https://github.com/amarinderca) made their
first contribution in
[https://github.com/shirou/gopsutil/pull/1621](https://github.com/shirou/gopsutil/pull/1621)
- [@&#8203;camcui](https://github.com/camcui) made their first
contribution in
[https://github.com/shirou/gopsutil/pull/1624](https://github.com/shirou/gopsutil/pull/1624)

**Full Changelog**:
https://github.com/shirou/gopsutil/compare/v3.24.3...v3.24.4

</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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyIsInJlbm92YXRlYm90Il19-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
(cherry picked from commit 9bee0cafcae752ee3701c106ede7060ed3470a00)

* Update module go.opentelemetry.io/collector/exporter/otlphttpexporter to v0.100.0 (#10104)

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

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[go.opentelemetry.io/collector/exporter/otlphttpexporter](https://github.com/open-telemetry/opentelemetry-collector)
| `v0.99.0` -> `v0.100.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fcollector%2fexporter%2fotlphttpexporter/v0.100.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fcollector%2fexporter%2fotlphttpexporter/v0.100.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fcollector%2fexporter%2fotlphttpexporter/v0.99.0/v0.100.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fcollector%2fexporter%2fotlphttpexporter/v0.99.0/v0.100.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
(go.opentelemetry.io/collector/exporter/otlphttpexporter)</summary>

###
[`v0.100.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v170v01000)

[Compare
Source](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.99.0...v0.100.0)

##### 🛑 Breaking changes 🛑

- `service`: The `validate` sub-command no longer validates that each
pipeline's type is the same as its component types
([#&#8203;10031](https://github.com/open-telemetry/opentelemetry-collector/issues/10031))

##### 💡 Enhancements 💡

- `semconv`: Add support for v1.25.0 semantic convention
([#&#8203;10072](https://github.com/open-telemetry/opentelemetry-collector/issues/10072))
- `builder`: remove the need to go get a module to address ambiguous
import paths
([#&#8203;10015](https://github.com/open-telemetry/opentelemetry-collector/issues/10015))
- `pmetric`: Support parsing metric.metadata from OTLP JSON.
([#&#8203;10026](https://github.com/open-telemetry/opentelemetry-collector/issues/10026))

##### 🧰 Bug fixes 🧰

- `exporterhelper`: Fix enabled config option for batch sender
([#&#8203;10076](https://github.com/open-telemetry/opentelemetry-collector/issues/10076))

</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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyIsInJlbm92YXRlYm90Il19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 5605528fbdbe37662891f19a3948c1774740b9c8)

* [chore] split arm builds into their own workflow (#10113)

This is the same as was done in contrib.

Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>
(cherry picked from commit 93901cd2b767b555b46fce2bf6d72704adbb8b11)

* [chore] group more dependencies (#10112)

Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>
(cherry picked from commit 067ac03a57b1b7e85e9d76ecfbbbfe0932aa47e2)

* [chore] fix package prefix (#10116)

should not have included `https`

(cherry picked from commit f23316625776a917dbf625c5e1640330fa3d022a)

* Update All go.opentelemetry.io/collector packages to v0.100.0 (#10115)

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

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[go.opentelemetry.io/collector/exporter/otlpexporter](https://github.com/open-telemetry/opentelemetry-collector)
| `v0.99.0` -> `v0.100.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fcollector%2fexporter%2fotlpexporter/v0.100.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fcollector%2fexporter%2fotlpexporter/v0.100.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fcollector%2fexporter%2fotlpexporter/v0.99.0/v0.100.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fcollector%2fexporter%2fotlpexporter/v0.99.0/v0.100.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/collector/receiver/otlpreceiver](https://github.com/open-telemetry/opentelemetry-collector)
| `v0.99.0` -> `v0.100.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fcollector%2freceiver%2fotlpreceiver/v0.100.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/go.opentelemetry.io%2fcollector%2freceiver%2fotlpreceiver/v0.100.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/go.opentelemetry.io%2fcollector%2freceiver%2fotlpreceiver/v0.99.0/v0.100.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fcollector%2freceiver%2fotlpreceiver/v0.99.0/v0.100.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
(go.opentelemetry.io/collector/exporter/otlpexporter)</summary>

###
[`v0.100.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v170v01000)

[Compare
Source](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.99.0...v0.100.0)

##### 🛑 Breaking changes 🛑

- `service`: The `validate` sub-command no longer validates that each
pipeline's type is the same as its component types
([#&#8203;10031](https://github.com/open-telemetry/opentelemetry-collector/issues/10031))

##### 💡 Enhancements 💡

- `semconv`: Add support for v1.25.0 semantic convention
([#&#8203;10072](https://github.com/open-telemetry/opentelemetry-collector/issues/10072))
- `builder`: remove the need to go get a module to address ambiguous
import paths
([#&#8203;10015](https://github.com/open-telemetry/opentelemetry-collector/issues/10015))
- `pmetric`: Support parsing metric.metadata from OTLP JSON.
([#&#8203;10026](https://github.com/open-telemetry/opentelemetry-collector/issues/10026))

##### 🧰 Bug fixes 🧰

- `exporterhelper`: Fix enabled config option for batch sender
([#&#8203;10076](https://github.com/open-telemetry/opentelemetry-collector/issues/10076))

</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 these
updates 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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyIsInJlbm92YXRlYm90Il19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 2e289b64bbed115d186c8cf944ba054dbb8e4b63)

* Update All golang.org/x packages (#10117)

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

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| golang.org/x/exp | `v0.0.0-20231110203233-9a3e6036ecaa` ->
`v0.0.0-20240506185415-9bf2ced13842` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fexp/v0.0.0-20240506185415-9bf2ced13842?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fexp/v0.0.0-20240506185415-9bf2ced13842?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fexp/v0.0.0-20231110203233-9a3e6036ecaa/v0.0.0-20240506185415-9bf2ced13842?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fexp/v0.0.0-20231110203233-9a3e6036ecaa/v0.0.0-20240506185415-9bf2ced13842?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/exp | `v0.0.0-20240119083558-1b970713d09a` ->
`v0.0.0-20240506185415-9bf2ced13842` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fexp/v0.0.0-20240506185415-9bf2ced13842?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fexp/v0.0.0-20240506185415-9bf2ced13842?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fexp/v0.0.0-20240119083558-1b970713d09a/v0.0.0-20240506185415-9bf2ced13842?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fexp/v0.0.0-20240119083558-1b970713d09a/v0.0.0-20240506185415-9bf2ced13842?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/net | `v0.24.0` -> `v0.25.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fnet/v0.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fnet/v0.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fnet/v0.24.0/v0.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fnet/v0.24.0/v0.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/sys | `v0.19.0` -> `v0.20.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsys/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fsys/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fsys/v0.19.0/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsys/v0.19.0/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/text | `v0.14.0` -> `v0.15.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftext/v0.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2ftext/v0.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2ftext/v0.14.0/v0.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftext/v0.14.0/v0.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/tools | `v0.20.0` -> `v0.21.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftools/v0.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2ftools/v0.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2ftools/v0.20.0/v0.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftools/v0.20.0/v0.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- 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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyIsInJlbm92YXRlYm90Il19-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
(cherry picked from commit 3c5bca5097da4585f3a50ebefdbb6403a0038948)

* Update module google.golang.org/protobuf to v1.34.1 (#10101)

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

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[google.golang.org/protobuf](https://github.com/protocolbuffers/protobuf-go)
| `v1.34.0` -> `v1.34.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fprotobuf/v1.34.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fprotobuf/v1.34.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fprotobuf/v1.34.0/v1.34.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fprotobuf/v1.34.0/v1.34.1?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>protocolbuffers/protobuf-go
(google.golang.org/protobuf)</summary>

###
[`v1.34.1`](https://github.com/protocolbuffers/protobuf-go/releases/tag/v1.34.1)

[Compare
Source](https://github.com/protocolbuffers/protobuf-go/compare/v1.34.0...v1.34.1)

Minor fixes for editions compliance:

- [CL/582635](https://go.dev/cl/582635): all: update to protobuf
27.0-rc1 and regenerate protos
- [CL/582755](https://go.dev/cl/582755): encoding/proto\[json|text]:
accept lower case names for group-like fields

</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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyIsInJlbm92YXRlYm90Il19-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
(cherry picked from commit c5ee52b133725ce07a0d5b2ed76f1d1462fd6633)

* Update module github.com/golangci/golangci-lint to v1.58.0 (#10102)

[![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/golangci/golangci-lint](https://github.com/golangci/golangci-lint)
| `v1.57.2` -> `v1.58.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgolangci%2fgolangci-lint/v1.58.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgolangci%2fgolangci-lint/v1.58.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgolangci%2fgolangci-lint/v1.57.2/v1.58.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgolangci%2fgolangci-lint/v1.57.2/v1.58.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>golangci/golangci-lint
(github.com/golangci/golangci-lint)</summary>

###
[`v1.58.0`](https://github.com/golangci/golangci-lint/compare/v1.57.2...v1.58.0)

[Compare
Source](https://github.com/golangci/golangci-lint/compare/v1.57.2...v1.58.0)

</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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyIsInJlbm92YXRlYm90Il19-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
(cherry picked from commit 90ddbcb666e3a415ef83120c5d828e44422b35c8)

* Update actions/setup-go action to v5.0.1 (#10096)

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

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/setup-go](https://github.com/actions/setup-go) | action |
patch | `v5.0.0` -> `v5.0.1` |

---

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

---

### Release Notes

<details>
<summary>actions/setup-go (actions/setup-go)</summary>

###
[`v5.0.1`](https://github.com/actions/setup-go/releases/tag/v5.0.1)

[Compare
Source](https://github.com/actions/setup-go/compare/v5.0.0...v5.0.1)

#### What's Changed

- Bump undici from 5.28.2 to 5.28.3 and dependencies upgrade by
[@&#8203;dependabot](https://github.com/dependabot) ,
[@&#8203;HarithaVattikuti](https://github.com/HarithaVattikuti) in
[https://github.com/actions/setup-go/pull/465](https://github.com/actions/setup-go/pull/465)
- Update documentation with latest V5 release notes by
[@&#8203;ab](https://github.com/ab) in
[https://github.com/actions/setup-go/pull/459](https://github.com/actions/setup-go/pull/459)
- Update version documentation by
[@&#8203;178inaba](https://github.com/178inaba) in
[https://github.com/actions/setup-go/pull/458](https://github.com/actions/setup-go/pull/458)
- Documentation update of `actions/setup-go` to v5 by
[@&#8203;chenrui333](https://github.com/chenrui333) in
[https://github.com/actions/setup-go/pull/449](https://github.com/actions/setup-go/pull/449)

#### New Contributors

- [@&#8203;ab](https://github.com/ab) made their first contribution in
[https://github.com/actions/setup-go/pull/459](https://github.com/actions/setup-go/pull/459)

**Full Changelog**:
https://github.com/actions/setup-go/compare/v5.0.0...v5.0.1

</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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyIsInJlbm92YXRlYm90Il19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Yang Song <songy23@users.noreply.github.com>
(cherry picked from commit 9bc32498ce5edc12222ced1db46378e26dbd3cce)

* [chore] Update go versions in CI (#10119)

(cherry picked from commit 7b63bfc9a46b692451c838bb7acd2e3692580bf4)

* Move Aneurysm9 to emeritus status (#10120)

I have been unable to provide this position the bandwidth that it
deserves and it is time to formalize recognition of that fact.

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
(cherry picked from commit c6b70a7ec794d1a296f82863032def0848f870e0)

* [chore] use mdatagen for exporterhelper metrics (#10094)

Uses the new mdatagen capabilities to generate internal telemetry
details for exporterhelper.

---------

Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>
(cherry picked from commit 5c72c5d2a035c811fc60e6608320986ec85e4110)

* [chore] use mdatagen scraperhelper (#10095)

Follows
https://github.com/open-telemetry/opentelemetry-collector/pull/10094

---------

Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>

* [chore] use mdatagen for processorhelper (#10122)

This updates the processor helper to use mdatagen for its internal
telemetry.

---------

Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>

* [chore][cmd/builder] Test for unreleased versions (#10030)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Add a test to help prevent our replace statements from going out of date
and causing situations like
https://github.com/open-telemetry/opentelemetry-collector/issues/10014.
This is also probably just a decent test case to have since it's a
syntactically valid but nonexistent version.

---------

Co-authored-by: Evan Bradley <evan-bradley@users.noreply.github.com>
Co-authored-by: Juraci Paixão Kröhling <juraci.github@kroehling.de>

* [mdatagen] Run tests when skipping goleak (#10126)

#### Description
Tests are currently not being run when `goleak` checks are skipped. This
is because `TestMain` is called in the generated file, and needs to call
`m.Run()` to properly run the package's tests. This call was missing.

#### Link to tracking issue
Fixes #10125

#### Testing
There aren't any `goleak` checks currently being skipped in core from
the generated package tests, but there are quite a few in `contrib`.
This will fix the skipped tests in `contrib`.

* [chore] use mdatagen for receiverhelper metrics (#10123)

Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>

* [mdatagen] use main as package for cmd types (#10130)

This allows us to enabled package test generation for mdatagen itself
(and for telemetrygen in contrib)

Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>

* [mdatagen] only generate telemetry as needed (#10129)

This prevent unnecessary files from being generated if metadata.yaml
doesn't include any internal telemetry for a component.

Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>

* ExporterHelper tests - switch to DataType instead of Type (#10127)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
`newBaseExporter` needs a `DataType` - up until now we've been passing
in a `Type`. In preparation of splitting `DataType` and `Type`, pass in
a real `DataType`.

<!-- Issue number if applicable -->
#### Link to tracking issue
related to
https://github.com/open-telemetry/opentelemetry-collector/issues/9429



In preparation for
https://github.com/open-telemetry/opentelemetry-collector/pull/10069

* MemoryLimiterProcessor - switch to  MustNewID instead of zero value ID (#10128)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
In an upcoming PR, I change Type to be an interface. This means the zero
value of Type will be nil - which will cause this test to fail.
Initializing ID instead of relying on the zero value fixes this

<!-- Issue number if applicable -->
#### Link to tracking issue
related to
https://github.com/open-telemetry/opentelemetry-collector/issues/9429


<!--Please delete paragraphs that you did not use before submitting.-->
In preparation for
https://github.com/open-telemetry/opentelemetry-collector/pull/10069

* [otelcol] Add a custom zapcore.Core for confmap logging (#10056)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Provides a logger to confmap that buffers logs in memory until the
primary logger can be used. Once the primary logger exists, places that
used the original logger are given the updated Core.

If an error occurs that would shut down the collector before the primary
logger could be created, the logs are written to stdout/err using a
fallback logger.

Alternative to
https://github.com/open-telemetry/opentelemetry-collector/pull/10008

I've pushed the testing I did to show how the logger successfully
updates. Before config resolution the debug log in confmap is not
printed, but afterwards it is.

test config:
```yaml
receivers:
  nop:

exporters:
  otlphttp:
    endpoint: http://0.0.0.0:4317
    headers:
      # Not set
      x-test: ${env:TEMP3}
  debug:
    # set to "detailed"
    verbosity: $TEMP

service:
  telemetry:
    logs:
      level: debug
  pipelines:
    traces:
      receivers:
        - nop
      exporters:
        - debug
```


![image](https://github.com/open-telemetry/opentelemetry-collector/assets/12352919/6a17993f-1f97-4c54-9165-5c34dd58d108)

<!-- Issue number if applicable -->
#### Link to tracking issue
Related to
https://github.com/open-telemetry/opentelemetry-collector/issues/9162
Related to
https://github.com/open-telemetry/opentelemetry-collector/issues/5615

<!--Describe what testing was performed and which tests were added.-->
#### Testing
If we like this approach I'll add tests

<!--Describe the documentation added.-->
#### Documentation

---------

Co-authored-by: Dan Jaglowski <jaglows3@gmail.com>
Co-authored-by: Pablo Baeyens <pbaeyens31+github@gmail.com>

* [confmap] Deprecate `NewWithSettings` and `New` (#10134)

#### Description

Each of these was deprecated in v0.99.0, so I think removing them in
v0.101.0 is a safe deprecation period for an API that is likely only
used by vendor distros built without ocb.

If we would like to extend the deprecation period or break this change
into PRs for each module, let me know and I'll make the necessary
changes.

* [confmap] Add logger to ConverterSettings (#10135)

#### Description
Adds a Logger to ConverterSettings to enable logging from within
converters. Also update the expand converter to log a warning if the env
var is empty or missing.

#### Link to tracking issue
Closes
https://github.com/open-telemetry/opentelemetry-collector/issues/9162
Closes
https://github.com/open-telemetry/opentelemetry-collector/issues/5615

#### Testing

Unit tests and local testing


![image](https://github.com/open-telemetry/opentelemetry-collector/assets/12352919/af5dd1e2-62f9-4272-97c7-da57166ef07e)

```yaml
receivers:
  nop:

exporters:
  otlphttp:
    endpoint: http://0.0.0.0:4317
    headers:
      # Not set
      x-test: $TEMP3
  debug:
    # set to "detailed"
    verbosity: $TEMP

service:
  telemetry:
    logs:
      level: info
  pipelines:
    traces:
      receivers:
        - nop
      exporters:
        - otlphttp
        - debug
```

#### Documentation
Added godoc comments

* [confighttp] Remove deprecated functions (#10138)

Closes
https://github.com/open-telemetry/opentelemetry-collector/issues/9807

* Update module github.com/prometheus/client_golang to v1.19.1 (#10147)

[![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/prometheus/client_golang](https://github.com/prometheus/client_golang)
| `v1.19.0` -> `v1.19.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fprometheus%2fclient_golang/v1.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fprometheus%2fclient_golang/v1.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fprometheus%2fclient_golang/v1.19.0/v1.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fprometheus%2fclient_golang/v1.19.0/v1.19.1?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>prometheus/client_golang
(github.com/prometheus/client_golang)</summary>

###
[`v1.19.1`](https://github.com/prometheus/client_golang/releases/tag/v1.19.1)

[Compare
Source](https://github.com/prometheus/client_golang/compare/v1.19.0...v1.19.1)

#### What's Changed

- Security patches for `golang.org/x/sys` and
`google.golang.org/protobuf`

#### New Contributors

- [@&#8203;lukasauk](https://github.com/lukasauk) made their first
contribution in
[https://github.com/prometheus/client_golang/pull/1494](https://github.com/prometheus/client_golang/pull/1494)

**Full Changelog**:
https://github.com/prometheus/client_golang/compare/v1.19.0...v1.19.1

</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).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>

* Update module github.com/golangci/golangci-lint to v1.58.1 (#10146)

[![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/golangci/golangci-lint](https://github.com/golangci/golangci-lint)
| `v1.58.0` -> `v1.58.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgolangci%2fgolangci-lint/v1.58.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgolangci%2fgolangci-lint/v1.58.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgolangci%2fgolangci-lint/v1.58.0/v1.58.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgolangci%2fgolangci-lint/v1.58.0/v1.58.1?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>golangci/golangci-lint
(github.com/golangci/golangci-lint)</summary>

###
[`v1.58.1`](https://github.com/golangci/golangci-lint/compare/v1.58.0...v1.58.1)

[Compare
Source](https://github.com/golangci/golangci-lint/compare/v1.58.0...v1.58.1)

</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).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>

* Update github-actions deps (#10145)

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

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://github.com/actions/checkout) | action |
patch | `v4.1.4` -> `v4.1.5` |
| [codecov/codecov-action](https://github.com/codecov/codecov-action)
| action | minor | `4.3.1` -> `4.4.0` |
| [github/codeql-action](https://github.com/github/codeql-action) |
action | patch | `v3.25.3` -> `v3.25.5` |
|
[goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action)
| action | minor | `v5.0.0` -> `v5.1.0` |
| [ossf/scorecard-action](https://github.com/ossf/scorecard-action) |
action | patch | `v2.3.1` -> `v2.3.3` |

---

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

---

### Release Notes

<details>
<summary>actions/checkout (actions/checkout)</summary>

###
[`v4.1.5`](https://github.com/actions/checkout/releases/tag/v4.1.5)

[Compare
Source](https://github.com/actions/checkout/compare/v4.1.4...v4.1.5)

#### What's Changed

- Update NPM dependencies by
[@&#8203;cory-miller](https://github.com/cory-miller) in
[https://github.com/actions/checkout/pull/1703](https://github.com/actions/checkout/pull/1703)
- Bump github/codeql-action from 2 to 3 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/actions/checkout/pull/1694](https://github.com/actions/checkout/pull/1694)
- Bump actions/setup-node from 1 to 4 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/actions/checkout/pull/1696](https://github.com/actions/checkout/pull/1696)
- Bump actions/upload-artifact from 2 to 4 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/actions/checkout/pull/1695](https://github.com/actions/checkout/pull/1695)
- README: Suggest `user.email` to be
`41898282+github-actions[bot]@&#8203;users.noreply.github.com` by
[@&#8203;cory-miller](https://github.com/cory-miller) in
[https://github.com/actions/checkout/pull/1707](https://github.com/actions/checkout/pull/1707)

**Full Changelog**:
https://github.com/actions/checkout/compare/v4.1.4...v4.1.5

</details>

<details>
<summary>codecov/codecov-action (codecov/codecov-action)</summary>

###
[`v4.4.0`](https://github.com/codecov/codecov-action/compare/v4.3.1...v4.4.0)

[Compare
Source](https://github.com/codecov/codecov-action/compare/v4.3.1...v4.4.0)

</details>

<details>
<summary>github/codeql-action (github/codeql-action)</summary>

###
[`v3.25.5`](https://github.com/github/codeql-action/compare/v3.25.4...v3.25.5)

[Compare
Source](https://github.com/github/codeql-action/compare/v3.25.4...v3.25.5)

###
[`v3.25.4`](https://github.com/github/codeql-action/compare/v3.25.3...v3.25.4)

[Compare
Source](https://github.com/github/codeql-action/compare/v3.25.3...v3.25.4)

</details>

<details>
<summary>goreleaser/goreleaser-action
(goreleaser/goreleaser-action)</summary>

###
[`v5.1.0`](https://github.com/goreleaser/goreleaser-action/releases/tag/v5.1.0)

[Compare
Source](https://github.com/goreleaser/goreleaser-action/compare/v5.0.0...v5.1.0)

#### Important

This version changes the default behavior of `latest` to `~> v1`.

The next major of this action (v6), will change this to `~> v2`, and
will be launched together with GoReleaser v2.

#### What's Changed

- docs: bump actions to latest major by
[@&#8203;crazy-max](https://github.com/crazy-max) in
[https://github.com/goreleaser/goreleaser-action/pull/435](https://github.com/goreleaser/goreleaser-action/pull/435)
- chore(deps): bump docker/bake-action from 3 to 4 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/goreleaser/goreleaser-action/pull/436](https://github.com/goreleaser/goreleaser-action/pull/436)
- chore(deps): bump codecov/codecov-action from 3 to 4 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/goreleaser/goreleaser-action/pull/437](https://github.com/goreleaser/goreleaser-action/pull/437)
- chore(deps): bump actions/setup-go from 4 to 5 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/goreleaser/goreleaser-action/pull/443](https://github.com/goreleaser/goreleaser-action/pull/443)
- chore(deps): bump actions/upload-artifact from 3 to 4 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/goreleaser/goreleaser-action/pull/444](https://github.com/goreleaser/goreleaser-action/pull/444)
- Delete .kodiak.toml by
[@&#8203;vedantmgoyal9](https://github.com/vedantmgoyal9) in
[https://github.com/goreleaser/goreleaser-action/pull/446](https://github.com/goreleaser/goreleaser-action/pull/446)
- chore(deps): bump codecov/codecov-action from 3 to 4 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/goreleaser/goreleaser-action/pull/448](https://github.com/goreleaser/goreleaser-action/pull/448)
- chore(deps): bump ip from 2.0.0 to 2.0.1 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/goreleaser/goreleaser-action/pull/450](https://github.com/goreleaser/goreleaser-action/pull/450)
- Upgrade setup-go action version in README by
[@&#8203;kishaningithub](https://github.com/kishaningithub) in
[https://github.com/goreleaser/goreleaser-action/pull/455](https://github.com/goreleaser/goreleaser-action/pull/455)
- chore(deps): bump tar from 6.1.14 to 6.2.1 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/goreleaser/goreleaser-action/pull/456](https://github.com/goreleaser/goreleaser-action/pull/456)
- chore: use corepack to install yarn by
[@&#8203;crazy-max](https://github.com/crazy-max) in
[https://github.com/goreleaser/goreleaser-action/pull/458](https://github.com/goreleaser/goreleaser-action/pull/458)
- feat: lock this major version of the action to use '~> v1' as 'latest'
by [@&#8203;caarlos0](https://github.com/caarlos0) in
[https://github.com/goreleaser/goreleaser-action/pull/461](https://github.com/goreleaser/goreleaser-action/pull/461)
- chore(deps): bump semver from 7.6.0 to 7.6.2 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/goreleaser/goreleaser-action/pull/462](https://github.com/goreleaser/goreleaser-action/pull/462)
- chore(deps): bump
[@&#8203;actions/http-client](https://github.com/actions/http-client)
from 2.2.0 to 2.2.1 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/goreleaser/goreleaser-action/pull/451](https://github.com/goreleaser/goreleaser-action/pull/451)

#### New Contributors

- [@&#8203;vedantmgoyal9](https://github.com/vedantmgoyal9) made their
first contribution in
[https://github.com/goreleaser/goreleaser-action/pull/446](https://github.com/goreleaser/goreleaser-action/pull/446)

**Full Changelog**:
https://github.com/goreleaser/goreleaser-action/compare/v5.0.0...v5.1.0

</details>

<details>
<summary>ossf/scorecard-action (ossf/scorecard-action)</summary>

###
[`v2.3.3`](https://github.com/ossf/scorecard-action/compare/v2.3.2...v2.3.3)

[Compare
Source](https://github.com/ossf/scorecard-action/compare/v2.3.2...v2.3.3)

###
[`v2.3.2`](https://github.com/ossf/scorecard-action/compare/v2.3.1...v2.3.2)

[Compare
Source](https://github.com/ossf/scorecard-action/compare/v2.3.1...v2.3.2)

</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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- 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).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: fix function name in comment (#10150)

<!--Please delete paragraphs that you did not use before submitting.-->

Signed-off-by: petercover <raowanxiang@outlook.com>

* Update module google.golang.org/genproto/googleapis/rpc to v0.0.0-20240506185236-b8a5c65736ae (#10100)

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

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[google.golang.org/genproto/googleapis/rpc](https://github.com/googleapis/go-genproto)
| `v0.0.0-20240401170217-c3f982113cda` ->
`v0.0.0-20240506185236-b8a5c65736ae` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fgenproto%2fgoogleapis%2frpc/v0.0.0-20240506185236-b8a5c65736ae?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fgenproto%2fgoogleapis%2frpc/v0.0.0-20240506185236-b8a5c65736ae?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fgenproto%2fgoogleapis%2frpc/v0.0.0-20240401170217-c3f982113cda/v0.0.0-20240506185236-b8a5c65736ae?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fgenproto%2fgoogleapis%2frpc/v0.0.0-20240401170217-c3f982113cda/v0.0.0-20240506185236-b8a5c65736ae?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyIsInJlbm92YXRlYm90Il19-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
Co-authored-by: Yang Song <songy23@users.noreply.github.com>
Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>

* fix(deps): update module google.golang.org/genproto/googleapis/rpc to v0.0.0-20240513163218-0867130af1f8 (#10153)

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

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[google.golang.org/genproto/googleapis/rpc](https://github.com/googleapis/go-genproto)
| `v0.0.0-20240506185236-b8a5c65736ae` ->
`v0.0.0-20240513163218-0867130af1f8` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fgenproto%2fgoogleapis%2frpc/v0.0.0-20240513163218-0867130af1f8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fgenproto%2fgoogleapis%2frpc/v0.0.0-20240513163218-0867130af1f8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fgenproto%2fgoogleapis%2frpc/v0.0.0-20240506185236-b8a5c65736ae/v0.0.0-20240513163218-0867130af1f8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fgenproto%2fgoogleapis%2frpc/v0.0.0-20240506185236-b8a5c65736ae/v0.0.0-20240513163218-0867130af1f8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>

* [chore] update Andrzej's affiliation (#10156)

* Add origin field name option to base fields (#10149)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

This adds an `originFieldName` option to `sliceField`,
`messageValueField` and `primitiveField`.
This option already exists for `primitiveTypedField`, `oneOfField`,
`oneOfPrimitiveValue` and `oneOfMessageValue`.

#### Link to tracking issue

This is needed for #10109.

<!--Describe what testing was performed and which tests were added.-->
#### Testing

This is unit tested.

cc @mx-psi

* [confmap] Encode string-like map keys (#10137)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Our check for determining whether a map key can be encoded as a string
is too restrictive and doesn't into account types which are essentially
aliases for the string type and don't implement `UnmarshalText`.

I encountered this while trying to call
`(confmap.Conf).Marshal(*otelcol.Config)` when the config includes a
Prometheus receiver, which includes the [LabelName
type](https://github.com/prometheus/common/blob/main/model/labels.go#L98)
that does not implement an unmarshaling method. We can't guarantee that
all types will implement this, and [Go's print formatters
check](https://github.com/golang/go/blob/master/src/fmt/print.go#L803)
whether `(reflect.Value).Kind()` equals `reflect.String`, so I think
this will be an overall more robust approach.

<!--Describe what testing was performed and which tests were added.-->
#### Testing

I added two test cases to demonstrate when we will hit this case.

---------

Co-authored-by: Pablo Baeyens <pbaeyens31+github@gmail.com>

* [otelcol] Add mapstructure tags to main Config struct (#10152)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Adds `mapstructure` tags to main `Config` struct.

cc @mackjmr

* Upgrade proto and generate profiles (#10155)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

This upgrades the proto to their latest version, and generates the
profiles.

<!-- Issue number if applicable -->
#### Link to tracking issue
Part of #10109

cc @mx-psi

* Upgrade the used otlp version in readme (#10167)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

We upgraded the proto version, so we need to upgrade it in the readme as
well.

<!-- Issue number if applicable -->
#### Link to tracking issue

*
https://github.com/open-telemetry/opentelemetry-collector/pull/10109#pullrequestreview-2058708683
* https://github.com/open-telemetry/opentelemetry-collector/pull/10155

* [chore] appease versioning warnings (#10163)

as per dependabot security recommendations

Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>

* [chore] set permissions to read explicitly (#10164)

This is as recommended by dependabot security warnings.

Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>

* [mdatagen] add support for async instruments (#10159)

This PR adds the ability to configure asynchronous (observable)
instruments via mdatagen. This requires providing a mechanism to set
options to pass in the callbacks that will be called at the time of the
observation.

---------

Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>

* [mdatagen] update mdatagen to document internal telemetry (#10170)

This allows end users to see what telemetry each component should be
emitting.

---------

Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>

* [chore] make gogenerate (#10171)

documentation needed to be regenerated

Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>

* [chore]: fix the dead link in mdatagen (#10142)

#### Description
Fixed the deadlink in mdatagen that would cause existing functionality
to not work as expected.

<!-- Issue number if applicable -->
#### Link to tracking issue
Fixes #10071

* [confmap] Remove deprecated ResolverSettings fields (#10173)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

These fields were deprecated in v0.99.0 and aren't used in any upstream
repositories.

These appear to still be used in downstream distributions. If we want to
lengthen the deprecation period for these fields, I'll open a PR to
instead set a timeline for their removal.

* Documentation improvements  - Internal Architecture Doc + Package level comments (#10068)

<!--Describe the documentation added.-->
#### Documentation
Creates an internal architecture file. In it is a diagram of the startup
flow of the collector as well as links to key files / packages. I also
added package level comments to some key packages.

I wrote some other documentation in
https://github.com/open-telemetry/opentelemetry-collector/pull/10029 but
split the PRs up.

---------

Co-authored-by: Pablo Baeyens <pbaeyens31+github@gmail.com>

* [chore] Remove unused package test file from otelcorecol (#10178)

* [chore] Remove required toolchain version from nopexporter (#10179)

* fix(deps): update module github.com/golangci/golangci-lint to v1.58.2 (#10185)

[![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/golangci/golangci-lint](https://github.com/golangci/golangci-lint)
| `v1.58.1` -> `v1.58.2` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgolangci%2fgolangci-lint/v1.58.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgolangci%2fgolangci-lint/v1.58.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgolangci%2fgolangci-lint/v1.58.1/v1.58.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgolangci%2fgolangci-lint/v1.58.1/v1.58.2?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>golangci/golangci-lint
(github.com/golangci/golangci-lint)</summary>

###
[`v1.58.2`](https://github.com/golangci/golangci-lint/compare/v1.58.1...v1.58.2)

[Compare
Source](https://github.com/golangci/golangci-lint/compare/v1.58.1...v1.58.2)

</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).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>

* [chore] Prepare release v1.8.0/v0.101.0 (#10190)

This replaces #10188, by fixing a relatively new test case that blocked
the release.

Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>

---------

Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>

* chore(deps): update github-actions deps (#10184)

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

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/ch…
cparkins pushed a commit to AmadeusITGroup/opentelemetry-collector-contrib that referenced this pull request Jul 11, 2024
**Description:** <Describe what has changed.>
In open-telemetry/opentelemetry-collector#10069,
I am making Type an interface. This means the zero value of Type will be
nil - which will cause this test to fail. Initializing ID instead of
relying on the zero value fixes this

---------

Co-authored-by: Pablo Baeyens <pbaeyens31+github@gmail.com>
Co-authored-by: Bogdan Drutu <bogdandrutu@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants