-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
[tailsamplingprocessor] Support external decision cache implementations #37035
Conversation
@Logiraptor please add a changlog entry to |
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:
|
@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? |
I'll also note that even though the cache is generic on the value type, it's only ever used as |
I think this is the case, and the name should therefore be something like TraceDecisionCache, or something like that. We can reuse it as |
@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 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
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? |
One way I've found which I think could work is like so
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. |
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. |
@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 What do you think I should do here? |
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? |
@jpkrohling Sounds good to me. I will get the conflicts sorted out here then, and we can revisit once we have a solid plan. |
879e4cc
to
b766a05
Compare
@jpkrohling Sorry for the delay, I have fixed the conflicts here and I think it's ready for a review. |
There was a problem hiding this 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
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 |
There was a problem hiding this 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.
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` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/tools | `v0.29.0` -> `v0.30.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/tools | `v0.29.0` -> `v0.30.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/tools | `v0.29.0` -> `v0.30.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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
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` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/tools | `v0.29.0` -> `v0.30.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/tools | `v0.29.0` -> `v0.30.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/tools | `v0.29.0` -> `v0.30.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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
…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>
#### 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>
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
andWithNonSampledDecisionCache
. 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 moveOption
values into theConfig
struct instead of in a variadic parameter onnewTracesProcessor
.