1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2026-06-03 18:35:08 +02:00
Commit Graph

4541 Commits

Author SHA1 Message Date
Robert Pająk fbbc5a6045 attribute: make TestHashKVs linear-time (#8204)
Unblocks https://github.com/open-telemetry/opentelemetry-go/pull/8166

Per
https://github.com/open-telemetry/opentelemetry-go/pull/8166#issuecomment-4246787382

## Why

This updates `TestHashKVsEquality` to avoid the quadratic pairwise
comparison that was causing slow runs and timeouts in CI.

Below are the results from my machine.

Old:

```
$ go test -run=TestHashKVs -count=1 
PASS
ok      go.opentelemetry.io/otel/attribute      2.063s
```

New:

```
$ go test -run=TestHashKVs -count=1 
PASS
ok      go.opentelemetry.io/otel/attribute      0.024s
```

Instead of collecting every generated testcase and comparing each hash
against every other hash, the test now checks uniqueness as each case is
generated by storing previously seen hashes in a map. Note that it also
does not use the equality operator of `KeyValue` to determine if the
hash should be equal or different.

## What 

- Rename the test from `TestHashKVsEquality` to `TestHashKVs`
- Replace the O(n^2) post-processing loop with an O(n) streaming
uniqueness check
- Simplify failure reporting by removing the dedicated `msg` helper

Side note: for me it also makes the test more readable (however, this is
opinionated).
2026-04-15 15:34:20 +02:00
renovate[bot] 3ee1d5a516 fix(deps): update github.com/opentracing-contrib/go-grpc/test digest to 07c9668 (#8206)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github.com/opentracing-contrib/go-grpc/test](https://redirect.github.com/opentracing-contrib/go-grpc)
| require | digest | `6b4d2bc` → `07c9668` |

---

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

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- 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-go).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-14 16:51:40 -07:00
renovate[bot] 5fa3d04f78 fix(deps): update module github.com/opentracing-contrib/go-grpc to v0.1.3 (#8207)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/opentracing-contrib/go-grpc](https://redirect.github.com/opentracing-contrib/go-grpc)
| `v0.1.2` → `v0.1.3` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fopentracing-contrib%2fgo-grpc/v0.1.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fopentracing-contrib%2fgo-grpc/v0.1.2/v0.1.3?slim=true)
|

---

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

---

### Release Notes

<details>
<summary>opentracing-contrib/go-grpc
(github.com/opentracing-contrib/go-grpc)</summary>

###
[`v0.1.3`](https://redirect.github.com/opentracing-contrib/go-grpc/releases/tag/v0.1.3)

[Compare
Source](https://redirect.github.com/opentracing-contrib/go-grpc/compare/v0.1.2...v0.1.3)

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

#### What's Changed

##### 🔨 Maintenance

- Remove go toolchain by
[@&#8203;lucacome](https://redirect.github.com/lucacome) in
[#&#8203;69](https://redirect.github.com/opentracing-contrib/go-grpc/pull/69)
- Remove go toolchain from tests by
[@&#8203;lucacome](https://redirect.github.com/lucacome) in
[#&#8203;70](https://redirect.github.com/opentracing-contrib/go-grpc/pull/70)

##### ⬆️ Dependencies

- Update lucacome/draft-release action to v2.1.1 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;52](https://redirect.github.com/opentracing-contrib/go-grpc/pull/52),
[#&#8203;55](https://redirect.github.com/opentracing-contrib/go-grpc/pull/55),
[#&#8203;58](https://redirect.github.com/opentracing-contrib/go-grpc/pull/58),
[#&#8203;61](https://redirect.github.com/opentracing-contrib/go-grpc/pull/61),
[#&#8203;68](https://redirect.github.com/opentracing-contrib/go-grpc/pull/68),
[#&#8203;71](https://redirect.github.com/opentracing-contrib/go-grpc/pull/71)
- Update actions/labeler action to v6 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;51](https://redirect.github.com/opentracing-contrib/go-grpc/pull/51)
- Update actions/checkout action to v6 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;48](https://redirect.github.com/opentracing-contrib/go-grpc/pull/48),
[#&#8203;57](https://redirect.github.com/opentracing-contrib/go-grpc/pull/57)
- Update module github.com/stretchr/testify to v1.11.1 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;49](https://redirect.github.com/opentracing-contrib/go-grpc/pull/49)
- Update actions/setup-go action to v6 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;50](https://redirect.github.com/opentracing-contrib/go-grpc/pull/50)
- Update golangci/golangci-lint-action action to v9 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;47](https://redirect.github.com/opentracing-contrib/go-grpc/pull/47),
[#&#8203;56](https://redirect.github.com/opentracing-contrib/go-grpc/pull/56)
- Update module google.golang.org/grpc to v1.80.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;46](https://redirect.github.com/opentracing-contrib/go-grpc/pull/46),
[#&#8203;53](https://redirect.github.com/opentracing-contrib/go-grpc/pull/53),
[#&#8203;60](https://redirect.github.com/opentracing-contrib/go-grpc/pull/60),
[#&#8203;62](https://redirect.github.com/opentracing-contrib/go-grpc/pull/62),
[#&#8203;65](https://redirect.github.com/opentracing-contrib/go-grpc/pull/65),
[#&#8203;67](https://redirect.github.com/opentracing-contrib/go-grpc/pull/67)
- Update github/codeql-action action to v4 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;54](https://redirect.github.com/opentracing-contrib/go-grpc/pull/54)

**Full Changelog**:
<https://github.com/opentracing-contrib/go-grpc/compare/v0.1.2...v0.1.3>

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-14 16:40:00 -07:00
renovate[bot] a100e025a4 chore(deps): update golang.org/x/telemetry digest to fac6e1c (#8202)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [golang.org/x/telemetry](https://pkg.go.dev/golang.org/x/telemetry) |
indirect | digest | `be6f6cb` → `fac6e1c` |

---

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

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-14 16:21:23 -07:00
Robert Pająk 92176e3d8b otlptracehttp: reset pooled gzip writer before reuse (#8196)
Based on https://github.com/open-telemetry/opentelemetry-go/pull/8152
and https://github.com/open-telemetry/opentelemetry-go/pull/8185
2026-04-14 23:22:11 +02:00
David Ashpole 8899c97372 Update contributing to recommend using Enabled (#8189)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/7800

Updates CONTRIBUTING.md to recommend using Enabled for
self-observability metrics.
2026-04-14 10:38:15 -04:00
David Ashpole 88a71eeb67 Fix exemplar tests in containerized environments (#8188)
The actual default reservoir provider uses runtime.GOMAXPROCS(0) to work
properly in containerized environments. When I was running the test, the
fact that the test used runtime.NumCPU() caused the test to fail.


https://github.com/open-telemetry/opentelemetry-go/blob/48dd8b1a0975e14a09d615f8ee80212b20f1e107/sdk/metric/exemplar.go#L70-L73
2026-04-14 10:26:22 -04:00
renovate[bot] f8043775c3 chore(deps): update module github.com/dave/dst to v0.27.4 (#8198)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [github.com/dave/dst](https://redirect.github.com/dave/dst) |
`v0.27.3` → `v0.27.4` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fdave%2fdst/v0.27.4?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fdave%2fdst/v0.27.3/v0.27.4?slim=true)
|

---

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

---

### Release Notes

<details>
<summary>dave/dst (github.com/dave/dst)</summary>

###
[`v0.27.4`](https://redirect.github.com/dave/dst/compare/v0.27.3...v0.27.4)

[Compare
Source](https://redirect.github.com/dave/dst/compare/v0.27.3...v0.27.4)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-14 12:36:02 +02:00
renovate[bot] 35921bd426 fix(deps): update googleapis to afd174a (#8195)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[google.golang.org/genproto/googleapis/api](https://redirect.github.com/googleapis/go-genproto)
| indirect | digest | `3e5c5a5` → `afd174a` |
|
[google.golang.org/genproto/googleapis/rpc](https://redirect.github.com/googleapis/go-genproto)
| indirect | digest | `3e5c5a5` → `afd174a` |
|
[google.golang.org/genproto/googleapis/rpc](https://redirect.github.com/googleapis/go-genproto)
| require | digest | `3e5c5a5` → `afd174a` |

---

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

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-14 09:23:20 +02:00
renovate[bot] efa40ac54d fix(deps): update module golang.org/x/vuln to v1.2.0 (#8193)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [golang.org/x/vuln](https://pkg.go.dev/golang.org/x/vuln) | [`v1.1.4`
→
`v1.2.0`](https://cs.opensource.google/go/x/vuln/+/refs/tags/v1.1.4...refs/tags/v1.2.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fvuln/v1.2.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fvuln/v1.1.4/v1.2.0?slim=true)
|

---

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

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-14 09:14:52 +02:00
Robert Pająk 0231f02f59 fix(otlpmetrichttp): replay gzipped bodies on redirect (#8185)
Same as https://github.com/open-telemetry/opentelemetry-go/pull/8152 but
for `otlpmetrichttp`

When gzip compression is enabled, the OTLP metric HTTP client compressed
the request body for the initial send but left GetBody wired to the
original uncompressed protobuf payload.

Any redirect or retry path that rebuilt the request from GetBody could
then resend an uncompressed body while still advertising
Content-Encoding: gzip.

Update GetBody to return the gzipped buffer and add a redirect
regression test that verifies the replayed body matches the original
compressed request and can be decompressed successfully.
2026-04-14 08:53:02 +02:00
renovate[bot] dde79e8eac fix(deps): update googleapis to 3e5c5a5 (#8190)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[google.golang.org/genproto/googleapis/api](https://redirect.github.com/googleapis/go-genproto)
| indirect | digest | `6f92a3b` → `3e5c5a5` |
|
[google.golang.org/genproto/googleapis/rpc](https://redirect.github.com/googleapis/go-genproto)
| indirect | digest | `6f92a3b` → `3e5c5a5` |
|
[google.golang.org/genproto/googleapis/rpc](https://redirect.github.com/googleapis/go-genproto)
| require | digest | `6f92a3b` → `3e5c5a5` |

---

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

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-13 17:14:07 -07:00
renovate[bot] 64d8f5fbf0 chore(deps): update actions/cache action to v5.0.5 (#8187)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/cache](https://redirect.github.com/actions/cache) | action |
patch | `v5.0.4` → `v5.0.5` |

---

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

---

### Release Notes

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

###
[`v5.0.5`](https://redirect.github.com/actions/cache/releases/tag/v5.0.5)

[Compare
Source](https://redirect.github.com/actions/cache/compare/v5.0.4...v5.0.5)

##### What's Changed

- Update ts-http-runtime dependency by
[@&#8203;yacaovsnc](https://redirect.github.com/yacaovsnc) in
[#&#8203;1747](https://redirect.github.com/actions/cache/pull/1747)

**Full Changelog**:
<https://github.com/actions/cache/compare/v5...v5.0.5>

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-13 16:42:12 -07:00
David Ashpole 48dd8b1a09 Add x.Settable to allow reusing attribute options (#8178)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/7851

This adopts this proposal from @MrAlias:
https://github.com/open-telemetry/opentelemetry-go/issues/7851#issuecomment-3837399805

This adds a Set function to attrOpt, and changes attrOpt functions to
use a pointer receiver. Users can use this by checking if the attribute
option implements the `Settable` interface in `metric/x`. There are no
public API changes to the metric package, as this is still an
experiment. See the benchmark change and the interface documentation for
how it can be used to avoid calling metric.WithAttributeSet.

I updated the benchmark in
https://github.com/open-telemetry/opentelemetry-go/commit/448394b549375f4f6742201e199e0339d0b78524,
but didn't commit it here to avoid a dependency between the SDK and the
`metric/x` package.

As expected, this removes one allocation from the Dynamic case!

The results are:

```
                                                                          │    main.txt    │            resettable.txt            │
                                                                          │     sec/op     │     sec/op        vs base        │
EndToEndCounterAdd/NoFilter/Attributes/1/Dynamic/WithAttributeSet-24         238.2n ±  5%    220.7n ±  9%   -7.39% (p=0.002 n=6)
EndToEndCounterAdd/NoFilter/Attributes/5/Dynamic/WithAttributeSet-24         611.1n ±  4%    620.3n ±  2%        ~ (p=0.394 n=6)
EndToEndCounterAdd/NoFilter/Attributes/10/Dynamic/WithAttributeSet-24        1.147µ ±  7%    1.171µ ±  5%        ~ (p=0.258 n=6)
EndToEndCounterAdd/Filtered/Attributes/1/Dynamic/WithAttributeSet-24         363.8n ±  6%    363.5n ±  6%        ~ (p=1.000 n=6)
EndToEndCounterAdd/Filtered/Attributes/5/Dynamic/WithAttributeSet-24         1.464µ ±  5%    1.475µ ± 10%        ~ (p=0.727 n=6)
EndToEndCounterAdd/Filtered/Attributes/10/Dynamic/WithAttributeSet-24        2.924µ ±  7%    2.589µ ±  6%  -11.47% (p=0.002 n=6)
                                                                          │    main.txt    │            resettable.txt            │
                                                                          │      B/op      │      B/op         vs base        │
EndToEndCounterAdd/NoFilter/Attributes/1/Dynamic/WithAttributeSet-24          88.00 ± 0%      64.00 ± 0%  -27.27% (p=0.002 n=6)
EndToEndCounterAdd/NoFilter/Attributes/5/Dynamic/WithAttributeSet-24          344.0 ± 0%      321.0 ± 0%   -6.69% (p=0.002 n=6)
EndToEndCounterAdd/NoFilter/Attributes/10/Dynamic/WithAttributeSet-24         729.0 ± 0%      706.0 ± 0%   -3.16% (p=0.002 n=6)
EndToEndCounterAdd/Filtered/Attributes/1/Dynamic/WithAttributeSet-24          152.0 ± 0%      128.0 ± 0%  -15.79% (p=0.002 n=6)
EndToEndCounterAdd/Filtered/Attributes/5/Dynamic/WithAttributeSet-24          921.0 ± 0%      899.0 ± 0%   -2.39% (p=0.002 n=6)
EndToEndCounterAdd/Filtered/Attributes/10/Dynamic/WithAttributeSet-24       2.026Ki ± 0%    2.006Ki ± 0%   -1.01% (p=0.002 n=6)
                                                                          │    main.txt    │            resettable.txt            │
                                                                          │   allocs/op    │   allocs/op       vs base        │
EndToEndCounterAdd/NoFilter/Attributes/1/Dynamic/WithAttributeSet-24          2.000 ± 0%      1.000 ± 0%  -50.00% (p=0.002 n=6)
EndToEndCounterAdd/NoFilter/Attributes/5/Dynamic/WithAttributeSet-24          2.000 ± 0%      1.000 ± 0%  -50.00% (p=0.002 n=6)
EndToEndCounterAdd/NoFilter/Attributes/10/Dynamic/WithAttributeSet-24         2.000 ± 0%      1.000 ± 0%  -50.00% (p=0.002 n=6)
EndToEndCounterAdd/Filtered/Attributes/1/Dynamic/WithAttributeSet-24          3.000 ± 0%      2.000 ± 0%  -33.33% (p=0.002 n=6)
EndToEndCounterAdd/Filtered/Attributes/5/Dynamic/WithAttributeSet-24          4.000 ± 0%      3.000 ± 0%  -25.00% (p=0.002 n=6)
EndToEndCounterAdd/Filtered/Attributes/10/Dynamic/WithAttributeSet-24         4.000 ± 0%      3.000 ± 0%  -25.00% (p=0.002 n=6)
```

---------

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2026-04-13 12:47:46 -04:00
David Ashpole fe35606998 Update semconv template and 1.40.0 to use Enabled for metrics (#8172)
Part of https://github.com/open-telemetry/opentelemetry-go/issues/7800

This adds Enabled checks to the generated semconv metric instruments. I
also opted to regenerate the 1.40.0 conventions given this is not a
behavioral change.

While implementing it, I did get the sense that this _should_ be
redundant. Callers should be checking Enabled before making these calls
because they should avoid building attribute sets. But it does still
make sense to have this as a fallback for cases where callers haven't
done that.

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-04-13 09:31:43 -04:00
renovate[bot] 301f574157 fix(deps): update module go.opentelemetry.io/collector/pdata to v1.56.0 (#8184)
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/collector/pdata](https://redirect.github.com/open-telemetry/opentelemetry-collector)
| `v1.55.0` → `v1.56.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fcollector%2fpdata/v1.56.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fcollector%2fpdata/v1.55.0/v1.56.0?slim=true)
|

---

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

---

### Release Notes

<details>
<summary>open-telemetry/opentelemetry-collector
(go.opentelemetry.io/collector/pdata)</summary>

###
[`v1.56.0`](https://redirect.github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1560v01500)

##### 💡 Enhancements 💡

- `all`: Update semconv package from 1.38.0 to 1.40.0
([#&#8203;15095](https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/15095))
- `cmd/mdatagen`: Only allow the `ToVersion` feature flag attribute to
be set for the `Stable` and `Deprecated` stages.
([#&#8203;15040](https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/15040))
  To better match the feature flag README

(<https://github.com/open-telemetry/opentelemetry-collector/blob/main/featuregate/README.md#feature-lifecycle>).

##### 🧰 Bug fixes 🧰

- `exporter/debug`: Guard from out of bounds profiles dictionary indices
([#&#8203;14803](https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/14803))

- `pdata/pprofile`: create a copy when the input is marked as read-only
([#&#8203;15080](https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/15080))

- `pkg/otelcol`: Fix missing default values in unredacted print-config
command by introducing confmap.WithUnredacted MarshalOption.
([#&#8203;14750](https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/14750))
Resolves an issue where the unredacted mode output omitted all
default-valued options. By introducing a new MarshalOption to disable
redaction directly at the confmap encoding level, the unredacted mode
now preserves all component defaults natively without requiring
post-processing.

- `pkg/service`: Headers on the internal telemetry OTLP exporter are now
redacted when the configuration is marshaled
([#&#8203;14756](https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/14756))

<!-- previous-version -->

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-13 14:47:46 +02:00
renovate[bot] 9b78b7e7a6 chore(deps): update module github.com/ashanbrown/forbidigo/v2 to v2.3.1 (#8182)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/ashanbrown/forbidigo/v2](https://redirect.github.com/ashanbrown/forbidigo)
| `v2.3.0` → `v2.3.1` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fashanbrown%2fforbidigo%2fv2/v2.3.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fashanbrown%2fforbidigo%2fv2/v2.3.0/v2.3.1?slim=true)
|

---

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

---

### Release Notes

<details>
<summary>ashanbrown/forbidigo
(github.com/ashanbrown/forbidigo/v2)</summary>

###
[`v2.3.1`](https://redirect.github.com/ashanbrown/forbidigo/releases/tag/v2.3.1)

[Compare
Source](https://redirect.github.com/ashanbrown/forbidigo/compare/v2.3.0...v2.3.1)

switch from gopkg.in/yaml.v3 to go.yaml.in/yaml/v3
([#&#8203;66](https://redirect.github.com/ashanbrown/forbidigo/pull/66))
Thanks [@&#8203;scop](https://redirect.github.com/scop)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-13 09:47:44 +02:00
renovate[bot] b740d4cfac chore(deps): update module github.com/ashanbrown/makezero/v2 to v2.2.1 (#8180)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/ashanbrown/makezero/v2](https://redirect.github.com/ashanbrown/makezero)
| `v2.1.0` → `v2.2.1` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fashanbrown%2fmakezero%2fv2/v2.2.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fashanbrown%2fmakezero%2fv2/v2.1.0/v2.2.1?slim=true)
|

---

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

---

### Release Notes

<details>
<summary>ashanbrown/makezero
(github.com/ashanbrown/makezero/v2)</summary>

###
[`v2.2.1`](https://redirect.github.com/ashanbrown/makezero/releases/tag/v2.2.1):
Require a minimum of one package

[Compare
Source](https://redirect.github.com/ashanbrown/makezero/compare/v2.2.0...v2.2.1)

Suggestion from
[@&#8203;m-ocean-it](https://redirect.github.com/m-ocean-it)
([#&#8203;24](https://redirect.github.com/ashanbrown/makezero/pull/24))

###
[`v2.2.0`](https://redirect.github.com/ashanbrown/makezero/releases/tag/v2.2.0):
Add support for slice type alises

[Compare
Source](https://redirect.github.com/ashanbrown/makezero/compare/v2.1.0...v2.2.0)

### Added

- Support slice type aliases per
[#&#8203;25](https://redirect.github.com/ashanbrown/makezero/pull/25).
Thanks [@&#8203;RyabovNick](https://redirect.github.com/RyabovNick) .

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- 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-go).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-13 09:36:51 +02:00
renovate[bot] cf51c18127 chore(deps): update module github.com/manuelarte/funcorder to v0.6.0 (#8181)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/manuelarte/funcorder](https://redirect.github.com/manuelarte/funcorder)
| `v0.5.0` → `v0.6.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fmanuelarte%2ffuncorder/v0.6.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fmanuelarte%2ffuncorder/v0.5.0/v0.6.0?slim=true)
|

---

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

---

### Release Notes

<details>
<summary>manuelarte/funcorder
(github.com/manuelarte/funcorder)</summary>

###
[`v0.6.0`](https://redirect.github.com/manuelarte/funcorder/releases/tag/v0.6.0)

[Compare
Source](https://redirect.github.com/manuelarte/funcorder/compare/v0.5.0...v0.6.0)

#### What's Changed

- chore(deps): bump golang.org/x/tools from 0.32.0 to 0.33.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;38](https://redirect.github.com/manuelarte/funcorder/pull/38)
- chore: simplify by [@&#8203;ldez](https://redirect.github.com/ldez) in
[#&#8203;39](https://redirect.github.com/manuelarte/funcorder/pull/39)
- chore: simplify by propagating the pass by
[@&#8203;ldez](https://redirect.github.com/ldez) in
[#&#8203;40](https://redirect.github.com/manuelarte/funcorder/pull/40)
- chore(deps): bump golang.org/x/tools from 0.33.0 to 0.34.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;41](https://redirect.github.com/manuelarte/funcorder/pull/41)
- chore: updating dependabot for github-actions by
[@&#8203;manuelarte](https://redirect.github.com/manuelarte) in
[#&#8203;42](https://redirect.github.com/manuelarte/funcorder/pull/42)
- chore(deps): bump golangci/golangci-lint-action from 7 to 8 in the
all-deps group by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;43](https://redirect.github.com/manuelarte/funcorder/pull/43)
- chore: adding tests for multiple structs defined in the same type by
[@&#8203;manuelarte](https://redirect.github.com/manuelarte) in
[#&#8203;44](https://redirect.github.com/manuelarte/funcorder/pull/44)
- chore: small improvements to .golangci.yml by
[@&#8203;manuelarte](https://redirect.github.com/manuelarte) in
[#&#8203;45](https://redirect.github.com/manuelarte/funcorder/pull/45)
- chore(deps): bump golang.org/x/tools from 0.34.0 to 0.35.0 in the
all-deps group by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;46](https://redirect.github.com/manuelarte/funcorder/pull/46)
- chore(deps): bump golang.org/x/tools from 0.35.0 to 0.36.0 in the
all-deps group by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;47](https://redirect.github.com/manuelarte/funcorder/pull/47)
- chore(deps): bump golang.org/x/tools from 0.36.0 to 0.37.0 in the
all-deps group by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;48](https://redirect.github.com/manuelarte/funcorder/pull/48)
- chore(deps): bump the all-deps group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;49](https://redirect.github.com/manuelarte/funcorder/pull/49)
- chore(deps): bump golang.org/x/tools from 0.37.0 to 0.38.0 in the
all-deps group by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;50](https://redirect.github.com/manuelarte/funcorder/pull/50)
- chore: update golangci-lint in github action by
[@&#8203;manuelarte](https://redirect.github.com/manuelarte) in
[#&#8203;51](https://redirect.github.com/manuelarte/funcorder/pull/51)
- chore(deps): bump golang.org/x/tools from 0.38.0 to 0.39.0 in the
all-deps group by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;53](https://redirect.github.com/manuelarte/funcorder/pull/53)
- chore(deps): bump golang.org/x/tools from 0.39.0 to 0.40.0 in the
all-deps group by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;54](https://redirect.github.com/manuelarte/funcorder/pull/54)
- chore(deps): bump the all-deps group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;55](https://redirect.github.com/manuelarte/funcorder/pull/55)
- chore(deps): bump golang.org/x/tools from 0.40.0 to 0.41.0 in the
all-deps group by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;56](https://redirect.github.com/manuelarte/funcorder/pull/56)
- chore(deps): bump golang.org/x/tools from 0.41.0 to 0.42.0 in the
all-deps group by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;57](https://redirect.github.com/manuelarte/funcorder/pull/57)
- chore(deps): bump golang.org/x/tools from 0.42.0 to 0.43.0 in the
all-deps group by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;58](https://redirect.github.com/manuelarte/funcorder/pull/58)
- feat: add function ordering rule for top-level functions by
[@&#8203;chrisophus](https://redirect.github.com/chrisophus) in
[#&#8203;59](https://redirect.github.com/manuelarte/funcorder/pull/59)

#### New Contributors

- [@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot]
made their first contribution in
[#&#8203;38](https://redirect.github.com/manuelarte/funcorder/pull/38)
- [@&#8203;chrisophus](https://redirect.github.com/chrisophus) made
their first contribution in
[#&#8203;59](https://redirect.github.com/manuelarte/funcorder/pull/59)

**Full Changelog**:
<https://github.com/manuelarte/funcorder/compare/v0.5.0...v0.6.0>

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-13 09:25:24 +02:00
Robert Pająk 866dd2504c attribute: deprecate Value.Emit (#8176)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/8145
2026-04-13 08:24:39 +02:00
renovate[bot] 2ce48ddbe3 chore(deps): update actions/upload-artifact action to v7.0.1 (#8177)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/upload-artifact](https://redirect.github.com/actions/upload-artifact)
| action | patch | `v7.0.0` → `v7.0.1` |

---

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

---

### Release Notes

<details>
<summary>actions/upload-artifact (actions/upload-artifact)</summary>

###
[`v7.0.1`](https://redirect.github.com/actions/upload-artifact/compare/v7.0.0...v7.0.1)

[Compare
Source](https://redirect.github.com/actions/upload-artifact/compare/v7.0.0...v7.0.1)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-10 12:10:04 -07:00
David Ashpole d96b420138 Add support for the development attributes advisory parameter (#8135)
From [the
spec](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#instrument-advisory-parameter-attributes):

> ##### Instrument advisory parameter: `Attributes`

> **Status**: [Development](../document-status.md)

> Applies to all instrument types.

> `Attributes` (a list of [attribute
keys](../common/README.md#attribute)) is
the recommended set of attribute keys to be used for the resulting
metrics.

We already have `WithAttributes` options, so i've opted to name this
`WithDefaultAttributes` to avoid naming collisions. We could also
consider `WithAttributeKeys`, or `WithDefaultAttributeKeys`

Follows the pattern for experimental options introduced in
https://github.com/open-telemetry/opentelemetry-go/pull/8111

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-04-10 14:38:44 -04:00
renovate[bot] 56cd7ab86f fix(deps): update golang.org/x to 746e56f (#8175)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [golang.org/x/exp](https://pkg.go.dev/golang.org/x/exp) | require |
digest | `7ab1446` → `746e56f` |
|
[golang.org/x/exp/typeparams](https://pkg.go.dev/golang.org/x/exp/typeparams)
| indirect | digest | `7ab1446` → `746e56f` |

---

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

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-10 18:09:27 +02:00
Robert Pająk 73876cb450 prometheus: use Value.String instead of Value.Emit (#8170)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/8144

From
https://opentelemetry.io/docs/specs/otel/compatibility/prometheus_and_openmetrics/#metric-attributes:

> non-string Attribute values MUST be converted to string attributes
following the [attribute
specification](https://opentelemetry.io/docs/specs/otel/common/#attribute).
2026-04-10 15:18:46 +02:00
Robert Pająk 1519eb8c33 attribute: Set.MarshalLog to use Value.String instead of Value.Emit (#8169)
Towards https://github.com/open-telemetry/opentelemetry-go/issues/8145
2026-04-10 15:11:31 +02:00
Robert Pająk 99d4d7b2f8 test: add test case for ByteSlice in TestValueFromAttribute (#8168)
Address
https://github.com/open-telemetry/opentelemetry-go/pull/7948#discussion_r3058364850
2026-04-10 15:02:31 +02:00
Robert Pająk ace6b2479e metricdatatest: support BYTESLICE attribute comparisons (#8167)
Address
https://github.com/open-telemetry/opentelemetry-go/pull/7948#discussion_r3058370139
2026-04-10 14:43:50 +02:00
renovate[bot] f92fc890b6 fix(deps): update module golang.org/x/tools to v0.44.0 (#8173)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [golang.org/x/tools](https://pkg.go.dev/golang.org/x/tools) |
[`v0.43.0` →
`v0.44.0`](https://cs.opensource.google/go/x/tools/+/refs/tags/v0.43.0...refs/tags/v0.44.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftools/v0.44.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftools/v0.43.0/v0.44.0?slim=true)
|

---

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

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: dmathieu <damien.mathieu@elastic.co>
2026-04-10 10:24:24 +02:00
renovate[bot] 2e58704fef chore(deps): update golang.org/x (#8171)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) | Type |
Update |
|---|---|---|---|---|---|
| [golang.org/x/crypto](https://pkg.go.dev/golang.org/x/crypto) |
[`v0.49.0` →
`v0.50.0`](https://cs.opensource.google/go/x/crypto/+/refs/tags/v0.49.0...refs/tags/v0.50.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fcrypto/v0.50.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fcrypto/v0.49.0/v0.50.0?slim=true)
| indirect | minor |
| [golang.org/x/net](https://pkg.go.dev/golang.org/x/net) | [`v0.52.0` →
`v0.53.0`](https://cs.opensource.google/go/x/net/+/refs/tags/v0.52.0...refs/tags/v0.53.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fnet/v0.53.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fnet/v0.52.0/v0.53.0?slim=true)
| indirect | minor |
| [golang.org/x/telemetry](https://pkg.go.dev/golang.org/x/telemetry) |
`93c7c8a` → `be6f6cb` |
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftelemetry/v0.0.0-20260409153401-be6f6cb8b1fa?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftelemetry/v0.0.0-20260408150255-93c7c8a2e343/v0.0.0-20260409153401-be6f6cb8b1fa?slim=true)
| indirect | digest |

---

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

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-09 16:18:40 -07:00
Tyler Yahn b1284dbfaa Support BYTESLICE attributes across trace and exporter paths (#8153)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/8164

Supersedes #8042 which does not address the `trace` or `zipkin`
packages, and has unrelated support changes.

Add end-to-end handling for `attribute.BYTESLICE` in the remaining trace
and exporter paths that still dropped, invalidated, or stringified byte
slice attributes.

This change:

- preserves byte slice attributes in `trace/auto`
- encodes byte slice attributes as OTLP `AnyValue_BytesValue` in trace,
log, and metric transforms
- serializes Zipkin byte slice attributes as JSON arrays of byte values
- adds regression tests for each updated path

## Problem

`attribute.BYTESLICE` is public, but several downstream conversions
still did not handle it correctly:

- `trace/auto` dropped byte slice attributes during conversion
- OTLP trace, log, and metric transforms fell through to their invalid
default handling
- Zipkin fell back to `Value.Emit()`, which produced a base64 string
rather than an explicit byte-array representation

That made `BYTESLICE` unusable or inconsistent depending on the export
path.

## Changes

### Trace

- Handle `attribute.BYTESLICE` in `trace/auto` by converting it to an
internal telemetry bytes value.
- Add a regression test covering byte slice conversion.

### OTLP

- Handle `attribute.BYTESLICE` in:
  - trace attribute transform
  - log gRPC attribute transform
  - log HTTP attribute transform
  - metric HTTP attribute transform
  - metric gRPC attribute transform
- Update the shared log and metric transform templates so generated
outputs stay aligned.
- Add regression tests for the trace transform, both log transform
outputs, and both metric transform outputs.

### Zipkin

- Handle `attribute.BYTESLICE` explicitly in Zipkin tag serialization.
- Serialize byte slices as JSON arrays of byte values instead of base64
text.
- Add a regression test for Zipkin byte slice serialization.

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-04-09 14:04:03 -07:00
renovate[bot] 112bed7fc0 chore(deps): update golang.org/x (#8165)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [golang.org/x/mod](https://pkg.go.dev/golang.org/x/mod) | [`v0.34.0` →
`v0.35.0`](https://cs.opensource.google/go/x/mod/+/refs/tags/v0.34.0...refs/tags/v0.35.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fmod/v0.35.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fmod/v0.34.0/v0.35.0?slim=true)
|
| [golang.org/x/text](https://pkg.go.dev/golang.org/x/text) | [`v0.35.0`
→
`v0.36.0`](https://cs.opensource.google/go/x/text/+/refs/tags/v0.35.0...refs/tags/v0.36.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftext/v0.36.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftext/v0.35.0/v0.36.0?slim=true)
|

---

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

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-09 15:51:10 +02:00
David Ashpole 0c09e08e7f Add experimental support for batching in periodic reader (#8071)
Adds experimental support for maxExportBatchSize using the
`OTEL_GO_X_METRIC_EXPORT_BATCH_SIZE=<size>` environment variable.

Previous prototype:
https://github.com/open-telemetry/opentelemetry-go/pull/7930

This preserves existing behavior for timeouts when batching is not used,
but individually applies the timeout to export calls when batching is
used.
2026-04-09 09:31:05 -04:00
renovate[bot] cdf74d8f30 fix(deps): update github.com/opentracing-contrib/go-grpc/test digest to 6b4d2bc (#8160)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github.com/opentracing-contrib/go-grpc/test](https://redirect.github.com/opentracing-contrib/go-grpc)
| require | digest | `32cd848` → `6b4d2bc` |

---

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

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-09 09:42:33 +02:00
renovate[bot] 0d49bcc05e chore(deps): update module github.com/mattn/go-isatty to v0.0.21 (#8159)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/mattn/go-isatty](https://redirect.github.com/mattn/go-isatty)
| `v0.0.20` → `v0.0.21` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fmattn%2fgo-isatty/v0.0.21?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fmattn%2fgo-isatty/v0.0.20/v0.0.21?slim=true)
|

---

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

---

### Release Notes

<details>
<summary>mattn/go-isatty (github.com/mattn/go-isatty)</summary>

###
[`v0.0.21`](https://redirect.github.com/mattn/go-isatty/compare/v0.0.20...v0.0.21)

[Compare
Source](https://redirect.github.com/mattn/go-isatty/compare/v0.0.20...v0.0.21)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-09 09:35:12 +02:00
renovate[bot] d5cada9cb8 chore(deps): update module github.com/mattn/go-runewidth to v0.0.23 (#8161)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/mattn/go-runewidth](https://redirect.github.com/mattn/go-runewidth)
| `v0.0.22` → `v0.0.23` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fmattn%2fgo-runewidth/v0.0.23?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fmattn%2fgo-runewidth/v0.0.22/v0.0.23?slim=true)
|

---

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

---

### Release Notes

<details>
<summary>mattn/go-runewidth (github.com/mattn/go-runewidth)</summary>

###
[`v0.0.23`](https://redirect.github.com/mattn/go-runewidth/compare/v0.0.22...v0.0.23)

[Compare
Source](https://redirect.github.com/mattn/go-runewidth/compare/v0.0.22...v0.0.23)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-09 09:26:30 +02:00
renovate[bot] 8d706249ea chore(deps): update golang.org/x/telemetry digest to 93c7c8a (#8158)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [golang.org/x/telemetry](https://pkg.go.dev/golang.org/x/telemetry) |
indirect | digest | `b6b0c46` → `93c7c8a` |

---

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

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-08 14:49:49 -07:00
David Ashpole 7ac83c37af Add example test for the prometheus exporter (#8137)
We used to have the examples in core, but now that they are in contrib
it can be hard to find examples of how to use the prometheus exporter.

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2026-04-08 12:18:24 -07:00
David Ashpole edd072f2c9 Improve test coverage for exponential histogram edge cases (#8129)
Some small testing improvements forked from
https://github.com/open-telemetry/opentelemetry-go/pull/8077.

This also fixes a flake where the order in which sums are added can
change the resulting sum. Use assertSumEqual to handle this similar to
other places in the test.

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2026-04-08 11:58:29 -07:00
Tyler Yahn 552d7ac071 fix(otlploghttp): replay gzipped bodies on redirect (#8152)
When gzip compression is enabled, the OTLP log HTTP client compressed
the request body for the initial send but left GetBody wired to the
original uncompressed protobuf payload.

Any redirect or retry path that rebuilt the request from GetBody could
then resend an uncompressed body while still advertising
Content-Encoding: gzip.

Update GetBody to return the gzipped buffer and add a redirect
regression test that verifies the replayed body matches the original
compressed request and can be decompressed successfully.
2026-04-08 11:48:23 -07:00
renovate[bot] 91d2940b71 chore(deps): update codspeedhq/action action to v4.13.1 (#8155)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [CodSpeedHQ/action](https://redirect.github.com/CodSpeedHQ/action) |
action | patch | `v4.13.0` → `v4.13.1` |

---

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

---

### Release Notes

<details>
<summary>CodSpeedHQ/action (CodSpeedHQ/action)</summary>

###
[`v4.13.1`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v4.13.1)

[Compare
Source](https://redirect.github.com/CodSpeedHQ/action/compare/v4.13.0...v4.13.1)

##### What's Changed

- build(deps)!: update actions to Node.js 24 runtime by
[@&#8203;shaanmajid](https://redirect.github.com/shaanmajid) in
[#&#8203;201](https://redirect.github.com/CodSpeedHQ/action/pull/201)

##### New Contributors

- [@&#8203;shaanmajid](https://redirect.github.com/shaanmajid) made
their first contribution in
[#&#8203;201](https://redirect.github.com/CodSpeedHQ/action/pull/201)

**Full Changelog**:
<https://github.com/CodSpeedHQ/action/compare/v4.13.0...v4.13.1>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
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-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbIlNraXAgQ2hhbmdlbG9nIiwiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-08 14:53:32 +02:00
renovate[bot] 3157d0a7d9 fix(deps): update module golang.org/x/sys to v0.43.0 (#8156)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [golang.org/x/sys](https://pkg.go.dev/golang.org/x/sys) | [`v0.42.0` →
`v0.43.0`](https://cs.opensource.google/go/x/sys/+/refs/tags/v0.42.0...refs/tags/v0.43.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsys/v0.43.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsys/v0.42.0/v0.43.0?slim=true)
|

---

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

---

### Configuration

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

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbIlNraXAgQ2hhbmdlbG9nIiwiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-08 14:40:06 +02:00
Robert Pająk 876f7c51e4 attribute: add String method for Value type (#8142)
Towards https://github.com/open-telemetry/opentelemetry-go/issues/7810

Fixes https://github.com/open-telemetry/opentelemetry-go/issues/8143

String representation follows:
https://opentelemetry.io/docs/specs/otel/common/#anyvalue-representation-for-non-otlp-protocols

This uses optimizations like
https://github.com/open-telemetry/opentelemetry-go/pull/8039 and we
inline the JSON-array/string encoding logic so we avoid the extra
allocations and reflection overhead of marshaling through encoding/json
(the code is inlined here not to reimplement JSON broadly, but to
provide a spec-specific, allocation-conscious formatter for a
constrained data model).

Benchmarks of both `String` and `Emit` (that is going to be deprecated)
showcase that `String` is even more efficient.

```
goos: linux
goarch: amd64
pkg: go.opentelemetry.io/otel/attribute
cpu: 13th Gen Intel(R) Core(TM) i7-13800H
BenchmarkBool/String-20                 100000000               10.20 ns/op            0 B/op          0 allocs/op
BenchmarkBool/Emit-20                   100000000               10.33 ns/op            0 B/op          0 allocs/op
BenchmarkBoolSlice/Len2/String-20               28427863                36.15 ns/op           16 B/op          1 allocs/op
BenchmarkBoolSlice/Len2/Emit-20                  5433291               201.8 ns/op            40 B/op          5 allocs/op
BenchmarkBoolSlice/Len8/String-20               12453201                99.46 ns/op           48 B/op          1 allocs/op
BenchmarkBoolSlice/Len8/Emit-20                  2185160               546.0 ns/op            88 B/op         11 allocs/op
BenchmarkInt/String-20                          100000000               10.73 ns/op            0 B/op          0 allocs/op
BenchmarkInt/Emit-20                            100000000               11.03 ns/op            0 B/op          0 allocs/op
BenchmarkIntSlice/Len2/String-20                17855926                61.57 ns/op           48 B/op          1 allocs/op
BenchmarkIntSlice/Len2/Emit-20                   6237072               184.9 ns/op            56 B/op          4 allocs/op
BenchmarkIntSlice/Len8/String-20                 6573506               192.1 ns/op           176 B/op          1 allocs/op
BenchmarkIntSlice/Len8/Emit-20                   3620901               332.8 ns/op           136 B/op          4 allocs/op
BenchmarkInt64/String-20                        100000000               10.90 ns/op            0 B/op          0 allocs/op
BenchmarkInt64/Emit-20                          100000000               10.91 ns/op            0 B/op          0 allocs/op
BenchmarkInt64Slice/Len2/String-20              20924970                59.59 ns/op           48 B/op          1 allocs/op
BenchmarkInt64Slice/Len2/Emit-20                 6755516               184.2 ns/op            56 B/op          4 allocs/op
BenchmarkInt64Slice/Len8/String-20               6033630               207.9 ns/op           176 B/op          1 allocs/op
BenchmarkInt64Slice/Len8/Emit-20                 3491808               327.2 ns/op           136 B/op          4 allocs/op
BenchmarkFloat64/String-20                      23607802                52.21 ns/op            2 B/op          1 allocs/op
BenchmarkFloat64/Emit-20                        13578472                93.34 ns/op           16 B/op          2 allocs/op
BenchmarkFloat64Slice/Len2/String-20                    12066591               111.0 ns/op            64 B/op          1 allocs/op
BenchmarkFloat64Slice/Len2/Emit-20                       5177293               234.3 ns/op            56 B/op          4 allocs/op
BenchmarkFloat64Slice/Len8/String-20                     3041408               381.9 ns/op           208 B/op          1 allocs/op
BenchmarkFloat64Slice/Len8/Emit-20                       2369974               548.3 ns/op           136 B/op          4 allocs/op
BenchmarkString/String-20                               137506468                8.578 ns/op           0 B/op          0 allocs/op
BenchmarkString/Emit-20                                 139229646                8.542 ns/op           0 B/op          0 allocs/op
BenchmarkStringSlice/Len2/Emit-20                        5809321               228.9 ns/op           120 B/op          4 allocs/op
BenchmarkStringSlice/Len8/String-20                      5089977               240.0 ns/op            96 B/op          1 allocs/op
BenchmarkStringSlice/Len8/Emit-20                        2569848               480.0 ns/op           344 B/op          4 allocs/op
BenchmarkByteSlice/String-20                            32244670                34.31 ns/op           16 B/op          1 allocs/op
BenchmarkByteSlice/Emit-20                              36643321                34.63 ns/op           16 B/op          1 allocs/op
```
2026-04-08 09:50:54 +02:00
Robert Pająk 99b2206d11 log/logtest: add Error field to Record type (#8148)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/8147
2026-04-08 09:41:26 +02:00
Robert Pająk 3b18b21580 unwrap error chains created with fmt.Errorf (#8133)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/7975

Per
https://github.com/open-telemetry/opentelemetry-go/issues/7975#issuecomment-4183251694

Per https://github.com/open-telemetry/semantic-conventions/issues/3588

Credits:
- Balaji01-4D for
https://github.com/open-telemetry/opentelemetry-go/pull/8018
- seh for providing valuable feedback
2026-04-07 20:03:30 +02:00
Nesterov Yehor 5e9a80b3ce attribute: add BYTESLICE type support (#7948)
Fixes #7933 

Add BYTES type to https://pkg.go.dev/go.opentelemetry.io/otel/attribute

- Introduces BYTES type and byte 
- Adds Bytes / BytesValue constructors
- Implements hashing support
- Adds base64 representation in Emit()
- Adds test coverage for constructors, hashing, and set equality

```
$ go test -run=^$ -bench=BenchmarkByteSlice
goos: linux
goarch: amd64
pkg: go.opentelemetry.io/otel/attribute
cpu: 13th Gen Intel(R) Core(TM) i7-13800H
BenchmarkByteSlice/Value-20             149529567                7.993 ns/op           0 B/op          0 allocs/op
BenchmarkByteSlice/KeyValue-20          136973736                8.768 ns/op           0 B/op          0 allocs/op
BenchmarkByteSlice/AsByteSlice-20       562915658                2.120 ns/op           0 B/op          0 allocs/op
BenchmarkByteSlice/Emit-20              29149410                40.26 ns/op           16 B/op          1 allocs/op
PASS
```

---------

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-04-07 09:39:32 +02:00
renovate[bot] a00b377f31 chore(deps): update module github.com/jgautheron/goconst to v1.10.0 (#8134)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/jgautheron/goconst](https://redirect.github.com/jgautheron/goconst)
| `v1.9.0` → `v1.10.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fjgautheron%2fgoconst/v1.10.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fjgautheron%2fgoconst/v1.9.0/v1.10.0?slim=true)
|

---

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

---

### Release Notes

<details>
<summary>jgautheron/goconst (github.com/jgautheron/goconst)</summary>

###
[`v1.10.0`](https://redirect.github.com/jgautheron/goconst/releases/tag/v1.10.0)

[Compare
Source](https://redirect.github.com/jgautheron/goconst/compare/v1.9.0...v1.10.0)

#### What's Changed

- fix visitor min length count, use RuneCountInString by
[@&#8203;andrdru](https://redirect.github.com/andrdru) in
[#&#8203;52](https://redirect.github.com/jgautheron/goconst/pull/52)
- Report one issue per file instead of one per string by
[@&#8203;shields](https://redirect.github.com/shields) in
[#&#8203;53](https://redirect.github.com/jgautheron/goconst/pull/53)
- test: add comprehensive test coverage for untested code paths by
[@&#8203;jgautheron](https://redirect.github.com/jgautheron) in
[#&#8203;54](https://redirect.github.com/jgautheron/goconst/pull/54)
- docs: clarify detection scope in README by
[@&#8203;jgautheron](https://redirect.github.com/jgautheron) in
[#&#8203;55](https://redirect.github.com/jgautheron/goconst/pull/55)
- feat: add -ignore-calls to ignore strings in specific function calls
by [@&#8203;jgautheron](https://redirect.github.com/jgautheron) in
[#&#8203;56](https://redirect.github.com/jgautheron/goconst/pull/56)

#### New Contributors

- [@&#8203;andrdru](https://redirect.github.com/andrdru) made their
first contribution in
[#&#8203;52](https://redirect.github.com/jgautheron/goconst/pull/52)
- [@&#8203;shields](https://redirect.github.com/shields) made their
first contribution in
[#&#8203;53](https://redirect.github.com/jgautheron/goconst/pull/53)

**Full Changelog**:
<https://github.com/jgautheron/goconst/compare/v1.9.0...v1.10.0>

</details>

---

### Configuration

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

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbIlNraXAgQ2hhbmdlbG9nIiwiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-07 09:21:05 +02:00
renovate[bot] 9cb68628ff fix(deps): update googleapis to 6f92a3b (#8140)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[google.golang.org/genproto/googleapis/api](https://redirect.github.com/googleapis/go-genproto)
| indirect | digest | `9d38bb4` → `6f92a3b` |
|
[google.golang.org/genproto/googleapis/rpc](https://redirect.github.com/googleapis/go-genproto)
| indirect | digest | `9d38bb4` → `6f92a3b` |
|
[google.golang.org/genproto/googleapis/rpc](https://redirect.github.com/googleapis/go-genproto)
| require | digest | `9d38bb4` → `6f92a3b` |

---

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

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
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-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbIlNraXAgQ2hhbmdlbG9nIiwiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-07 09:11:39 +02:00
renovate[bot] f9431c35b4 fix(deps): update github.com/opentracing-contrib/go-grpc/test digest to 32cd848 (#8141)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github.com/opentracing-contrib/go-grpc/test](https://redirect.github.com/opentracing-contrib/go-grpc)
| require | digest | `e5db982` → `32cd848` |

---

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

---

### Configuration

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

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbIlNraXAgQ2hhbmdlbG9nIiwiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-07 08:56:29 +02:00
renovate[bot] bffd2e0f24 fix(deps): update github.com/opentracing-contrib/go-grpc/test digest to e5db982 (#8136)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github.com/opentracing-contrib/go-grpc/test](https://redirect.github.com/opentracing-contrib/go-grpc)
| require | digest | `de6f1cc` → `e5db982` |

---

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

---

### Configuration

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

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

♻ **Rebasing**: Whenever PR is behind base branch, 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-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbIlNraXAgQ2hhbmdlbG9nIiwiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-04 07:29:24 -07:00
David Ashpole 28df982c8b Add support for experimental options in the metrics API (#8111)
Part of https://github.com/open-telemetry/opentelemetry-go/issues/8110

Related to
https://github.com/open-telemetry/opentelemetry-go/issues/5882.

I'm hoping to find a better way to support experimental Options types in
our API packages. This is one approach to consider.

This contains no public API changes. It introduces a type:
`ExperimentalOption` in `/metric/internal/x`, which can be used by our
experimental options defined outside of the module. Options that embed
this interface are ignored by `New*Config` builder functions in the
metrics API to prevent them from panicing when used. Only SDKs that
explicitly support the experimental option in question will respect it.
Alternative SDKs will ignore the experimental options. We would still
need to treat ExperimentalOption as a stable artifact, since the SDK
will indirectly depend on it.

See
https://github.com/open-telemetry/opentelemetry-go/compare/main...dashpole:opentelemetry-go:attributes_advisory
for how this would be used to support the advisory attributes parameter.
2026-04-03 15:56:57 -04:00