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

[tailsamplingprocessor] Support external decision cache implementations #37035

Merged

Conversation

Logiraptor
Copy link
Contributor

Description

Adding a feature. This PR adds support for external implementations of the decision cache. This allows the collector (or another service using the processor) to supply an alternative decision cache based on alternative algorithms or external services like memcached without needing to explicitly add support for all possible options in the processor.

It re-uses the existing function option pattern and only exposes two options for now: WithSampledDecisionCache and WithNonSampledDecisionCache. I've avoided exporting other options to avoid bloating the external interface without a concrete use case. The majority of changes are cleanup from the refactoring to move Option values into the Config struct instead of in a variadic parameter on newTracesProcessor.

@Logiraptor Logiraptor requested review from jpkrohling and a team as code owners January 6, 2025 19:16
@github-actions github-actions bot added the processor/tailsampling Tail sampling processor label Jan 6, 2025
@portertech
Copy link
Contributor

@Logiraptor please add a changlog entry to .chloggen/.

@jpkrohling
Copy link
Member

I'd prefer another approach to this, closer to what we have with the auth extensions, to where we plan to go with policies (#31582), and how we plan to support middlwares: via extensions.

Concretely, the config would look like this:

extensions:
    cacheimpl:
      url: ...
      max: 1_000

processors:
    tailsampling:
    cache: cacheimpl

To accomplish that, we'd need:

  • the "cache extension" interface at extension/cache (perhaps even at core instead of contrib)
  • one cache implementation (perhaps the current one we have can be copied over there)
  • change the processor to load the proper extension. Here's how we do with auth:

https://github.com/open-telemetry/opentelemetry-collector/blob/ced38e8af2ae586363e3b2a34990e906a1227ccb/config/confighttp/confighttp.go#L199-L204

https://github.com/open-telemetry/opentelemetry-collector/blob/ced38e8af2ae586363e3b2a34990e906a1227ccb/config/configauth/configauth.go#L51-L58

@Logiraptor
Copy link
Contributor Author

@jpkrohling Thanks for the feedback! I'm looking into that now, and I want to make sure I understand since it's my first time contributing to this repo. 🙏

So right now we have this interface:

// Cache is a cache using a pcommon.TraceID as the key and any generic type as the value.
type Cache[V any] interface {
	// Get returns the value for the given id, and a boolean to indicate whether the key was found.
	// If the key is not present, the zero value is returned.
	Get(id pcommon.TraceID) (V, bool)
	// Put sets the value for a given id
	Put(id pcommon.TraceID, v V)
	// Delete deletes the value for the given id
	Delete(id pcommon.TraceID)
}

When I create an extension, are you envisioning the same interface, or something more generic? I believe the key was not made generic intentionally to allow for optimizations in the implementation (using the right side of the id as a key).

If the cache should be more generic, then what about something that takes string keys and []byte values?

If the cache should not be more generic, then I'm wondering how useful it would be as an extension, since it presumable wouldn't be used by other components. I could be wrong, like I said this is my first contribution here so I'm still learning.

What do you think?

@Logiraptor
Copy link
Contributor Author

I'll also note that even though the cache is generic on the value type, it's only ever used as Cache[bool].

@jpkrohling
Copy link
Member

If the cache should not be more generic, then I'm wondering how useful it would be as an extension, since it presumable wouldn't be used by other components. I could be wrong, like I said this is my first contribution here so I'm still learning.

I think this is the case, and the name should therefore be something like TraceDecisionCache, or something like that. We can reuse it as Cache[string] in the load-balancing exporter to always route traces to the same backend even after a ring change.

@Logiraptor
Copy link
Contributor Author

Logiraptor commented Jan 8, 2025

@jpkrohling Got it, ok so working through this I think there's another issue. I don't see how I can maintain type safety through the extension system while also supporting different value types. Specifically, the CreateFunc passed to extension.NewFactory must return a concrete type of something, and since it has no access to the downstream user of this extension, there's no way for it to know which type to return. (ie Cache[bool] or Cache[string])

Similarly, when the tsp tries to get the extension, it will have to type assert the value to some concrete type. So it seems these two pieces of code must implicitly agree on a single concrete type. In that case there's no benefit to using a type parameter. I think the only real solution here is either to forgo type safety using any or to use a type which is more generally useful like []byte. In the latter case, it's then up to each component using the cache to define some codec for converting to/from []byte. This seems to be what the storage extensions do, since they have signatures like

	Get(ctx context.Context, key string) ([]byte, error)
	Set(ctx context.Context, key string, value []byte) error

So now I'm thinking that this cache extension should be a very similar interface with different semantics. e.g. a cache does not guarantee durability between Get / Set whereas a storage does.

Thoughts?

@Logiraptor
Copy link
Contributor Author

Logiraptor commented Jan 8, 2025

One way I've found which I think could work is like so

// CacheExtension is an extension that caches sampling decisions.
type CacheExtension interface {
	extension.Extension

	Cache[[]byte]
}

// Cache is a cache using a pcommon.TraceID as the key and any generic type as the value.
type Cache[V any] interface {
	// Get returns the value for the given id, and a boolean to indicate whether the key was found.
	// If the key is not present, the zero value is returned.
	Get(id pcommon.TraceID) (V, bool)
	// Put sets the value for a given id
	Put(id pcommon.TraceID, v V)
	// Delete deletes the value for the given id
	Delete(id pcommon.TraceID)
}

type Codec[V any] interface {
	// Encode encodes the value into a byte slice.
	Encode(v V) ([]byte, error)
	// Decode decodes the byte slice into a value.
	Decode(data []byte) (V, error)
}

func NewTypedCache[V any](codec Codec[V], cache Cache[[]byte]) (Cache[V])

Then the components interested in using the cache would essentially get a []byte cache from the system and then can safely convert it (with a codec) into a typed cache.

@Logiraptor
Copy link
Contributor Author

Once that codec idea is in place, it would be trivial to add an "easy button" codec like json which can work for most types via reflection.

@Logiraptor
Copy link
Contributor Author

@jpkrohling I went ahead and implemented that last idea to see how it looks: main...Logiraptor:opentelemetry-collector-contrib:logiraptor/decision-cache-extension

IMO it's OK but unfortunate that every use of the extension needs to pay an encoding cost even if only caching objects in memory. There will be a significant memory usage difference between the original implementation which is generic and this one which has to use []byte as the common denominator. Alternatively if the extension only works as a cache from traceID -> bool, then we wouldn't be able to reuse it in the load balancing exporter as you described.

What do you think I should do here?

