[exporter/loadbalancing] Add metrics routing_key=attributes support#45708
Conversation
|
Welcome, contributor! Thank you for your contribution to opentelemetry-collector-contrib. Important reminders:
A maintainer will review your pull request soon. Thank you for helping make OpenTelemetry better! |
|
|
|
Hey, |
#### Description The prometheusreceiver tests are slow, e.g. see https://github.com/open-telemetry/opentelemetry-collector-contrib/actions/runs/20877115761/job/59988159389 > ✓ . (4m26.753s) (coverage: 85.5% of statements) Some debugging shows that this is due to the default 5 second intervals used in the discovery manager (for broadcasting updates) and scrape manager (for reloading discovery config). I've introduced a new unexported "start" method that can be provided options to override these in tests, and performed some light refactoring to introduce "newTestReceiver" function which creates the receiver with these options set to 50ms each. This brings the total test time down from ~4.5mins to 8 seconds on my machine. #### Link to tracking issue None #### Testing Yes #### Documentation No --------- Co-authored-by: David Ashpole <dashpole@google.com>
…telemetry#45831) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Run `make generate-schemas`, which was not run against a branch synced with `main`. Was introduced in open-telemetry#45758 Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>
…cedetection processor (open-telemetry#41919) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description This change adds support for detecting Google Compute Engine (GCE) instance labels and including them as resource attributes in the same way AWS EC2 and Azure detectors already do. When running on GCE, the resource detection processor can now fetch instance labels from the Compute API (if label key regex patterns are configured) and attach them to the emitted resource under the gce.labels.* namespace. While implementing this, I considered splitting the GCE-specific detection logic into its own dedicated package (similar to the existing AWS EC2 detector structure) to improve maintainability. This could be addressed in a follow-up PR if the team agrees it’s worthwhile. <!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. --> #### Link to tracking issue Fixes open-telemetry#35859 <!--Describe what testing was performed and which tests were added.--> #### Testing I have updated the tests to cover this case, but if you would like additional real evidence (logs, etc), please let me know. <!--Describe the documentation added.--> #### Documentation Updated the README.md with the permissions needed for this feature work and an example. <!--Please delete paragraphs that you did not use before submitting.--> --------- Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>
…n-telemetry#45580) Documents compatibility with external dependencies: - Kubernetes versions Part of open-telemetry#44586 (stable requirement: compatibility guarantees with external dependencies) --------- Signed-off-by: odubajDT <ondrej.dubaj@dynatrace.com> Co-authored-by: Christos Markou <chrismarkou92@gmail.com>
…y#45826) This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/shirou/gopsutil/v4](https://redirect.github.com/shirou/gopsutil) | `v4.25.12` → `v4.26.1` |  |  | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>shirou/gopsutil (github.com/shirou/gopsutil/v4)</summary> ### [`v4.26.1`](https://redirect.github.com/shirou/gopsutil/releases/tag/v4.26.1) [Compare Source](https://redirect.github.com/shirou/gopsutil/compare/v4.25.12...v4.26.1) <!-- Release notes generated using configuration in .github/release.yml at v4.26.1 --> #### What's Changed ##### disk - \[darwin]: convert CFString to Go string properly by [@&open-telemetry#8203;uubulb](https://redirect.github.com/uubulb) in [#&open-telemetry#8203;1992](https://redirect.github.com/shirou/gopsutil/pull/1992) ##### host - \[host]\[darwin]: fix utmpx database parsing by [@&open-telemetry#8203;uubulb](https://redirect.github.com/uubulb) in [#&open-telemetry#8203;1990](https://redirect.github.com/shirou/gopsutil/pull/1990) - feat: Add AIX platform support to common package with uptime and boot time functions by [@&open-telemetry#8203;Dylan-M](https://redirect.github.com/Dylan-M) in [#&open-telemetry#8203;1979](https://redirect.github.com/shirou/gopsutil/pull/1979) ##### mem - feat(mem): add KernelStack field for ExVirtualMemory on linux by [@&open-telemetry#8203;shirou](https://redirect.github.com/shirou) in [#&open-telemetry#8203;1986](https://redirect.github.com/shirou/gopsutil/pull/1986) ##### process - Fix windows open files with context by [@&open-telemetry#8203;ebriney](https://redirect.github.com/ebriney) in [#&open-telemetry#8203;1991](https://redirect.github.com/shirou/gopsutil/pull/1991) - Return an error on reading empty proc pid stat file by [@&open-telemetry#8203;pgimalac](https://redirect.github.com/pgimalac) in [#&open-telemetry#8203;1995](https://redirect.github.com/shirou/gopsutil/pull/1995) - \[process]\[posix]: fix getTerminalMap path construction bug by [@&open-telemetry#8203;shirou](https://redirect.github.com/shirou) in [#&open-telemetry#8203;1994](https://redirect.github.com/shirou/gopsutil/pull/1994) ##### sensor - fix(sensors): kelvin to Celsius by [@&open-telemetry#8203;Aoang](https://redirect.github.com/Aoang) in [#&open-telemetry#8203;1997](https://redirect.github.com/shirou/gopsutil/pull/1997) #### New Contributors - [@&open-telemetry#8203;ebriney](https://redirect.github.com/ebriney) made their first contribution in [#&open-telemetry#8203;1991](https://redirect.github.com/shirou/gopsutil/pull/1991) - [@&open-telemetry#8203;Aoang](https://redirect.github.com/Aoang) made their first contribution in [#&open-telemetry#8203;1997](https://redirect.github.com/shirou/gopsutil/pull/1997) **Full Changelog**: <shirou/gopsutil@v4.25.12...v4.26.1> </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR 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:eyJjcmVhdGVkSW5WZXIiOiI0Mi45NS4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com> Co-authored-by: Christos Markou <chrismarkou92@gmail.com>
… when on_error is set to quiet mode (open-telemetry#45705) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Fix syslog parser operator logging errors at ERROR level when `on_error` is set to quiet mode (`send_quiet` or `drop_quiet`) <!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. --> #### Link to tracking issue Relates to open-telemetry#42646 --------- Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | golang | stage | digest | `ce63a16` → `0c87ea6` | | golang | final | digest | `ce63a16` → `0c87ea6` | --- > [!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 these updates 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:eyJjcmVhdGVkSW5WZXIiOiI0Mi45NS4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…pen-telemetry#45817) This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/DataDog/datadog-go/v5](https://redirect.github.com/DataDog/datadog-go) | `v5.8.2` → `v5.8.3` |  |  | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>DataDog/datadog-go (github.com/DataDog/datadog-go/v5)</summary> ### [`v5.8.3`](https://redirect.github.com/DataDog/datadog-go/releases/tag/v5.8.3) [Compare Source](https://redirect.github.com/DataDog/datadog-go/compare/v5.8.2...v5.8.3) - \[IMPROVEMENT] Shard aggregator lock. See \[<https://redirect.github.com/DataDog/datadog-go/pull/351][>], thanks \[[@&open-telemetry#8203;opsengine](https://redirect.github.com/opsengine)]\[]. - \[IMPROVEMENT] Fix race condition in statsd external\_env initialization. See \[<https://redirect.github.com/DataDog/datadog-go/pull/352][>], thanks \[[@&open-telemetry#8203;jprobinson](https://redirect.github.com/jprobinson)]\[]. See the [CHANGELOG](https://redirect.github.com/DataDog/datadog-go/blob/master/CHANGELOG.md) for the details on previous releases. </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:eyJjcmVhdGVkSW5WZXIiOiI0Mi45NS4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com> Co-authored-by: Yang Song <songy23@users.noreply.github.com>
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/SAP/go-hdb](https://redirect.github.com/SAP/go-hdb) | `v1.14.18` → `v1.14.19` |  |  | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>SAP/go-hdb (github.com/SAP/go-hdb)</summary> ### [`v1.14.19`](https://redirect.github.com/SAP/go-hdb/blob/HEAD/RELEASENOTES.md#v11419) [Compare Source](https://redirect.github.com/SAP/go-hdb/compare/v1.14.18...v1.14.19) - changed default dialer preference to "tcp4" until HANA cloud would fully support IPv6 (see [#&open-telemetry#8203;157](https://redirect.github.com/SAP/go-hdb/issues/157)) </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:eyJjcmVhdGVkSW5WZXIiOiI0Mi45NS4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com> Co-authored-by: Christos Markou <chrismarkou92@gmail.com>
…45818) This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/golang-jwt/jwt/v5](https://redirect.github.com/golang-jwt/jwt) | `v5.3.0` → `v5.3.1` |  |  | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>golang-jwt/jwt (github.com/golang-jwt/jwt/v5)</summary> ### [`v5.3.1`](https://redirect.github.com/golang-jwt/jwt/releases/tag/v5.3.1) [Compare Source](https://redirect.github.com/golang-jwt/jwt/compare/v5.3.0...v5.3.1) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### 🔐 Features - Add spellcheck Github action to catch common spelling mistakes by [@&open-telemetry#8203;equalsgibson](https://redirect.github.com/equalsgibson) in [#&open-telemetry#8203;458](https://redirect.github.com/golang-jwt/jwt/pull/458) - Add `WithNotBeforeRequired` parser option and add test coverage by [@&open-telemetry#8203;equalsgibson](https://redirect.github.com/equalsgibson) in [#&open-telemetry#8203;456](https://redirect.github.com/golang-jwt/jwt/pull/456) - Update godoc example func to properly refer to `NewWithClaims()` by [@&open-telemetry#8203;equalsgibson](https://redirect.github.com/equalsgibson) in [#&open-telemetry#8203;459](https://redirect.github.com/golang-jwt/jwt/pull/459) - Update github workflows by [@&open-telemetry#8203;mfridman](https://redirect.github.com/mfridman) in [#&open-telemetry#8203;462](https://redirect.github.com/golang-jwt/jwt/pull/462) - Additional test for CustomClaims that validates unmarshalling behaviour by [@&open-telemetry#8203;equalsgibson](https://redirect.github.com/equalsgibson) in [#&open-telemetry#8203;457](https://redirect.github.com/golang-jwt/jwt/pull/457) - Fix early file close in jwt cli by [@&open-telemetry#8203;mfridman](https://redirect.github.com/mfridman) in [#&open-telemetry#8203;472](https://redirect.github.com/golang-jwt/jwt/pull/472) - Add TPM signature reference by [@&open-telemetry#8203;salrashid123](https://redirect.github.com/salrashid123) in [#&open-telemetry#8203;473](https://redirect.github.com/golang-jwt/jwt/pull/473) - Remove misleading ParserOptions documentation in [#&open-telemetry#8203;484](https://redirect.github.com/golang-jwt/jwt/pull/484) - Save signature to Token struct after successful signing by [@&open-telemetry#8203;EgorSheff](https://redirect.github.com/EgorSheff) in [#&open-telemetry#8203;417](https://redirect.github.com/golang-jwt/jwt/pull/417) - Set token.Signature in `ParseUnverified` by [@&open-telemetry#8203;slickwilli](https://redirect.github.com/slickwilli) in [#&open-telemetry#8203;414](https://redirect.github.com/golang-jwt/jwt/pull/414) ##### 👒 Dependencies - Bump crate-ci/typos from 1.34.0 to 1.35.3 by [@&open-telemetry#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in [#&open-telemetry#8203;461](https://redirect.github.com/golang-jwt/jwt/pull/461) - Bump crate-ci/typos from 1.35.4 to 1.36.2 by [@&open-telemetry#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in [#&open-telemetry#8203;470](https://redirect.github.com/golang-jwt/jwt/pull/470) - Bump github/codeql-action from 3 to 4 by [@&open-telemetry#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in [#&open-telemetry#8203;478](https://redirect.github.com/golang-jwt/jwt/pull/478) - Bump crate-ci/typos from 1.36.2 to 1.39.0 by [@&open-telemetry#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in [#&open-telemetry#8203;480](https://redirect.github.com/golang-jwt/jwt/pull/480) - Bump golangci/golangci-lint-action from 8 to 9 by [@&open-telemetry#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in [#&open-telemetry#8203;481](https://redirect.github.com/golang-jwt/jwt/pull/481) - Bump actions/setup-go from 5 to 6 by [@&open-telemetry#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in [#&open-telemetry#8203;469](https://redirect.github.com/golang-jwt/jwt/pull/469) - Bump crate-ci/typos from 1.39.0 to 1.40.0 by [@&open-telemetry#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in [#&open-telemetry#8203;488](https://redirect.github.com/golang-jwt/jwt/pull/488) - Bump actions/checkout from 5 to 6 by [@&open-telemetry#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in [#&open-telemetry#8203;487](https://redirect.github.com/golang-jwt/jwt/pull/487) - Bump crate-ci/typos from 1.40.0 to 1.41.0 by [@&open-telemetry#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in [#&open-telemetry#8203;490](https://redirect.github.com/golang-jwt/jwt/pull/490) - Bump crate-ci/typos from 1.41.0 to 1.42.1 by [@&open-telemetry#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in [#&open-telemetry#8203;492](https://redirect.github.com/golang-jwt/jwt/pull/492) #### New Contributors - [@&open-telemetry#8203;equalsgibson](https://redirect.github.com/equalsgibson) made their first contribution in [#&open-telemetry#8203;458](https://redirect.github.com/golang-jwt/jwt/pull/458) - [@&open-telemetry#8203;salrashid123](https://redirect.github.com/salrashid123) made their first contribution in [#&open-telemetry#8203;473](https://redirect.github.com/golang-jwt/jwt/pull/473) - [@&open-telemetry#8203;EgorSheff](https://redirect.github.com/EgorSheff) made their first contribution in [#&open-telemetry#8203;417](https://redirect.github.com/golang-jwt/jwt/pull/417) - [@&open-telemetry#8203;slickwilli](https://redirect.github.com/slickwilli) made their first contribution in [#&open-telemetry#8203;414](https://redirect.github.com/golang-jwt/jwt/pull/414) **Full Changelog**: <golang-jwt/jwt@v5.3.0...v5.3.1> </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR 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:eyJjcmVhdGVkSW5WZXIiOiI0Mi45NS4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com> Co-authored-by: Yang Song <songy23@users.noreply.github.com> Co-authored-by: Christos Markou <chrismarkou92@gmail.com>
The following commands were run to prepare this release: - make chlog-update VERSION=v0.145.0 - sed -i.bak s/0[.]144[.]0/0.145.0/g versions.yaml - make multimod-prerelease - make multimod-sync --------- Signed-off-by: otelbot <197425009+otelbot@users.noreply.github.com> Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.21.0` → `v1.21.1` |  |  | | [github.com/aws/aws-sdk-go-v2/service/ec2](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.283.0` → `v1.285.0` |  |  | | [github.com/aws/aws-sdk-go-v2/service/s3](https://redirect.github.com/aws/aws-sdk-go-v2) | `v1.95.1` → `v1.96.0` |  |  | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>aws/aws-sdk-go-v2 (github.com/aws/aws-sdk-go-v2/feature/s3/manager)</summary> ### [`v1.21.1`](https://redirect.github.com/aws/aws-sdk-go-v2/blob/HEAD/CHANGELOG.md#Release-2024-10-23) #### Module Highlights - `github.com/aws/aws-sdk-go-v2/service/bedrock`: [v1.21.1](service/bedrock/CHANGELOG.md#v1211-2024-10-23) - **Documentation**: Doc updates for supporting converse - `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.114.0](service/connect/CHANGELOG.md#v11140-2024-10-23) - **Feature**: Amazon Connect Service Feature: Add support to start screen sharing for a web calling contact. - `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.185.0](service/ec2/CHANGELOG.md#v11850-2024-10-23) - **Feature**: Amazon EC2 X8g, C8g and M8g instances are powered by AWS Graviton4 processors. X8g provide the lowest cost per GiB of memory among Graviton4 instances. C8g provide the best price performance for compute-intensive workloads. M8g provide the best price performance in for general purpose workloads. - `github.com/aws/aws-sdk-go-v2/service/mwaa`: [v1.32.0](service/mwaa/CHANGELOG.md#v1320-2024-10-23) - **Feature**: Introducing InvokeRestApi which allows users to invoke the Apache Airflow REST API on the webserver with the specified inputs. - `github.com/aws/aws-sdk-go-v2/service/paymentcryptography`: [v1.15.0](service/paymentcryptography/CHANGELOG.md#v1150-2024-10-23) - **Feature**: Add support for ECC P-256 and P-384 Keys. - `github.com/aws/aws-sdk-go-v2/service/paymentcryptographydata`: [v1.16.0](service/paymentcryptographydata/CHANGELOG.md#v1160-2024-10-23) - **Feature**: Add ECDH support on PIN operations. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://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:eyJjcmVhdGVkSW5WZXIiOiI0Mi45NS4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com> Co-authored-by: Yang Song <songy23@users.noreply.github.com>
…45815) This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [cloud.google.com/go/storage](https://redirect.github.com/googleapis/google-cloud-go) | `v1.59.1` → `v1.59.2` |  |  | --- > [!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:eyJjcmVhdGVkSW5WZXIiOiI0Mi45NS4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com> Co-authored-by: Yang Song <songy23@users.noreply.github.com>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | golang | stage | digest | `0c87ea6` → `06d1251` | | golang | final | digest | `0c87ea6` → `06d1251` | --- > [!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 these updates 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:eyJjcmVhdGVkSW5WZXIiOiI0Mi45NS4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…emetry#45833) This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/snowflakedb/gosnowflake](https://redirect.github.com/snowflakedb/gosnowflake) | `v1.18.1` → `v1.19.0` |  |  | --- > [!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:eyJjcmVhdGVkSW5WZXIiOiI0Mi45NS4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com> Co-authored-by: Yang Song <songy23@users.noreply.github.com>
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [go.opentelemetry.io/otel](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.39.0` → `v1.40.0` |  |  | | [go.opentelemetry.io/otel](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.39.1-0.20260115134311-f809f7d71e2d` → `v1.40.0` |  |  | | [go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v0.15.0` → `v0.16.0` |  |  | | [go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v0.15.0` → `v0.16.0` |  |  | | [go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.39.0` → `v1.40.0` |  |  | | [go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.39.0` → `v1.40.0` |  |  | | [go.opentelemetry.io/otel/exporters/otlp/otlptrace](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.39.0` → `v1.40.0` |  |  | | [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.39.0` → `v1.40.0` |  |  | | [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.39.0` → `v1.40.0` |  |  | | [go.opentelemetry.io/otel/exporters/prometheus](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v0.61.0` → `v0.62.0` |  |  | | [go.opentelemetry.io/otel/exporters/stdout/stdoutmetric](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.39.0` → `v1.40.0` |  |  | | [go.opentelemetry.io/otel/log](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v0.15.0` → `v0.16.0` |  |  | | [go.opentelemetry.io/otel/metric](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.39.0` → `v1.40.0` |  |  | | [go.opentelemetry.io/otel/metric](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.39.1-0.20260115134311-f809f7d71e2d` → `v1.40.0` |  |  | | [go.opentelemetry.io/otel/sdk](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.39.0` → `v1.40.0` |  |  | | [go.opentelemetry.io/otel/sdk/log](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v0.15.0` → `v0.16.0` |  |  | | [go.opentelemetry.io/otel/sdk/log/logtest](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v0.15.0` → `v0.16.0` |  |  | | [go.opentelemetry.io/otel/sdk/metric](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.39.0` → `v1.40.0` |  |  | | [go.opentelemetry.io/otel/sdk/metric](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.39.1-0.20260115134311-f809f7d71e2d` → `v1.40.0` |  |  | | [go.opentelemetry.io/otel/trace](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.39.0` → `v1.40.0` |  |  | | [go.opentelemetry.io/otel/trace](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.39.1-0.20260115134311-f809f7d71e2d` → `v1.40.0` |  |  | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>open-telemetry/opentelemetry-go (go.opentelemetry.io/otel)</summary> ### [`v1.40.0`](https://redirect.github.com/open-telemetry/opentelemetry-go/compare/v1.39.0...v1.40.0) [Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-go/compare/v1.39.0...v1.40.0) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **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:eyJjcmVhdGVkSW5WZXIiOiI0Mi45NS4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
|
I've run the pipelines for you, and also removed the additional reviewers added by mistake. |
rlankfo
left a comment
There was a problem hiding this comment.
Thanks for this PR. Looks good to me overall. I left a couple of comments but the issues are relatively minor although would like your input there.
| pendingResourceAttrs := make([]string, 0, len(attrs)) | ||
| for _, attr := range attrs { | ||
| if val, ok := resourceAttrs.Get(attr); ok { | ||
| baseResourceKeyBuilder.WriteString(val.Str()) |
There was a problem hiding this comment.
We could consider adding a delimiter here when the strings are concatenated. If routing attributes are ["a", "b"] with values a="foo", b="bar", the key is "foobar". But a="foob", b="ar" also produces "foobar". These should deterministically hash to the same endpoint every time though, so the routing is still consistent even if there's incorrect grouping. Looks like the trace implementation behaves the same way though so it's probably not an issue, although could result in suboptimal load distribution.
There was a problem hiding this comment.
Also, iiuc, I believe val.Str() will return "" for non-string attribute values. A routing key with int values that differ would always get the same routing key for example. Again, I believe this is also consistent with the trace implementation though.
There was a problem hiding this comment.
Thanks for the careful review!
-
Delimiter / collisions: agreed this can collide. I kept the behavior aligned with existing trace attribute routing (no delimiter, missing attrs skipped). I’ve opened a follow‑up issue [exporter/loadbalancing] Add stable encoding for attribute routing keys #46095 to introduce a stable encoding with delimiters.
-
Non‑string values: good call. For metrics and traces is used
Str(), which can return an empty string for non‑string values; I agree this needs a deterministic stringify across all value types and signals. I’ve opened a separate issue for it [exporter/loadbalancing] Define routing behavior for non-string attribute values #46094
I am interested on working on those issues.
Thanks :)
|
@open-telemetry/collector-contrib-approvers anything else here? Could you please merge it? |
| // For traces, attributes can come from resource, scope, or span, plus the pseudo attributes "span.kind" and | ||
| // "span.name". | ||
| // For metrics, attributes can come from resource, scope, or datapoint attributes. | ||
| RoutingAttributes []string `mapstructure:"routing_attributes"` |
There was a problem hiding this comment.
Generally looks very good, one additional point: I would vote to add a validation function for the configuration to mitigate routing to the same backend:
// Validate checks if the exporter configuration is valid
func (c *Config) Validate() error {
// Validate that routing_attributes is specified when using attribute routing
if c.RoutingKey == attrRoutingStr && len(c.RoutingAttributes) == 0 {
return fmt.Errorf("routing_attributes must be specified when routing_key is '%s'", attrRoutingStr)
}
// Warn if routing_attributes is specified but not using attribute routing
// This is not an error, but the attributes will be ignored
if c.RoutingKey != attrRoutingStr && c.RoutingKey != "" && len(c.RoutingAttributes) > 0 {
return fmt.Errorf("routing_attributes is specified but routing_key is '%s' (expected '%s'); the routing_attributes will be ignored", c.RoutingKey, attrRoutingStr)
}
return nil
}
There was a problem hiding this comment.
Thank your for the feedback. Quite welcome ;)
|
@open-telemetry/collector-contrib-approvers Could you please merge it? |
|
Approved by codeowner, will merge once CI passes. |
|
Thank you for your contribution @ajimenez1503! 🎉 We would like to hear from you about your experience contributing to OpenTelemetry by taking a few minutes to fill out this survey. If you are getting started contributing, you can also join the CNCF Slack channel #opentelemetry-new-contributors to ask for guidance and get help. |
Description
Adds
routing_key: attributessupport for metrics in the loadbalancing exporter. Metrics are split by composite keys built from resource/scope/datapoint attributes, matching the routing_attributes list.Link to tracking issue
Fixes #45675
Testing
Added unit test for attribute routing.
Documentation
Updated
exporter/loadbalancingexporter/README.mdto describe metrics attribute routing.