1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2026-06-19 21:45:50 +02:00
Commit Graph

4707 Commits

Author SHA1 Message Date
David Ashpole 8bc4068efe fix: off-by-one bug for FixedSizeReservoir (#8309)
While working on
https://github.com/open-telemetry/opentelemetry-go/pull/8306, I found an
off-by-one error.

Reset was setting `r.next` to `k`, and then calling advance(), which
meant `r.next` was always at least `k+1`.

The first `k` exemplars are unconditionally stored during the "fill"
phase. Count is incremented at the end of the Offer call, so the `k+1`th
exemplar was **never** stored because `r.next` is `k` when that Offer
call is being evaluated.

---------

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2026-06-09 15:53:20 -04:00
David Ashpole 9ff141f6d0 Fix incorrect formatting verbs in opencensus bridge (#8424)
fixes #8423
2026-06-09 15:38:54 -04:00
Abhijeet Prasad 0c2e50c2c0 fix(otlphttp): support retry-after HTTP-date (#8417)
Parse Retry-After header values as HTTP dates in addition to delay
seconds when retrying OTLP HTTP exports, matching RFC 7231. See
https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.3.

This is a follow up to
https://github.com/open-telemetry/opentelemetry-go/pull/8383.
2026-06-09 20:50:58 +02:00
David Ashpole 41d99e7eb1 Cleanup limitedSyncMap, and add tests (#8302)
Making some cleanups to the existing limitedSyncMap before
https://github.com/open-telemetry/opentelemetry-go/pull/8276.

### Changes

limitedSyncMap uses generics to eliminate the need to use type
assertions in the aggregators themselves, and moves all type assertions
to be internal to the limitedSyncMap implementation

Testing

* Added two new tests for limitedSyncMap: a ConcurrentSafe test, and a
test that ensures the overflow limit is correctly enforced after it is
Cleared.

Co-authored-by: Robert Pająk <pellared@hotmail.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2026-06-09 14:03:38 -04:00
Robert Pająk 3a1412d2b3 sdk/trace: avoid logging exporter endpoint configuration (#8438)
Prevent internal trace exporter logging from including endpoint
configuration.

`MarshalLog` now keeps the existing log shape where practical, but logs
exporter/client type strings instead of recursively serializing exporter
and client internals. OTLP trace HTTP/gRPC and Zipkin exporter log
payloads no longer include endpoint URLs, embedded credentials, query
tokens, internal hostnames, or insecure transport configuration.

## Changes

- Stop recursive logging of trace exporter/client config from
`sdk/trace` span processors and `otlptrace.Exporter`.
- Remove endpoint/URL fields from OTLP trace HTTP/gRPC and Zipkin
`MarshalLog` output.
- Add regression coverage for credential-bearing endpoints not appearing
in internal log output.
2026-06-09 19:09:30 +02:00
ian 1802033e48 fix(stdouttrace/observ): record error.type on opDuration when exportedSpans is disabled (#8432)
When `ExportOp.End` is called with a non-nil error and `exportedSpans`
metric is disabled but `opDuration` is enabled, the `error.type`
attribute is not included in the duration histogram record.

---------

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2026-06-09 08:07:49 -07:00
renovate[bot] 75e06c2343 chore(deps): update github.com/charmbracelet/ultraviolet digest to 35bcb73 (#8436)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github.com/charmbracelet/ultraviolet](https://redirect.github.com/charmbracelet/ultraviolet)
| indirect | digest | `6cf7526` → `35bcb73` |

---

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-09 07:53:34 -07:00
renovate[bot] 3455c6f1a6 chore(deps): update golang.org/x (#8439) 2026-06-09 13:24:17 +02:00
renovate[bot] 989566b201 fix(deps): update googleapis to 4308a22 (#8440) 2026-06-09 13:06:41 +02:00
renovate[bot] 3a3af698d3 fix(deps): update module go.opentelemetry.io/collector/pdata to v1.60.0 (#8442) 2026-06-09 12:44:17 +02:00
renovate[bot] 3e1f0653cd chore(deps): update module github.com/dlclark/regexp2/v2 to v2.2.1 (#8434) 2026-06-08 16:49:40 +02:00
renovate[bot] 58f767a448 fix(deps): update golang.org/x (#8437) 2026-06-08 16:25:23 +02:00
renovate[bot] 6043aae284 chore(deps): update codecov/codecov-action action to v7 (#8435) 2026-06-08 16:01:10 +02:00
renovate[bot] 769a73b698 chore(deps): update module github.com/dlclark/regexp2/v2 to v2.1.2 (#8429)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/dlclark/regexp2/v2](https://redirect.github.com/dlclark/regexp2)
| `v2.1.1` → `v2.1.2` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fdlclark%2fregexp2%2fv2/v2.1.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fdlclark%2fregexp2%2fv2/v2.1.1/v2.1.2?slim=true)
|

---

### Release Notes

<details>
<summary>dlclark/regexp2 (github.com/dlclark/regexp2/v2)</summary>

###
[`v2.1.2`](https://redirect.github.com/dlclark/regexp2/compare/v2.1.1...v2.1.2)

[Compare
Source](https://redirect.github.com/dlclark/regexp2/compare/v2.1.1...v2.1.2)

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-05 09:38:10 -07:00
renovate[bot] 3ee1ba7925 chore(deps): update module github.com/ldez/gomoddirectives to v0.9.0 (#8422)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/ldez/gomoddirectives](https://redirect.github.com/ldez/gomoddirectives)
| `v0.8.0` → `v0.9.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fldez%2fgomoddirectives/v0.9.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fldez%2fgomoddirectives/v0.8.0/v0.9.0?slim=true)
|

---

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

---

### Release Notes

<details>
<summary>ldez/gomoddirectives
(github.com/ldez/gomoddirectives)</summary>

###
[`v0.9.0`](https://redirect.github.com/ldez/gomoddirectives/compare/v0.8.0...v0.9.0)

[Compare
Source](https://redirect.github.com/ldez/gomoddirectives/compare/v0.8.0...v0.9.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:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDkuNCIsInVwZGF0ZWRJblZlciI6IjQzLjIwOS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJTa2lwIENoYW5nZWxvZyIsImRlcGVuZGVuY2llcyJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-04 13:04:55 -07:00
renovate[bot] 037e47cc78 fix(deps): update golang.org/x (#8421)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [golang.org/x/exp](https://pkg.go.dev/golang.org/x/exp) | require |
digest | `c761662` → `055de63` |
|
[golang.org/x/exp/typeparams](https://pkg.go.dev/golang.org/x/exp/typeparams)
| indirect | digest | `c761662` → `055de63` |
| [golang.org/x/telemetry](https://pkg.go.dev/golang.org/x/telemetry) |
indirect | digest | `5997936` → `488200d` |

---

> [!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:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDkuNCIsInVwZGF0ZWRJblZlciI6IjQzLjIwOS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJTa2lwIENoYW5nZWxvZyIsImRlcGVuZGVuY2llcyJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-04 12:22:53 -07:00
renovate[bot] ed3762249d fix(deps): update module github.com/prometheus/common to v0.68.1 (#8420)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/prometheus/common](https://redirect.github.com/prometheus/common)
| `v0.68.0` → `v0.68.1` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fprometheus%2fcommon/v0.68.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fprometheus%2fcommon/v0.68.0/v0.68.1?slim=true)
|

---

### Release Notes

<details>
<summary>prometheus/common (github.com/prometheus/common)</summary>

###
[`v0.68.1`](https://redirect.github.com/prometheus/common/releases/tag/v0.68.1)

[Compare
Source](https://redirect.github.com/prometheus/common/compare/v0.68.0...v0.68.1)

#### What's Changed

- build(deps): bump golang.org/x/net from 0.52.0 to 0.53.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;903](https://redirect.github.com/prometheus/common/pull/903)
- build(deps): bump golang.org/x/net from 0.53.0 to 0.55.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;914](https://redirect.github.com/prometheus/common/pull/914)
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://redirect.github.com/prombot) in
[#&#8203;915](https://redirect.github.com/prometheus/common/pull/915)

**Full Changelog**:
<https://github.com/prometheus/common/compare/v0.68.0...v0.68.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 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:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIwOS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJTa2lwIENoYW5nZWxvZyIsImRlcGVuZGVuY2llcyJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-04 12:02:25 -07:00
renovate[bot] d9a557f027 chore(deps): update github/codeql-action action to v4.36.2 (#8426)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github/codeql-action](https://redirect.github.com/github/codeql-action)
| action | patch | `v4.36.1` → `v4.36.2` |

---

### Release Notes

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

###
[`v4.36.2`](https://redirect.github.com/github/codeql-action/compare/v4.36.1...v4.36.2)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v4.36.1...v4.36.2)

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-04 11:35:50 -07:00
Ilya Kiselev c221f3e856 sdk/metric/internal/x: generate x package from x component template (#8397)
Closes #7381

Signed-off-by: Ilya Kiselev <Kis-Ilya-A@yandex.ru>
2026-06-03 15:05:06 +02:00
renovate[bot] 8f437b4b2c chore(deps): update github.com/golangci/rowserrcheck digest to 0ec5bd2 (#8419)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github.com/golangci/rowserrcheck](https://redirect.github.com/golangci/rowserrcheck)
| indirect | digest | `8d53bbc` → `0ec5bd2` |

---

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-02 17:15:23 -07:00
renovate[bot] dd65b4f87f chore(deps): update actions/checkout action to v6.0.3 (#8418)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://redirect.github.com/actions/checkout) |
action | patch | `v6.0.2` → `v6.0.3` |

---

### Release Notes

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

###
[`v6.0.3`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v603)

[Compare
Source](https://redirect.github.com/actions/checkout/compare/v6.0.2...v6.0.3)

- Fix checkout init for SHA-256 repositories by
[@&#8203;yaananth](https://redirect.github.com/yaananth) in
[#&#8203;2439](https://redirect.github.com/actions/checkout/pull/2439)
- fix: expand merge commit SHA regex and add SHA-256 test cases by
[@&#8203;yaananth](https://redirect.github.com/yaananth) in
[#&#8203;2414](https://redirect.github.com/actions/checkout/pull/2414)

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-02 11:17:13 -07:00
renovate[bot] 4578d848a8 chore(deps): update github/codeql-action action to v4.36.1 (#8416)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github/codeql-action](https://redirect.github.com/github/codeql-action)
| action | patch | `v4.36.0` → `v4.36.1` |

---

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

---

### Release Notes

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

###
[`v4.36.1`](https://redirect.github.com/github/codeql-action/compare/v4.36.0...v4.36.1)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v4.36.0...v4.36.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:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDYuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIwNi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJTa2lwIENoYW5nZWxvZyIsImRlcGVuZGVuY2llcyJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-02 10:27:14 -07:00
David Ashpole a7b66f16d5 docs: update AGENTS.md with CHANGELOG conventions (#8393) 2026-06-02 11:37:44 +02:00
renovate[bot] c7e701a06a chore(deps): update github.com/charmbracelet/ultraviolet digest to 6cf7526 (#8408)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github.com/charmbracelet/ultraviolet](https://redirect.github.com/charmbracelet/ultraviolet)
| indirect | digest | `948f455` → `6cf7526` |

---

> [!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:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDYuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIwNi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJTa2lwIENoYW5nZWxvZyIsImRlcGVuZGVuY2llcyJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-01 14:21:23 -07:00
renovate[bot] 3e89d82e78 fix(deps): update module github.com/prometheus/common to v0.68.0 (#8395)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/prometheus/common](https://redirect.github.com/prometheus/common)
| `v0.67.5` → `v0.68.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fprometheus%2fcommon/v0.68.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fprometheus%2fcommon/v0.67.5/v0.68.0?slim=true)
|

---

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

---

### Release Notes

<details>
<summary>prometheus/common (github.com/prometheus/common)</summary>

###
[`v0.68.0`](https://redirect.github.com/prometheus/common/releases/tag/v0.68.0)

[Compare
Source](https://redirect.github.com/prometheus/common/compare/v0.67.5...v0.68.0)

##### What's Changed

- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://redirect.github.com/prombot) in
[#&#8203;873](https://redirect.github.com/prometheus/common/pull/873)
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://redirect.github.com/prombot) in
[#&#8203;874](https://redirect.github.com/prometheus/common/pull/874)
- build(deps): bump github.com/golang-jwt/jwt/v5 from 5.3.0 to 5.3.1 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;879](https://redirect.github.com/prometheus/common/pull/879)
- build(deps): bump golang.org/x/net from 0.48.0 to 0.49.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;878](https://redirect.github.com/prometheus/common/pull/878)
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://redirect.github.com/prombot) in
[#&#8203;875](https://redirect.github.com/prometheus/common/pull/875)
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://redirect.github.com/prombot) in
[#&#8203;880](https://redirect.github.com/prometheus/common/pull/880)
- Remove logic adding unit to metrics name by
[@&#8203;vesari](https://redirect.github.com/vesari) in
[#&#8203;877](https://redirect.github.com/prometheus/common/pull/877)
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://redirect.github.com/prombot) in
[#&#8203;881](https://redirect.github.com/prometheus/common/pull/881)
- Update for Go 1.26 by
[@&#8203;SuperQ](https://redirect.github.com/SuperQ) in
[#&#8203;883](https://redirect.github.com/prometheus/common/pull/883)
- build(deps): bump golang.org/x/net from 0.49.0 to 0.51.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;882](https://redirect.github.com/prometheus/common/pull/882)
- version: Add a slog helper by
[@&#8203;SuperQ](https://redirect.github.com/SuperQ) in
[#&#8203;886](https://redirect.github.com/prometheus/common/pull/886)
- Remove Arthur from maintainers list by
[@&#8203;ArthurSens](https://redirect.github.com/ArthurSens) in
[#&#8203;885](https://redirect.github.com/prometheus/common/pull/885)
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://redirect.github.com/prombot) in
[#&#8203;895](https://redirect.github.com/prometheus/common/pull/895)
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://redirect.github.com/prombot) in
[#&#8203;896](https://redirect.github.com/prometheus/common/pull/896)
- config: change NewOAuth2RoundTripper to accept variadic
HTTPClientOption by
[@&#8203;alliasgher](https://redirect.github.com/alliasgher) in
[#&#8203;898](https://redirect.github.com/prometheus/common/pull/898)
- config: guard against nil oauth2 credential in RoundTrip by
[@&#8203;alliasgher](https://redirect.github.com/alliasgher) in
[#&#8203;897](https://redirect.github.com/prometheus/common/pull/897)
- build(deps): bump golang.org/x/net from 0.51.0 to 0.52.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;890](https://redirect.github.com/prometheus/common/pull/890)
- build(deps): bump go.yaml.in/yaml/v2 from 2.4.3 to 2.4.4 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;891](https://redirect.github.com/prometheus/common/pull/891)
- build(deps): bump golang.org/x/oauth2 from 0.34.0 to 0.36.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;892](https://redirect.github.com/prometheus/common/pull/892)
- Move interface assertions to a test file by
[@&#8203;msiegen](https://redirect.github.com/msiegen) in
[#&#8203;839](https://redirect.github.com/prometheus/common/pull/839)
- fix(http\_config): fix client cert rotation when no CA is configured
by [@&#8203;machine424](https://redirect.github.com/machine424) in
[#&#8203;908](https://redirect.github.com/prometheus/common/pull/908)
- Remove CircleCI by
[@&#8203;ArthurSens](https://redirect.github.com/ArthurSens) in
[#&#8203;910](https://redirect.github.com/prometheus/common/pull/910)
- Fix: apply DialContextFunc to OAuth2 token-fetch transport by
[@&#8203;yuri-tceretian](https://redirect.github.com/yuri-tceretian) in
[#&#8203;911](https://redirect.github.com/prometheus/common/pull/911)

##### New Contributors

- [@&#8203;alliasgher](https://redirect.github.com/alliasgher) made
their first contribution in
[#&#8203;898](https://redirect.github.com/prometheus/common/pull/898)
- [@&#8203;msiegen](https://redirect.github.com/msiegen) made their
first contribution in
[#&#8203;839](https://redirect.github.com/prometheus/common/pull/839)
- [@&#8203;machine424](https://redirect.github.com/machine424) made
their first contribution in
[#&#8203;908](https://redirect.github.com/prometheus/common/pull/908)
- [@&#8203;yuri-tceretian](https://redirect.github.com/yuri-tceretian)
made their first contribution in
[#&#8203;911](https://redirect.github.com/prometheus/common/pull/911)

**Full Changelog**:
<https://github.com/prometheus/common/compare/v0.67.5...v0.68.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 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:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDIuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIwNi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJTa2lwIENoYW5nZWxvZyIsImRlcGVuZGVuY2llcyJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-01 13:58:36 -07:00
renovate[bot] 9791ffa76e chore(deps): update module github.com/mattn/go-colorable to v0.1.15 (#8391)
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-colorable](https://redirect.github.com/mattn/go-colorable)
| `v0.1.14` → `v0.1.15` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fmattn%2fgo-colorable/v0.1.15?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fmattn%2fgo-colorable/v0.1.14/v0.1.15?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-colorable (github.com/mattn/go-colorable)</summary>

###
[`v0.1.15`](https://redirect.github.com/mattn/go-colorable/compare/v0.1.14...v0.1.15)

[Compare
Source](https://redirect.github.com/mattn/go-colorable/compare/v0.1.14...v0.1.15)

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-01 13:37:17 -07:00
Abhijeet Prasad f67594caf7 fix(otlphttp): honor retry-after seconds (#8383)
This PR updates the log, metric, and trace exporters to read the HTTP
`Retry-After` header as seconds when retrying OTLP HTTP exports.
Previously, these exporters converted the parsed integer directly to
`time.Duration`, so values such as Retry-After: 10 were honored as 10ns
instead of 10s. This means that no otel go client has respected
`Retry-After`, which makes it not spec compliant as per
https://opentelemetry.io/docs/specs/otlp/#otlphttp-throttling

> If the server receives more requests than the client is allowed or the
server is overloaded, the server SHOULD respond with HTTP 429 Too Many
Requests or HTTP 503 Service Unavailable and MAY include
[“Retry-After”](https://tools.ietf.org/html/rfc7231#section-7.1.3)
header with a recommended time interval in seconds to wait before
retrying.
>
> The client SHOULD honour the waiting interval specified in the
“Retry-After” header if it is present. If the client receives a
retryable error code (see [table
above](https://opentelemetry.io/docs/specs/otlp/#retryable-response-codes))
and the “Retry-After” header is not present in the response, then the
client SHOULD implement an exponential backoff strategy between retries.

This problem has existed since the start of all the exporter usage.
2026-06-01 22:10:41 +02:00
renovate[bot] d059699f9c chore(deps): update module github.com/securego/gosec/v2 to v2.27.1 (#8413) 2026-06-01 22:01:29 +02:00
renovate[bot] a1bbbfc36a chore(deps): update module github.com/butuzov/mirror to v1.3.3 (#8390)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/butuzov/mirror](https://redirect.github.com/butuzov/mirror)
| `v1.3.0` → `v1.3.3` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fbutuzov%2fmirror/v1.3.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fbutuzov%2fmirror/v1.3.0/v1.3.3?slim=true)
|

---

### Release Notes

<details>
<summary>butuzov/mirror (github.com/butuzov/mirror)</summary>

###
[`v1.3.3`](https://redirect.github.com/butuzov/mirror/releases/tag/v1.3.3)

[Compare
Source](https://redirect.github.com/butuzov/mirror/compare/v1.3.2...v1.3.3)

This is maintenance & compatibility (go1.25) release

#### Changelog

-
[`bdf3a32`](https://redirect.github.com/butuzov/mirror/commit/bdf3a32bb23a5d30ef7a76c4c73de5384819797e)
chores: maintenance
([#&#8203;90](https://redirect.github.com/butuzov/mirror/issues/90))

###
[`v1.3.2`](https://redirect.github.com/butuzov/mirror/compare/v1.3.0...v1.3.2)

[Compare
Source](https://redirect.github.com/butuzov/mirror/compare/v1.3.0...v1.3.2)

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-01 12:36:54 -07:00
renovate[bot] a87529e476 fix(deps): update golang.org/x to c761662 (#8384)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [golang.org/x/exp](https://pkg.go.dev/golang.org/x/exp) | require |
digest | `08cc537` → `c761662` |
|
[golang.org/x/exp/typeparams](https://pkg.go.dev/golang.org/x/exp/typeparams)
| indirect | digest | `08cc537` → `c761662` |

---

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-01 11:54:01 -07:00
renovate[bot] d49a3ecbe8 chore(deps): update module github.com/securego/gosec/v2 to v2.27.0 (#8406) 2026-06-01 19:08:22 +02:00
renovate[bot] 90b3b7755e fix(deps): update github.com/opentracing-contrib/go-grpc/test digest to bc171b2 (#8405) 2026-06-01 17:19:03 +02:00
renovate[bot] 5ca348d039 chore(deps): update module github.com/mattn/go-runewidth to v0.0.24 (#8394) 2026-06-01 16:59:06 +02:00
renovate[bot] 794c072400 chore(deps): update module github.com/jgautheron/goconst to v1.10.2 (#8380) 2026-05-29 14:47:45 +02:00
renovate[bot] f864e0c020 chore(deps): update module github.com/rogpeppe/go-internal to v1.15.0 (#8382) 2026-05-29 14:21:56 +02:00
renovate[bot] 6671f7bfb7 chore(deps): update codspeedhq/action action to v4.17.0 (#8388) 2026-05-29 12:53:40 +02:00
renovate[bot] 24ecd712b1 chore(deps): update module github.com/alecthomas/chroma/v2 to v2.26.1 (#8381) 2026-05-29 12:33:25 +02:00
Ayush de8158f87a fix(semconv): share metric option pools (#8371)
Share the AddOption and RecordOption pools used by generated semconv
metric helpers through a small internal package, instead of emitting one
pair of pools in every generated metric package.

Regenerate semconv/v1.41.0 from the updated templates.

Fixes #8356

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-05-29 12:17:09 +02:00
Robert Pająk b62d92831b Release 1.44.0 (#8376)
### Added

- Add `ByteSlice` and `ByteSliceValue` functions for new `BYTESLICE`
attribute type in `go.opentelemetry.io/otel/attribute`. (#7948)
- Apply attribute value limit to the `KindBytes` attribute type in
`go.opentelemetry.io/otel/sdk/log`. (#7990)
- Apply attribute value limit to the `BYTESLICE` attribute type in
`go.opentelemetry.io/otel/sdk/trace`. (#7990)
- Support `BYTESLICE` attributes in `go.opentelemetry.io/otel/trace`.
(#8153)
- Support `BYTESLICE` attributes in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace`. (#8153)
- Support `BYTESLICE` attributes in
`go.opentelemetry.io/otel/exporters/otlp/otlplog`. (#8153)
- Support `BYTESLICE` attributes in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. (#8153)
- Support `BYTESLICE` attributes in
`go.opentelemetry.io/otel/exporters/zipkin`. (#8153)
- Add `String` method for `Value` type in
`go.opentelemetry.io/otel/attribute`. (#8142)
- Add `Slice` and `SliceValue` functions for new `SLICE` attribute type
in `go.opentelemetry.io/otel/attribute`. (#8166)
- Support `SLICE` attributes in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace`. (#8216)
- Support `SLICE` attributes in
`go.opentelemetry.io/otel/exporters/otlp/otlplog`. (#8216)
- Support `SLICE` attributes in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. (#8216)
- Support `SLICE` attributes in
`go.opentelemetry.io/otel/exporters/zipkin`. (#8216)
- Apply `AttributeValueLengthLimit` to `attribute.SLICE` type attribute
values in `go.opentelemetry.io/otel/sdk/trace`, recursively truncating
contained string values. (#8217)
- Add `Error` field on `Record` type in
`go.opentelemetry.io/otel/log/logtest`. (#8148)
- Add `WithMaxRequestSize` option in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`.
(#8157)
- Add `WithMaxRequestSize` option in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`.
(#8157)
- Add `WithMaxRequestSize` option in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`.
(#8157)
- Add `WithMaxRequestSize` option in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`.
(#8157)
- Add `WithMaxRequestSize` option in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`. (#8157)
- Add `WithMaxRequestSize` option in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8157)
- Add `Settable` to `go.opentelemetry.io/otel/metric/x` to allow reusing
attribute options. (#8178)
- Add experimental support for splitting metric data across multiple
batches in `go.opentelemetry.io/otel/sdk/metric`.
Set `OTEL_GO_X_METRIC_EXPORT_BATCH_SIZE=<max_size>` to enable for all
periodic readers.
See `go.opentelemetry.io/otel/sdk/metric/internal/x` for feature
documentation. (#8071)
- Add experimental self-observability metrics in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`.
  Enable with `OTEL_GO_X_SELF_OBSERVABILITY=true` environment variable.
See
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/x`
for feature documentation. (#8192)
- Add experimental self-observability metrics in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`.
  Enable with `OTEL_GO_X_SELF_OBSERVABILITY=true` environment variable.
See
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal/x`
for feature documentation. (#8194)
- Add experimental self-observability metrics in
`go.opentelemetry.io/otel/exporters/stdout/stdoutlog`.
  Enable with `OTEL_GO_X_SELF_OBSERVABILITY=true` environment variable.
See `go.opentelemetry.io/otel/stdout/stdoutlog/internal/x` for feature
documentation. (#8263)
- Add `WithDefaultAttributes` to `go.opentelemetry.io/otel/metric/x` to
support setting default attributes on instruments. (#8135)
- Add `go.opentelemetry.io/otel/semconv/v1.41.0` package.
The package contains semantic conventions from the `v1.41.0` version of
the OpenTelemetry Semantic Conventions.
See the [migration documentation](./semconv/v1.41.0/MIGRATION.md) for
information on how to upgrade from
`go.opentelemetry.io/otel/semconv/v1.40.0`. (#8324)
- Add Observable variants of instruments to
`go.opentelemetry.io/otel/semconv/v1.41.0` package. (#8350)
- Generate explicit histogram bucket boundaries from weaver
configuration for HTTP and RPC duration instruments in
`go.opentelemetry.io/otel/semconv/v1.41.0`. (#8002)

### Changed

- ⚠️ **Breaking Change:** `go.opentelemetry.io/otel/sdk/metric` now
applies a default cardinality limit of 2000 to comply with the Metrics
SDK specification recommendation.
New attribute sets are dropped when the cardinality limit is reached.
The measurement of these sets are aggregated into a special attribute
set containing `attribute.Bool("otel.metric.overflow", true)`.
  This can break users who relied on the previous unlimited default.
Set `WithCardinalityLimit(0)` or the deprecated
`OTEL_GO_X_CARDINALITY_LIMIT=0` environment variable to preserve
unlimited cardinality.
Note that support for `OTEL_GO_X_CARDINALITY_LIMIT` may be removed in a
future release. (#8247)
- `ErrorType` in `go.opentelemetry.io/otel/semconv` now unwraps errors
created with `fmt.Errorf` when deriving the `error.type` attribute.
(#8133)
- `go.opentelemetry.io/otel/sdk/log` now unwraps error chains created
with `fmt.Errorf` when deriving the `error.type` attribute from errors
on log records. (#8133)
- `Set.MarshalLog` method in `go.opentelemetry.io/otel/attribute` now
uses `Value.String` formatting following the [OpenTelemetry AnyValue
representation for non-OTLP
protocols](https://opentelemetry.io/docs/specs/otel/common/#anyvalue).
(#8169)
- Optimize `go.opentelemetry.io/otel/sdk/metric` to return a drop
reservoir and short-circuit `Offer` calls to the exemplar reservoir when
`exemplar.AlwaysOffFilter` is configured. (#8211) (#8267)
- Optimize `go.opentelemetry.io/otel/sdk/metric` to return a drop
reservoir for asynchronous instruments when `exemplar.TraceBasedFilter`
is configured. (#8286)

### Deprecated

- Deprecate `Value.Emit` method in `go.opentelemetry.io/otel/attribute`.
  Use `Value.String` instead. (#8176)

### Fixed

- Limit OTLP request size to 64 MiB by default in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`.
The limit applies before compression, oversized requests are treated as
non-retryable errors, and the limit can be configured with the new
`WithMaxRequestSize` option. (#8157, #8365)
- Limit OTLP request size to 64 MiB by default in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`.
The limit applies before compression, oversized requests are treated as
non-retryable errors, and the limit can be configured with the new
`WithMaxRequestSize` option. (#8157, #8365)
- Limit OTLP request size to 64 MiB by default in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`.
The limit applies before compression, oversized requests are treated as
non-retryable errors, and the limit can be configured with the new
`WithMaxRequestSize` option. (#8157, #8365)
- Limit OTLP request size to 64 MiB by default in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`.
The limit applies before compression, oversized requests are treated as
non-retryable errors, and the limit can be configured with the new
`WithMaxRequestSize` option. (#8157, #8365)
- Limit OTLP request size to 64 MiB by default in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`.
The limit applies before compression, oversized requests are treated as
non-retryable errors, and the limit can be configured with the new
`WithMaxRequestSize` option. (#8157, #8365)
- Limit OTLP request size to 64 MiB by default in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`.
The limit applies before compression, oversized requests are treated as
non-retryable errors, and the limit can be configured with the new
`WithMaxRequestSize` option. (#8157, #8365)
- Fix gzipped request body replay on redirect in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`.
(#8135)
- Fix gzipped request body replay on redirect in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8152)
- `go.opentelemetry.io/otel/exporters/prometheus` now uses
`Value.String` formatting for label values following the [OpenTelemetry
AnyValue representation for non-OTLP
protocols](https://opentelemetry.io/docs/specs/otel/common/#anyvalue).
(#8170)
- Propagate errors from the exporter when calling `Shutdown` on
`BatchSpanProcessor` in `go.opentelemetry.io/otel/sdk/trace`. (#8197)
- Fix stale status code reporting on self-observability metrics in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp` and
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8226)
- Fix a concurrent `Collect` data race and potential panic in
`go.opentelemetry.io/otel/exporters/prometheus` when
`WithResourceAsConstantLabels` option is used. (#8227)
- Fix race condition in `FixedSizeReservoir` in
`go.opentelemetry.io/otel/sdk/metric/exemplar` by reverting #7447.
(#8249)
- Fix `FixedSizeReservoir` in
`go.opentelemetry.io/otel/sdk/metric/exemplar` to safely handle zero
size.
A capacity check in the constructor initializes the reservoir safely and
skips initialization for zero-cap; early returns in `Offer()` and
`Collect()` ensure no-op behavior. (#8295)
- Fix counting of spans and logs in self-observability metrics in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`,
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`,
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`, and
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8254)
- Drop conflicting scope attributes named `name`, `version`, or
`schema_url` from metric labels in
`go.opentelemetry.io/otel/exporters/prometheus`, preserving the
dedicated `otel_scope_name`, `otel_scope_version`, and
`otel_scope_schema_url` labels. (#8264)
- Close schema files opened by `ParseFile` in
`go.opentelemetry.io/otel/schema/v1.0` and
`go.opentelemetry.io/otel/schema/v1.1`.
([GHSA-995v-fvrw-c78m](https://github.com/open-telemetry/opentelemetry-go/security/advisories/GHSA-995v-fvrw-c78m))
- Enforce the 8192-byte baggage size limit during extraction/parsing,
changing behavior when the limit is exceeded in
`go.opentelemetry.io/otel/baggage` and
`go.opentelemetry.io/otel/propagation`. (#8222)
- Fix `go.opentelemetry.io/otel/semconv/v1.41.0` to include `Attr*`
helper methods for required attributes on observable instruments.
(#8361)
- Limit baggage extraction error reporting in
`go.opentelemetry.io/otel/propagation` to prevent malformed or oversized
baggage headers from flooding logs.
([GHSA-5wrp-cwcj-q835](https://github.com/open-telemetry/opentelemetry-go/security/advisories/GHSA-5wrp-cwcj-q835))
schema/v0.0.17 exporters/otlp/otlplog/otlploghttp/v0.20.0 exporters/otlp/otlplog/otlploggrpc/v0.20.0 sdk/log/logtest/v0.20.0 sdk/log/v0.20.0 log/logtest/v0.20.0 log/v0.20.0 metric/x/v0.66.0 exporters/prometheus/v0.66.0 sdk/metric/v1.44.0 trace/v1.44.0 sdk/v1.44.0 metric/v1.44.0 exporters/stdout/stdouttrace/v1.44.0 exporters/zipkin/v1.44.0 exporters/stdout/stdoutmetric/v1.44.0 exporters/otlp/otlptrace/otlptracegrpc/v1.44.0 exporters/otlp/otlptrace/v1.44.0 exporters/otlp/otlptrace/otlptracehttp/v1.44.0 exporters/otlp/otlpmetric/otlpmetricgrpc/v1.44.0 exporters/otlp/otlpmetric/otlpmetrichttp/v1.44.0 bridge/opentracing/v1.44.0 bridge/opencensus/v1.44.0 bridge/opencensus/test/v1.44.0 v1.44.0 exporters/stdout/stdoutlog/v0.20.0
2026-05-27 18:42:37 +02:00
renovate[bot] 94132a0a72 chore(deps): update golang.org/x/telemetry digest to 5997936 (#8379) 2026-05-27 18:31:59 +02:00
David Ashpole 6fdcf82adf feat: add self-observability metrics to otlpmetricgrpc metric exporters (#8192)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/7012

This updates
https://github.com/open-telemetry/opentelemetry-go/pull/7120, and
addresses outstanding comments. See commit descriptions for the changes
made on top of that PR. Credit to minimAluminiumalism for the initial
work.

Benchmark results:

```
goos: linux
goarch: amd64
pkg: go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/observ
cpu: Intel(R) Xeon(R) CPU @ 2.20GHz
                                             │ bench_feature.txt │
                                             │      sec/op       │
InstrumentationTrackExport/EnabledNoError-24         1.045µ ± 5%
InstrumentationTrackExport/EnabledError-24           2.248µ ± 1%
InstrumentationTrackExport/Disabled-24               9.643n ± 1%
geomean                                              282.9n

                                             │ bench_feature.txt │
                                             │       B/op        │
InstrumentationTrackExport/EnabledNoError-24        160.0 ± 0%
InstrumentationTrackExport/EnabledError-24          488.0 ± 0%
InstrumentationTrackExport/Disabled-24              0.000 ± 0%
geomean                                                        ¹
¹ summaries must be >0 to compute geomean

                                             │ bench_feature.txt │
                                             │     allocs/op     │
InstrumentationTrackExport/EnabledNoError-24        5.000 ± 0%
InstrumentationTrackExport/EnabledError-24          6.000 ± 0%
InstrumentationTrackExport/Disabled-24              0.000 ± 0%
geomean                                                        ¹
¹ summaries must be >0 to compute geomean
```

Written with assistance from Gemini.

---------

Co-authored-by: minimAluminiumalism <caixuesen@outlook.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-05-27 18:19:11 +02:00
renovate[bot] 761bbfc2f4 fix(deps): update golang.org/x (#8377) 2026-05-27 10:08:54 +02:00
renovate[bot] 3a91dc62d3 fix(deps): update googleapis to 3dc84a4 (#8375) 2026-05-27 09:28:43 +02:00
Robert Pająk f593185679 exporters/otlp: default max request size to 64 MiB (#8365)
Per https://github.com/open-telemetry/opentelemetry-proto/pull/782 where
we agreed to have 64 MiB as the default limit.
2026-05-26 21:00:40 +02:00
Robert Pająk f02feacf86 Merge commit from fork
* fix(propagation): limit baggage extraction error reporting

Use sync.Once when reporting malformed or oversized baggage headers so
attacker-controlled extraction failures cannot repeatedly flood the global error
handler/log output.

* propagation: test baggage error reporting limit

* add changelog entry
2026-05-26 19:43:43 +02:00
Aakash T M 36c2f1bfd1 semconvkit: add invariant test for histogram-exclusion rule (#8370)
Fixes #8353
2026-05-26 18:21:44 +02:00
Ali Asghar d0b6cbdff5 sdk/metric: document unit-sensitivity of DefaultAggregationSelector (#8224)
Fixes #5891

---------

Signed-off-by: Ali <alliasgher123@gmail.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-05-26 18:10:50 +02:00
ian 9a68034bd4 add self observability for stdout exporter (#8263)
ref: https://github.com/open-telemetry/opentelemetry-go/issues/7020

```txt
goos: darwin
goarch: arm64
pkg: go.opentelemetry.io/otel/exporters/stdout/stdoutlog
                                      │ bench_observability_disabled_6x.txt │ bench_observability_upload_6x.txt │
                                      │               sec/op                │           sec/op            vs base   │
ExporterObservability/Disabled-8                                3.968µ ± 1%
ExporterObservability/UploadSuccess-8                                                        4.236µ ± 2%
geomean                                                         3.967µ                       4.235µ       ? ¹ ²
¹ benchmark set differs from baseline; geomeans may not be comparable
² ratios must be >0 to compute geomean

                                      │ bench_observability_disabled_6x.txt │ bench_observability_upload_6x.txt │
                                      │                B/op                 │            B/op             vs base   │
ExporterObservability/Disabled-8                               1.419Ki ± 0%
ExporterObservability/UploadSuccess-8                                                       1.420Ki ± 0%
geomean                                                        1.419Ki                      1.420Ki       ? ¹ ²
¹ benchmark set differs from baseline; geomeans may not be comparable
² ratios must be >0 to compute geomean

                                      │ bench_observability_disabled_6x.txt │ bench_observability_upload_6x.txt │
                                      │              allocs/op              │         allocs/op           vs base   │
ExporterObservability/Disabled-8                                 33.00 ± 0%
ExporterObservability/UploadSuccess-8                                                         33.00 ± 0%
geomean                                                          33.00                        33.00       ? ¹ ²
¹ benchmark set differs from baseline; geomeans may not be comparable
² ratios must be >0 to compute geomean
```
2026-05-26 15:49:39 +02:00
renovate[bot] 714a1965ac fix(deps): update googleapis to 0a33c5d (#8369) 2026-05-25 17:38:05 +02:00
renovate[bot] 57b157714a chore(deps): update github.com/charmbracelet/ultraviolet digest to 948f455 (#8374) 2026-05-25 16:41:05 +02:00