@jpkrohling
Copy link
Member

jpkrohling commented Jan 15, 2025

must return a concrete type of something, and since it has no access to the downstream user of this extension

I didn't see that coming :-/

I have a few ideas in mind, but I need some time to try it out (and it's been very, very hard to get any coding done this week on my side).

To unblock this, I think we can get back to the original approach, keeping in mind that we want to externalize this as an extension in the near future once we have a long-term plan. What do you think?

@Logiraptor
Copy link
Contributor Author

@jpkrohling Sounds good to me. I will get the conflicts sorted out here then, and we can revisit once we have a solid plan.

@Logiraptor Logiraptor force-pushed the logiraptor/tsp-external-cache branch from 879e4cc to b766a05 Compare January 21, 2025 19:53
@github-actions github-actions bot requested a review from portertech January 21, 2025 19:53
@Logiraptor
Copy link
Contributor Author

@jpkrohling Sorry for the delay, I have fixed the conflicts here and I think it's ready for a review.

Copy link
Contributor

@atoulme atoulme left a comment

Choose a reason for hiding this comment

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

LGTM @jpkrohling ptal

# Conflicts:
#	processor/tailsamplingprocessor/processor_decisions_test.go
#	processor/tailsamplingprocessor/processor_test.go
@yvrhdn
Copy link
Contributor

yvrhdn commented Feb 3, 2025

Hi 👋🏻 I'm helping @Logiraptor with this PR. He gave me permission to push to this PR.

I have updated the PR and merged the latest changes from main.

I have also added the tail sampling processor to checkapi/allowlist.txt: checkapi is a CI check that fails if there is a public function other than NewFactory. Since the goal of this PR is to allow configuring other cache implementations, it has to export WithSampledDecisionCache and WithNonSampledDecisionCache.
It's imo pretty much unavoidable that this check fails. I considered working around it, but it results in inconsistent codestyle.

Copy link
Member

@jpkrohling jpkrohling left a comment

Choose a reason for hiding this comment

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

LGTM. This change is beneficial to downstream API consumers of the component, and I'd love to see a proposal that would make this configurable to our end-users as well.

@jpkrohling jpkrohling merged commit 876a359 into open-telemetry:main Feb 12, 2025
162 checks passed
@github-actions github-actions bot added this to the next release milestone Feb 12, 2025
wojtekzyla added a commit to wojtekzyla/opentelemetry-collector-contrib that referenced this pull request Feb 12, 2025
add changelog entry

update kafkatopicsobserver README

update branch name, CHANGELOG and delete Unmarshal function from config.go

update stability to In Development

fix CI issues

change order of imports

update go.mod

add kafkatopicsobserver codeowner

update go.mod

Update All golang.org/x packages (open-telemetry#37828)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| golang.org/x/crypto | `v0.32.0` -> `v0.33.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fcrypto/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fcrypto/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fcrypto/v0.32.0/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fcrypto/v0.32.0/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/tools | `v0.29.0` -> `v0.30.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftools/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2ftools/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2ftools/v0.29.0/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftools/v0.29.0/v0.30.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://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Yang Song <yang.song@datadoghq.com>

update tests

Update All golang.org/x packages (open-telemetry#37828)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| golang.org/x/crypto | `v0.32.0` -> `v0.33.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fcrypto/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fcrypto/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fcrypto/v0.32.0/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fcrypto/v0.32.0/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/tools | `v0.29.0` -> `v0.30.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftools/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2ftools/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2ftools/v0.29.0/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftools/v0.29.0/v0.30.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://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Yang Song <yang.song@datadoghq.com>

Update module github.com/aws/aws-sdk-go-v2/service/ec2 to v1.203.0 (open-telemetry#37863)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/aws/aws-sdk-go-v2/service/ec2](https://redirect.github.com/aws/aws-sdk-go-v2)
| `v1.202.4` -> `v1.203.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.203.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.203.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.202.4/v1.203.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.202.4/v1.203.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.

🔕 **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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

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

---------

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>

Update All golang.org/x packages (open-telemetry#37828)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| golang.org/x/crypto | `v0.32.0` -> `v0.33.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fcrypto/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fcrypto/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fcrypto/v0.32.0/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fcrypto/v0.32.0/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/tools | `v0.29.0` -> `v0.30.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftools/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2ftools/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2ftools/v0.29.0/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftools/v0.29.0/v0.30.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://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Yang Song <yang.song@datadoghq.com>

Update module github.com/aws/aws-sdk-go-v2/service/ec2 to v1.203.0 (open-telemetry#37863)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/aws/aws-sdk-go-v2/service/ec2](https://redirect.github.com/aws/aws-sdk-go-v2)
| `v1.202.4` -> `v1.203.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.203.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.203.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.202.4/v1.203.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.202.4/v1.203.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.

🔕 **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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

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

---------

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>

[tailsamplingprocessor] Support external decision cache implementations (open-telemetry#37035)

#### Description

Adding a feature. This PR adds support for external implementations of
the decision cache. This allows the collector (or another service using
the processor) to supply an alternative decision cache based on
alternative algorithms or external services like memcached without
needing to explicitly add support for all possible options in the
processor.

It re-uses the existing function option pattern and only exposes two
options for now: `WithSampledDecisionCache` and
`WithNonSampledDecisionCache`. I've avoided exporting other options to
avoid bloating the external interface without a concrete use case. The
majority of changes are cleanup from the refactoring to move `Option`
values into the `Config` struct instead of in a variadic parameter on
`newTracesProcessor`.

---------

Co-authored-by: Yuna Verheyden <yuna.verheyden@posteo.net>

[chore] fix flaky e2e test in k8sclusterreceiver (open-telemetry#37830)

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

This PR addresses the flaky E2E test in the k8sclusterreceiver. Will
need to run this multiple times to make sure this solves the issue

<!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
Fixes open-telemetry#37756

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

Adapted the assertion logic in the existing test

---------

Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>

[chore] Exclude generated modules from `make for-all` (open-telemetry#37755)

#### Context

<details>

The `Makefile` currently has two variables listing "every" module in the
repo:
- `ALL_MODS` contains everything except the non-gitted modules
`cmd/otelcontribcol` and `cmd/oteltestbedcol`;
- `NONROOT_MODS` contains everything except the root module, but
including `cmd/otel*col` if present.

These variables are mostly used through the following helpers:
- `make for-all CMD=blabla` loops through `NONROOT_MODS` + (explicitly)
the root module;
- `make for-all-target` loops through `ALL_MODS`.

The result is that the former includes `cmd/otel*col`, while the latter
does not. This discrepancy is confusing, and can cause issues.

For instance, the `make check-contrib` task in Core (surprise, this is
yet another PR indirectly related to
[core#11167](open-telemetry/opentelemetry-collector#11167))
needs to perform the following steps:
1. replace core dependencies in contrib using `make for-all`
2. run `make gotidy`, which uses `make for-all-target` (or used to until
my recent PR, but the `tidylist`-based version still excludes the
generated modules)
3. run `make generate`, which uses `make for-all`
4. run `make gotest`, which uses `make for-all-target`

The discrepancy causes `make generate` to fail because `cmd/otel*col`
was modified to replace core dependencies, but not tidied.

I don't believe there are many instances where a command needs to be run
on all modules, *including* `cmd/otel*col`, so I decided to standardize
on `ALL_MODS` in this PR.
</details>

#### Description

This PR removes the `NONROOT_MODS` variable from the `Makefile`, and
modifies `make for-all` to use `ALL_MODS` instead.

The practical consequence is that `make generate`, `make
otel-from-tree`, and `make otel-from-lib` no longer apply to the
non-gitted modules `cmd/otelcontribcol` and `cmd/oteltestbedcol`. This
matches the existing behavior of all the `make goXXX` targets, reducing
discrepancies.

I added a new module group `GENERATED_MODS`, which contains the two
problematic modules iff they are present on disk. The new `make
for-generated` target can be used along with `make for-all` to return to
the previous behavior. I don't believe there are any scripts in contrib
or core that require this change (since `cmd/otel*col` don't have
`//go:generate` statements).

I also made some miscellaneous improvements to the Makefile:
- removed a definition of `EXPORTER_MODS_0/1` that is overwritten just
below
- fix the addition of the root module in `ALL_MODS` (currently broken
when calling from another directory with `make -C`, see [this
StackOverflow
answer](https://stackoverflow.com/questions/18136918/how-to-get-current-relative-directory-of-your-makefile))
- updated the output of `make all-groups` with missing groups and
macOS-compatible `-e` option

I can move these to another PR if it seems too messy to include these
here.

Update module github.com/vmware/govmomi to v0.48.1 (open-telemetry#37864)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/vmware/govmomi](https://redirect.github.com/vmware/govmomi)
| `v0.48.0` -> `v0.48.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fvmware%2fgovmomi/v0.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fvmware%2fgovmomi/v0.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fvmware%2fgovmomi/v0.48.0/v0.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fvmware%2fgovmomi/v0.48.0/v0.48.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>vmware/govmomi (github.com/vmware/govmomi)</summary>

###
[`v0.48.1`](https://redirect.github.com/vmware/govmomi/releases/tag/v0.48.1)

[Compare
Source](https://redirect.github.com/vmware/govmomi/compare/v0.48.0...v0.48.1)

<a name="v0.48.1"></a>

#### [Release
v0.48.1](https://redirect.github.com/vmware/govmomi/compare/v0.48.0...v0.48.1)

> Release Date: 2025-02-11

##### 🐞 Fix

-
\[[`92adc45`](https://redirect.github.com/vmware/govmomi/commit/92adc453)]
Drop operationID soap header for unsupported endpoints

##### 💫 `govc` (CLI)

-
\[[`8df8254`](https://redirect.github.com/vmware/govmomi/commit/8df82543)]
Rewrite kms.export URL to use the host we connected to vCenter with
-
\[[`93efaa5`](https://redirect.github.com/vmware/govmomi/commit/93efaa51)]
Add storage.policy.create '-e' option to enable encryption

##### 🧹 Chore

-
\[[`cc1a61b`](https://redirect.github.com/vmware/govmomi/commit/cc1a61ba)]
Update version.go for v0.48.1

##### ⚠️ BREAKING

##### 📖 Commits

-
\[[`cc1a61b`](https://redirect.github.com/vmware/govmomi/commit/cc1a61ba)]
chore: Update version.go for v0.48.1
-
\[[`f642f66`](https://redirect.github.com/vmware/govmomi/commit/f642f66f)]
build(deps): bump golang.org/x/text from 0.21.0 to 0.22.0
-
\[[`92adc45`](https://redirect.github.com/vmware/govmomi/commit/92adc453)]
fix: Drop operationID soap header for unsupported endpoints
-
\[[`8df8254`](https://redirect.github.com/vmware/govmomi/commit/8df82543)]
govc: Rewrite kms.export URL to use the host we connected to vCenter
with
-
\[[`93efaa5`](https://redirect.github.com/vmware/govmomi/commit/93efaa51)]
govc: Add storage.policy.create '-e' option to enable encryption

</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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

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

---------

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

[receiver/mysql] Integration tests for MariaDB (open-telemetry#37840)

#### Description
* Added integration tests for Mariadb `10.11.11` and `11.6.2`
* Migrated test per method, into parameterised test
#### Link to tracking issue
Fixes open-telemetry#37813

[pkg/ottl] Introduce ToSnakeCase() converter function (open-telemetry#37429)

<!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
Fixes open-telemetry#32942

---------

Signed-off-by: odubajDT <ondrej.dubaj@dynatrace.com>
Co-authored-by: Edmo Vamerlatti Costa <11836452+edmocosta@users.noreply.github.com>
Co-authored-by: Evan Bradley <11745660+evan-bradley@users.noreply.github.com>

[chore] Spelling connector + extension (open-telemetry#37135)

#### Description

Fix spelling in connector/ + extension/

open-telemetry#37128 (review)

I can split this into two distinct items, but 45 files seems like a
digestible chunk...

#### Link to tracking issue

* open-telemetry#37128

---------

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

bump minimum supported go version to 1.23 (open-telemetry#37875)

With the release of 1.24, we need to bump the tested versions.

Fixes
open-telemetry#37865
Fixes
open-telemetry#35722

---------

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

Update module github.com/google/go-github/v68 to v69 (open-telemetry#37846)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/google/go-github/v68](https://redirect.github.com/google/go-github)
| `v68.0.0` -> `v69.0.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgoogle%2fgo-github%2fv68/v69.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgoogle%2fgo-github%2fv68/v69.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgoogle%2fgo-github%2fv68/v68.0.0/v69.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgoogle%2fgo-github%2fv68/v68.0.0/v69.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

:warning: MAJOR VERSION UPDATE :warning: - please manually update this
package

---

### Release Notes

<details>
<summary>google/go-github (github.com/google/go-github/v68)</summary>

###
[`v69.0.0`](https://redirect.github.com/google/go-github/releases/tag/v69.0.0)

[Compare
Source](https://redirect.github.com/google/go-github/compare/v68.0.0...v69.0.0)

This release contains the following breaking API changes:

- feat!: Add support for enterprise rulesets
([#&open-telemetry#8203;3417](https://redirect.github.com/google/go-github/issues/3417))
BREAKING CHANGE: `Create*Ruleset` and `Update*Ruleset` now pass
`ruleset` parameter by-value instead of by-reference.
- fix!: Typo in field names in the CheckSuite struct
([#&open-telemetry#8203;3444](https://redirect.github.com/google/go-github/issues/3444))
BREAKING CHANGE: `Rerequstable`=>`Rerequestable`,
`RunsRerequstable`=>`RunsRerequestable`
- fix!: Typo in field names in the PullStats struct
([#&open-telemetry#8203;3445](https://redirect.github.com/google/go-github/issues/3445))
BREAKING CHANGE: `MergablePulls`=>`MergeablePulls`,
`UnmergablePulls`=>`UnmergeablePulls`
- refactor!: Do not capitalize error strings
([#&open-telemetry#8203;3446](https://redirect.github.com/google/go-github/issues/3446))
BREAKING CHANGE: Some error strings are slightly modified - please do
not rely on error text in general.
- fix!: Refactor the repository ruleset code
([#&open-telemetry#8203;3430](https://redirect.github.com/google/go-github/issues/3430))
    BREAKING CHANGES: The following types have been renamed:
    -   `Ruleset` -> `RepositoryRuleset`
    -   `RulesetLink` -> `RepositoryRulesetLink`
    -   `RulesetLinks` -> `RepositoryRulesetLinks`
- `RulesetRefConditionParameters` ->
`RepositoryRulesetRefConditionParameters`
- `RulesetRepositoryNamesConditionParameters` ->
`RepositoryRulesetRepositoryNamesConditionParameters`
- `RulesetRepositoryIDsConditionParameters` ->
`RepositoryRulesetRepositoryIDsConditionParameters`
    -   `RulesetRepositoryPropertyTargetParameters` -> `Repository`
- `RulesetRepositoryPropertyConditionParameters` ->
`RepositoryRulesetRepositoryPropertyConditionParameters`
- `RulesetOrganizationNamesConditionParameters` ->
`RepositoryRulesetOrganizationNamesConditionParameters`
- `RulesetOrganizationIDsConditionParameters` ->
`RepositoryRulesetOrganizationIDsConditionParameters`
    -   `RulesetConditions` -> `RepositoryRulesetConditions`
    -   `RepositoryRulesetEditedChanges` -> `RepositoryRulesetChanges`
- `RepositoryRulesetEditedSource` -> `RepositoryRulesetChangeSource`
- `RepositoryRulesetEditedSources` -> `RepositoryRulesetChangeSources`
- `RepositoryRulesetEditedConditions` ->
`RepositoryRulesetUpdatedConditions`
- `RepositoryRulesetUpdatedConditionsEdited` ->
`RepositoryRulesetUpdatedCondition`
- `RepositoryRulesetEditedRules` -> `RepositoryRulesetChangedRules`
- `RepositoryRulesetUpdatedRules` -> `RepositoryRulesetUpdatedRules`
- `RepositoryRulesetEditedRuleChanges` -> `RepositoryRulesetChangedRule`
- chore!: Add sliceofpointers custom linter
([#&open-telemetry#8203;3447](https://redirect.github.com/google/go-github/issues/3447))
BREAKING CHANGE: `ListOAuthApps` now returns `([]*OAuthApp, error)`
instead of `([]OAuthApp, error)`.
- feat!: Change User.InheritedFrom to a slice
([#&open-telemetry#8203;3460](https://redirect.github.com/google/go-github/issues/3460))
BREAKING CHANGE: `User.InheritedFrom` is changed from a `*Team` to a
`[]*Team`.

...and the following additional changes:

- Bump go-github from v67 to v68 in /scrape
([#&open-telemetry#8203;3398](https://redirect.github.com/google/go-github/issues/3398))
- build(deps): bump golang.org/x/net from 0.32.0 to 0.33.0 in /scrape
([#&open-telemetry#8203;3400](https://redirect.github.com/google/go-github/issues/3400))
- build(deps): bump codecov/codecov-action from 5.1.1 to 5.1.2
([#&open-telemetry#8203;3401](https://redirect.github.com/google/go-github/issues/3401))
- Bump golang.org/x/net to v0.33.0
([#&open-telemetry#8203;3402](https://redirect.github.com/google/go-github/issues/3402))
- Add TokenID and TokenName to PersonalAccessToken struct
([#&open-telemetry#8203;3404](https://redirect.github.com/google/go-github/issues/3404))
- Bump github.com/PuerkitoBio/goquery from 1.9.2 to 1.10.1 in /scrape
([#&open-telemetry#8203;3408](https://redirect.github.com/google/go-github/issues/3408))
- Bump Go to 1.22.10 or 1.23.4 in go.mod files
([#&open-telemetry#8203;3410](https://redirect.github.com/google/go-github/issues/3410))
- Add opt-in rate limit support on endpoints returning 302s
([#&open-telemetry#8203;3411](https://redirect.github.com/google/go-github/issues/3411))
- Update OpenAPI
([#&open-telemetry#8203;3419](https://redirect.github.com/google/go-github/issues/3419))
- build(deps): bump golang.org/x/net from 0.33.0 to 0.34.0 in /scrape
([#&open-telemetry#8203;3420](https://redirect.github.com/google/go-github/issues/3420))
- Permit toggling rate limit check by consumers
([#&open-telemetry#8203;3386](https://redirect.github.com/google/go-github/issues/3386))
- build(deps): Pin and group actions/\*
([#&open-telemetry#8203;3424](https://redirect.github.com/google/go-github/issues/3424))
- Add deprecation messages to security managers APIs
([#&open-telemetry#8203;3426](https://redirect.github.com/google/go-github/issues/3426))
- fix: Relax go directive in go.mod to 1.22.0
([#&open-telemetry#8203;3423](https://redirect.github.com/google/go-github/issues/3423))
- Enforce toolchain requirement in generate.sh
([#&open-telemetry#8203;3428](https://redirect.github.com/google/go-github/issues/3428))
- feat: Add missing notification_setting to Team
([#&open-telemetry#8203;3431](https://redirect.github.com/google/go-github/issues/3431))
- chore: Add reviewers file
([#&open-telemetry#8203;3435](https://redirect.github.com/google/go-github/issues/3435))
- gen-accessors: Update dumping of getters
([#&open-telemetry#8203;3437](https://redirect.github.com/google/go-github/issues/3437))
- chore: Fix codecov upload
([#&open-telemetry#8203;3440](https://redirect.github.com/google/go-github/issues/3440))
- chore: Spell "unmarshal" consistently with one el
([#&open-telemetry#8203;3441](https://redirect.github.com/google/go-github/issues/3441))
- fix: Typos in func parameter, vars, error, and comments
([#&open-telemetry#8203;3442](https://redirect.github.com/google/go-github/issues/3442))
- feat: Add manage_ghes endpoints introduced in 3.15
([#&open-telemetry#8203;3433](https://redirect.github.com/google/go-github/issues/3433))
- Fix minor typo
([#&open-telemetry#8203;3448](https://redirect.github.com/google/go-github/issues/3448))
- chore: Check and fix license headers
([#&open-telemetry#8203;3449](https://redirect.github.com/google/go-github/issues/3449))
- Add new fields for IssueType
([#&open-telemetry#8203;3451](https://redirect.github.com/google/go-github/issues/3451))
- ci: update golangci-lint to v1.63.4
([#&open-telemetry#8203;3452](https://redirect.github.com/google/go-github/issues/3452))
- Extend Rate and Rate Limiting with X-Ratelimit-Used and
`X-Ratelimit-Resource` headers
([#&open-telemetry#8203;3453](https://redirect.github.com/google/go-github/issues/3453))
- build(deps): bump actions/setup-go from 5.2.0 to 5.3.0 in the actions
group
([#&open-telemetry#8203;3454](https://redirect.github.com/google/go-github/issues/3454))
- build(deps): bump codecov/codecov-action from 5.1.2 to 5.3.1
([#&open-telemetry#8203;3455](https://redirect.github.com/google/go-github/issues/3455))
- docs: Add clarifications for mergeable field in pull requests
([#&open-telemetry#8203;3396](https://redirect.github.com/google/go-github/issues/3396))
- build(deps): bump github.com/alecthomas/kong from 1.6.0 to 1.7.0 in
/tools
([#&open-telemetry#8203;3458](https://redirect.github.com/google/go-github/issues/3458))
- Bump version of go-github to v69.0.0
([#&open-telemetry#8203;3463](https://redirect.github.com/google/go-github/issues/3463))

</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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

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

---------

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

[encoding/googlecloudlogentry] Scaffold new component (open-telemetry#37531) (open-telemetry#37789)

#### Description
As described in `CONTRIBUTING` this is the scaffolded components for a
new encoding extension.

This encoder is currently part of the `googlecloudpubsubreceiver`. The
main goal to extract this so that this component can have an alpha
stability (due to the changing semantic conventions), and the
`googlepubsubreceiver` can reach GA stability.

#### Link to tracking issue
Introduces open-telemetry#37531

#### Testing
Scaffolded component, but already includes tests for config

#### Documentation
The README includes the documentation of the new extension

[pkg/ottl] Introduce ToUpperCase() converter function (open-telemetry#37427)

<!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
Fixes open-telemetry#32942

---------

Signed-off-by: odubajDT <ondrej.dubaj@dynatrace.com>
Co-authored-by: Edmo Vamerlatti Costa <11836452+edmocosta@users.noreply.github.com>
Co-authored-by: Evan Bradley <11745660+evan-bradley@users.noreply.github.com>

[chore] add myself as codeowner (open-telemetry#37866)

cc @evan-bradley

---------

Signed-off-by: zirain <zirain2009@gmail.com>

[chore] remove unused variable (open-telemetry#37878)

This was left behind when we moved to lychee

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

go tidy
wojtekzyla added a commit to wojtekzyla/opentelemetry-collector-contrib that referenced this pull request Feb 13, 2025
add changelog entry

update kafkatopicsobserver README

update branch name, CHANGELOG and delete Unmarshal function from config.go

update stability to In Development

fix CI issues

change order of imports

update go.mod

add kafkatopicsobserver codeowner

update go.mod

Update All golang.org/x packages (open-telemetry#37828)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| golang.org/x/crypto | `v0.32.0` -> `v0.33.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fcrypto/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fcrypto/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fcrypto/v0.32.0/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fcrypto/v0.32.0/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/tools | `v0.29.0` -> `v0.30.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftools/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2ftools/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2ftools/v0.29.0/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftools/v0.29.0/v0.30.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://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Yang Song <yang.song@datadoghq.com>

update tests

Update All golang.org/x packages (open-telemetry#37828)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| golang.org/x/crypto | `v0.32.0` -> `v0.33.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fcrypto/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fcrypto/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fcrypto/v0.32.0/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fcrypto/v0.32.0/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/tools | `v0.29.0` -> `v0.30.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftools/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2ftools/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2ftools/v0.29.0/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftools/v0.29.0/v0.30.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://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Yang Song <yang.song@datadoghq.com>

Update module github.com/aws/aws-sdk-go-v2/service/ec2 to v1.203.0 (open-telemetry#37863)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/aws/aws-sdk-go-v2/service/ec2](https://redirect.github.com/aws/aws-sdk-go-v2)
| `v1.202.4` -> `v1.203.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.203.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.203.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.202.4/v1.203.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.202.4/v1.203.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.

🔕 **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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

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

---------

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>

Update All golang.org/x packages (open-telemetry#37828)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| golang.org/x/crypto | `v0.32.0` -> `v0.33.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fcrypto/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fcrypto/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fcrypto/v0.32.0/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fcrypto/v0.32.0/v0.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/tools | `v0.29.0` -> `v0.30.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftools/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2ftools/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2ftools/v0.29.0/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftools/v0.29.0/v0.30.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://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Yang Song <yang.song@datadoghq.com>

Update module github.com/aws/aws-sdk-go-v2/service/ec2 to v1.203.0 (open-telemetry#37863)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/aws/aws-sdk-go-v2/service/ec2](https://redirect.github.com/aws/aws-sdk-go-v2)
| `v1.202.4` -> `v1.203.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.203.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.203.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.202.4/v1.203.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fec2/v1.202.4/v1.203.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.

🔕 **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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

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

---------

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>

[tailsamplingprocessor] Support external decision cache implementations (open-telemetry#37035)

#### Description

Adding a feature. This PR adds support for external implementations of
the decision cache. This allows the collector (or another service using
the processor) to supply an alternative decision cache based on
alternative algorithms or external services like memcached without
needing to explicitly add support for all possible options in the
processor.

It re-uses the existing function option pattern and only exposes two
options for now: `WithSampledDecisionCache` and
`WithNonSampledDecisionCache`. I've avoided exporting other options to
avoid bloating the external interface without a concrete use case. The
majority of changes are cleanup from the refactoring to move `Option`
values into the `Config` struct instead of in a variadic parameter on
`newTracesProcessor`.

---------

Co-authored-by: Yuna Verheyden <yuna.verheyden@posteo.net>

[chore] fix flaky e2e test in k8sclusterreceiver (open-telemetry#37830)

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

This PR addresses the flaky E2E test in the k8sclusterreceiver. Will
need to run this multiple times to make sure this solves the issue

<!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
Fixes open-telemetry#37756

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

Adapted the assertion logic in the existing test

---------

Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>

[chore] Exclude generated modules from `make for-all` (open-telemetry#37755)

#### Context

<details>

The `Makefile` currently has two variables listing "every" module in the
repo:
- `ALL_MODS` contains everything except the non-gitted modules
`cmd/otelcontribcol` and `cmd/oteltestbedcol`;
- `NONROOT_MODS` contains everything except the root module, but
including `cmd/otel*col` if present.

These variables are mostly used through the following helpers:
- `make for-all CMD=blabla` loops through `NONROOT_MODS` + (explicitly)
the root module;
- `make for-all-target` loops through `ALL_MODS`.

The result is that the former includes `cmd/otel*col`, while the latter
does not. This discrepancy is confusing, and can cause issues.

For instance, the `make check-contrib` task in Core (surprise, this is
yet another PR indirectly related to
[core#11167](open-telemetry/opentelemetry-collector#11167))
needs to perform the following steps:
1. replace core dependencies in contrib using `make for-all`
2. run `make gotidy`, which uses `make for-all-target` (or used to until
my recent PR, but the `tidylist`-based version still excludes the
generated modules)
3. run `make generate`, which uses `make for-all`
4. run `make gotest`, which uses `make for-all-target`

The discrepancy causes `make generate` to fail because `cmd/otel*col`
was modified to replace core dependencies, but not tidied.

I don't believe there are many instances where a command needs to be run
on all modules, *including* `cmd/otel*col`, so I decided to standardize
on `ALL_MODS` in this PR.
</details>

#### Description

This PR removes the `NONROOT_MODS` variable from the `Makefile`, and
modifies `make for-all` to use `ALL_MODS` instead.

The practical consequence is that `make generate`, `make
otel-from-tree`, and `make otel-from-lib` no longer apply to the
non-gitted modules `cmd/otelcontribcol` and `cmd/oteltestbedcol`. This
matches the existing behavior of all the `make goXXX` targets, reducing
discrepancies.

I added a new module group `GENERATED_MODS`, which contains the two
problematic modules iff they are present on disk. The new `make
for-generated` target can be used along with `make for-all` to return to
the previous behavior. I don't believe there are any scripts in contrib
or core that require this change (since `cmd/otel*col` don't have
`//go:generate` statements).

I also made some miscellaneous improvements to the Makefile:
- removed a definition of `EXPORTER_MODS_0/1` that is overwritten just
below
- fix the addition of the root module in `ALL_MODS` (currently broken
when calling from another directory with `make -C`, see [this
StackOverflow
answer](https://stackoverflow.com/questions/18136918/how-to-get-current-relative-directory-of-your-makefile))
- updated the output of `make all-groups` with missing groups and
macOS-compatible `-e` option

I can move these to another PR if it seems too messy to include these
here.

Update module github.com/vmware/govmomi to v0.48.1 (open-telemetry#37864)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/vmware/govmomi](https://redirect.github.com/vmware/govmomi)
| `v0.48.0` -> `v0.48.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fvmware%2fgovmomi/v0.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fvmware%2fgovmomi/v0.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fvmware%2fgovmomi/v0.48.0/v0.48.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fvmware%2fgovmomi/v0.48.0/v0.48.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>vmware/govmomi (github.com/vmware/govmomi)</summary>

###
[`v0.48.1`](https://redirect.github.com/vmware/govmomi/releases/tag/v0.48.1)

[Compare
Source](https://redirect.github.com/vmware/govmomi/compare/v0.48.0...v0.48.1)

<a name="v0.48.1"></a>

#### [Release
v0.48.1](https://redirect.github.com/vmware/govmomi/compare/v0.48.0...v0.48.1)

> Release Date: 2025-02-11

##### 🐞 Fix

-
\[[`92adc45`](https://redirect.github.com/vmware/govmomi/commit/92adc453)]
Drop operationID soap header for unsupported endpoints

##### 💫 `govc` (CLI)

-
\[[`8df8254`](https://redirect.github.com/vmware/govmomi/commit/8df82543)]
Rewrite kms.export URL to use the host we connected to vCenter with
-
\[[`93efaa5`](https://redirect.github.com/vmware/govmomi/commit/93efaa51)]
Add storage.policy.create '-e' option to enable encryption

##### 🧹 Chore

-
\[[`cc1a61b`](https://redirect.github.com/vmware/govmomi/commit/cc1a61ba)]
Update version.go for v0.48.1

##### ⚠️ BREAKING

##### 📖 Commits

-
\[[`cc1a61b`](https://redirect.github.com/vmware/govmomi/commit/cc1a61ba)]
chore: Update version.go for v0.48.1
-
\[[`f642f66`](https://redirect.github.com/vmware/govmomi/commit/f642f66f)]
build(deps): bump golang.org/x/text from 0.21.0 to 0.22.0
-
\[[`92adc45`](https://redirect.github.com/vmware/govmomi/commit/92adc453)]
fix: Drop operationID soap header for unsupported endpoints
-
\[[`8df8254`](https://redirect.github.com/vmware/govmomi/commit/8df82543)]
govc: Rewrite kms.export URL to use the host we connected to vCenter
with
-
\[[`93efaa5`](https://redirect.github.com/vmware/govmomi/commit/93efaa51)]
govc: Add storage.policy.create '-e' option to enable encryption

</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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

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

---------

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

[receiver/mysql] Integration tests for MariaDB (open-telemetry#37840)

#### Description
* Added integration tests for Mariadb `10.11.11` and `11.6.2`
* Migrated test per method, into parameterised test
#### Link to tracking issue
Fixes open-telemetry#37813

[pkg/ottl] Introduce ToSnakeCase() converter function (open-telemetry#37429)

<!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
Fixes open-telemetry#32942

---------

Signed-off-by: odubajDT <ondrej.dubaj@dynatrace.com>
Co-authored-by: Edmo Vamerlatti Costa <11836452+edmocosta@users.noreply.github.com>
Co-authored-by: Evan Bradley <11745660+evan-bradley@users.noreply.github.com>

[chore] Spelling connector + extension (open-telemetry#37135)

#### Description

Fix spelling in connector/ + extension/

open-telemetry#37128 (review)

I can split this into two distinct items, but 45 files seems like a
digestible chunk...

#### Link to tracking issue

* open-telemetry#37128

---------

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

bump minimum supported go version to 1.23 (open-telemetry#37875)

With the release of 1.24, we need to bump the tested versions.

Fixes
open-telemetry#37865
Fixes
open-telemetry#35722

---------

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

Update module github.com/google/go-github/v68 to v69 (open-telemetry#37846)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/google/go-github/v68](https://redirect.github.com/google/go-github)
| `v68.0.0` -> `v69.0.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgoogle%2fgo-github%2fv68/v69.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgoogle%2fgo-github%2fv68/v69.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgoogle%2fgo-github%2fv68/v68.0.0/v69.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgoogle%2fgo-github%2fv68/v68.0.0/v69.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

:warning: MAJOR VERSION UPDATE :warning: - please manually update this
package

---

### Release Notes

<details>
<summary>google/go-github (github.com/google/go-github/v68)</summary>

###
[`v69.0.0`](https://redirect.github.com/google/go-github/releases/tag/v69.0.0)

[Compare
Source](https://redirect.github.com/google/go-github/compare/v68.0.0...v69.0.0)

This release contains the following breaking API changes:

- feat!: Add support for enterprise rulesets
([#&open-telemetry#8203;3417](https://redirect.github.com/google/go-github/issues/3417))
BREAKING CHANGE: `Create*Ruleset` and `Update*Ruleset` now pass
`ruleset` parameter by-value instead of by-reference.
- fix!: Typo in field names in the CheckSuite struct
([#&open-telemetry#8203;3444](https://redirect.github.com/google/go-github/issues/3444))
BREAKING CHANGE: `Rerequstable`=>`Rerequestable`,
`RunsRerequstable`=>`RunsRerequestable`
- fix!: Typo in field names in the PullStats struct
([#&open-telemetry#8203;3445](https://redirect.github.com/google/go-github/issues/3445))
BREAKING CHANGE: `MergablePulls`=>`MergeablePulls`,
`UnmergablePulls`=>`UnmergeablePulls`
- refactor!: Do not capitalize error strings
([#&open-telemetry#8203;3446](https://redirect.github.com/google/go-github/issues/3446))
BREAKING CHANGE: Some error strings are slightly modified - please do
not rely on error text in general.
- fix!: Refactor the repository ruleset code
([#&open-telemetry#8203;3430](https://redirect.github.com/google/go-github/issues/3430))
    BREAKING CHANGES: The following types have been renamed:
    -   `Ruleset` -> `RepositoryRuleset`
    -   `RulesetLink` -> `RepositoryRulesetLink`
    -   `RulesetLinks` -> `RepositoryRulesetLinks`
- `RulesetRefConditionParameters` ->
`RepositoryRulesetRefConditionParameters`
- `RulesetRepositoryNamesConditionParameters` ->
`RepositoryRulesetRepositoryNamesConditionParameters`
- `RulesetRepositoryIDsConditionParameters` ->
`RepositoryRulesetRepositoryIDsConditionParameters`
    -   `RulesetRepositoryPropertyTargetParameters` -> `Repository`
- `RulesetRepositoryPropertyConditionParameters` ->
`RepositoryRulesetRepositoryPropertyConditionParameters`
- `RulesetOrganizationNamesConditionParameters` ->
`RepositoryRulesetOrganizationNamesConditionParameters`
- `RulesetOrganizationIDsConditionParameters` ->
`RepositoryRulesetOrganizationIDsConditionParameters`
    -   `RulesetConditions` -> `RepositoryRulesetConditions`
    -   `RepositoryRulesetEditedChanges` -> `RepositoryRulesetChanges`
- `RepositoryRulesetEditedSource` -> `RepositoryRulesetChangeSource`
- `RepositoryRulesetEditedSources` -> `RepositoryRulesetChangeSources`
- `RepositoryRulesetEditedConditions` ->
`RepositoryRulesetUpdatedConditions`
- `RepositoryRulesetUpdatedConditionsEdited` ->
`RepositoryRulesetUpdatedCondition`
- `RepositoryRulesetEditedRules` -> `RepositoryRulesetChangedRules`
- `RepositoryRulesetUpdatedRules` -> `RepositoryRulesetUpdatedRules`
- `RepositoryRulesetEditedRuleChanges` -> `RepositoryRulesetChangedRule`
- chore!: Add sliceofpointers custom linter
([#&open-telemetry#8203;3447](https://redirect.github.com/google/go-github/issues/3447))
BREAKING CHANGE: `ListOAuthApps` now returns `([]*OAuthApp, error)`
instead of `([]OAuthApp, error)`.
- feat!: Change User.InheritedFrom to a slice
([#&open-telemetry#8203;3460](https://redirect.github.com/google/go-github/issues/3460))
BREAKING CHANGE: `User.InheritedFrom` is changed from a `*Team` to a
`[]*Team`.

...and the following additional changes:

- Bump go-github from v67 to v68 in /scrape
([#&open-telemetry#8203;3398](https://redirect.github.com/google/go-github/issues/3398))
- build(deps): bump golang.org/x/net from 0.32.0 to 0.33.0 in /scrape
([#&open-telemetry#8203;3400](https://redirect.github.com/google/go-github/issues/3400))
- build(deps): bump codecov/codecov-action from 5.1.1 to 5.1.2
([#&open-telemetry#8203;3401](https://redirect.github.com/google/go-github/issues/3401))
- Bump golang.org/x/net to v0.33.0
([#&open-telemetry#8203;3402](https://redirect.github.com/google/go-github/issues/3402))
- Add TokenID and TokenName to PersonalAccessToken struct
([#&open-telemetry#8203;3404](https://redirect.github.com/google/go-github/issues/3404))
- Bump github.com/PuerkitoBio/goquery from 1.9.2 to 1.10.1 in /scrape
([#&open-telemetry#8203;3408](https://redirect.github.com/google/go-github/issues/3408))
- Bump Go to 1.22.10 or 1.23.4 in go.mod files
([#&open-telemetry#8203;3410](https://redirect.github.com/google/go-github/issues/3410))
- Add opt-in rate limit support on endpoints returning 302s
([#&open-telemetry#8203;3411](https://redirect.github.com/google/go-github/issues/3411))
- Update OpenAPI
([#&open-telemetry#8203;3419](https://redirect.github.com/google/go-github/issues/3419))
- build(deps): bump golang.org/x/net from 0.33.0 to 0.34.0 in /scrape
([#&open-telemetry#8203;3420](https://redirect.github.com/google/go-github/issues/3420))
- Permit toggling rate limit check by consumers
([#&open-telemetry#8203;3386](https://redirect.github.com/google/go-github/issues/3386))
- build(deps): Pin and group actions/\*
([#&open-telemetry#8203;3424](https://redirect.github.com/google/go-github/issues/3424))
- Add deprecation messages to security managers APIs
([#&open-telemetry#8203;3426](https://redirect.github.com/google/go-github/issues/3426))
- fix: Relax go directive in go.mod to 1.22.0
([#&open-telemetry#8203;3423](https://redirect.github.com/google/go-github/issues/3423))
- Enforce toolchain requirement in generate.sh
([#&open-telemetry#8203;3428](https://redirect.github.com/google/go-github/issues/3428))
- feat: Add missing notification_setting to Team
([#&open-telemetry#8203;3431](https://redirect.github.com/google/go-github/issues/3431))
- chore: Add reviewers file
([#&open-telemetry#8203;3435](https://redirect.github.com/google/go-github/issues/3435))
- gen-accessors: Update dumping of getters
([#&open-telemetry#8203;3437](https://redirect.github.com/google/go-github/issues/3437))
- chore: Fix codecov upload
([#&open-telemetry#8203;3440](https://redirect.github.com/google/go-github/issues/3440))
- chore: Spell "unmarshal" consistently with one el
([#&open-telemetry#8203;3441](https://redirect.github.com/google/go-github/issues/3441))
- fix: Typos in func parameter, vars, error, and comments
([#&open-telemetry#8203;3442](https://redirect.github.com/google/go-github/issues/3442))
- feat: Add manage_ghes endpoints introduced in 3.15
([#&open-telemetry#8203;3433](https://redirect.github.com/google/go-github/issues/3433))
- Fix minor typo
([#&open-telemetry#8203;3448](https://redirect.github.com/google/go-github/issues/3448))
- chore: Check and fix license headers
([#&open-telemetry#8203;3449](https://redirect.github.com/google/go-github/issues/3449))
- Add new fields for IssueType
([#&open-telemetry#8203;3451](https://redirect.github.com/google/go-github/issues/3451))
- ci: update golangci-lint to v1.63.4
([#&open-telemetry#8203;3452](https://redirect.github.com/google/go-github/issues/3452))
- Extend Rate and Rate Limiting with X-Ratelimit-Used and
`X-Ratelimit-Resource` headers
([#&open-telemetry#8203;3453](https://redirect.github.com/google/go-github/issues/3453))
- build(deps): bump actions/setup-go from 5.2.0 to 5.3.0 in the actions
group
([#&open-telemetry#8203;3454](https://redirect.github.com/google/go-github/issues/3454))
- build(deps): bump codecov/codecov-action from 5.1.2 to 5.3.1
([#&open-telemetry#8203;3455](https://redirect.github.com/google/go-github/issues/3455))
- docs: Add clarifications for mergeable field in pull requests
([#&open-telemetry#8203;3396](https://redirect.github.com/google/go-github/issues/3396))
- build(deps): bump github.com/alecthomas/kong from 1.6.0 to 1.7.0 in
/tools
([#&open-telemetry#8203;3458](https://redirect.github.com/google/go-github/issues/3458))
- Bump version of go-github to v69.0.0
([#&open-telemetry#8203;3463](https://redirect.github.com/google/go-github/issues/3463))

</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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

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

---------

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

[encoding/googlecloudlogentry] Scaffold new component (open-telemetry#37531) (open-telemetry#37789)

#### Description
As described in `CONTRIBUTING` this is the scaffolded components for a
new encoding extension.

This encoder is currently part of the `googlecloudpubsubreceiver`. The
main goal to extract this so that this component can have an alpha
stability (due to the changing semantic conventions), and the
`googlepubsubreceiver` can reach GA stability.

#### Link to tracking issue
Introduces open-telemetry#37531

#### Testing
Scaffolded component, but already includes tests for config

#### Documentation
The README includes the documentation of the new extension

[pkg/ottl] Introduce ToUpperCase() converter function (open-telemetry#37427)

<!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
Fixes open-telemetry#32942

---------

Signed-off-by: odubajDT <ondrej.dubaj@dynatrace.com>
Co-authored-by: Edmo Vamerlatti Costa <11836452+edmocosta@users.noreply.github.com>
Co-authored-by: Evan Bradley <11745660+evan-bradley@users.noreply.github.com>

[chore] add myself as codeowner (open-telemetry#37866)

cc @evan-bradley

---------

Signed-off-by: zirain <zirain2009@gmail.com>

[chore] remove unused variable (open-telemetry#37878)

This was left behind when we moved to lychee

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

go tidy

run make
khushijain21 pushed a commit to khushijain21/opentelemetry-collector-contrib that referenced this pull request Feb 14, 2025
…ns (open-telemetry#37035)

#### Description

Adding a feature. This PR adds support for external implementations of
the decision cache. This allows the collector (or another service using
the processor) to supply an alternative decision cache based on
alternative algorithms or external services like memcached without
needing to explicitly add support for all possible options in the
processor.

It re-uses the existing function option pattern and only exposes two
options for now: `WithSampledDecisionCache` and
`WithNonSampledDecisionCache`. I've avoided exporting other options to
avoid bloating the external interface without a concrete use case. The
majority of changes are cleanup from the refactoring to move `Option`
values into the `Config` struct instead of in a variadic parameter on
`newTracesProcessor`.

---------

Co-authored-by: Yuna Verheyden <yuna.verheyden@posteo.net>
songy23 pushed a commit that referenced this pull request Feb 14, 2025
#### Description

Two PRs were merged recently on the tailsamplingprocessor, #37797 and
#37035. #37035 changed the signature of an internal function in a way
that broke #37797. The result is that the component [fails to
build](https://github.com/open-telemetry/opentelemetry-collector/actions/runs/13329091378/job/37228871811?pr=12384).
This PR fixes that.

This wasn't noticed before merging because 1. there were no merge
conflicts, 2. the latest rebase of #37797 was before #37035 was merged,
and 3. there is no merge queue to perform final checks.

---------

Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Co-authored-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
processor/tailsampling Tail sampling processor
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants