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

4448 Commits

Author SHA1 Message Date
renovate[bot] 8f3f09505c chore(deps): update codecov/codecov-action action to v5.5.3 (#8080)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[codecov/codecov-action](https://redirect.github.com/codecov/codecov-action)
| action | patch | `v5.5.2` → `v5.5.3` |

---

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

---

### Release Notes

<details>
<summary>codecov/codecov-action (codecov/codecov-action)</summary>

###
[`v5.5.3`](https://redirect.github.com/codecov/codecov-action/releases/tag/v5.5.3)

[Compare
Source](https://redirect.github.com/codecov/codecov-action/compare/v5.5.2...v5.5.3)

##### What's Changed

- build(deps): bump actions/github-script from 7.0.1 to 8.0.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;1874](https://redirect.github.com/codecov/codecov-action/pull/1874)
- chore(release): bump to 5.5.3 by
[@&#8203;thomasrockhu-codecov](https://redirect.github.com/thomasrockhu-codecov)
in
[#&#8203;1922](https://redirect.github.com/codecov/codecov-action/pull/1922)

**Full Changelog**:
<https://github.com/codecov/codecov-action/compare/v5.5.2...v5.5.3>

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 08:48:15 +01:00
David Ashpole 911ed35fa0 Cleanup exemplar featuregate readme (#8072)
Exemplars are no longer behind a feature gate.
2026-03-19 09:12:17 +01:00
yoshimura 528ebabbf0 sdk/trace/internal/observ: guard SpanStarted and spanLive with Enabled (#8067)
Guards SpanStarted and spanLive with Enabled(ctx) to avoid building
metric
options/attributes when instruments are disabled.

```
BenchmarkTracer (noop MeterProvider):

  SpanStarted: ~1.77 ns/op -> ~0.48 ns/op (~3.7x)
  SpanLive:    ~2.05 ns/op -> ~0.52 ns/op (~3.9x)
  SpanEnded:   ~2.05 ns/op -> ~0.52 ns/op (~3.9x)
```

No behavior change when enabled; existing tests cover enabled path.
~~No CHANGELOG entry, following #7848.~~

Issue: #7800

---------

Co-authored-by: Damien Mathieu <42@dmathieu.com>
2026-03-18 16:11:37 +01:00
David Ashpole 025b01be59 Add support for the development per-series starttime feature (#8060)
Add a feature to use per-series start times to match the spec:
https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#start-timestamps

This is a prerequisite to [finishing /
closing](https://github.com/open-telemetry/opentelemetry-specification/pull/4702).

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

---------

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-03-18 09:46:12 -04:00
ian 768e930779 Added the internal/observ package to stdoutlog (#7735)
a part of #7020 

```txt
goos: windows
goarch: amd64
pkg: go.opentelemetry.io/otel/exporters/stdout/stdoutlog/internal/observ
cpu: Intel(R) Core(TM) i7-14700
                                          │  result.txt  │
                                          │    sec/op    │
InstrumentationExportLogs/NoError-28        47.68n ±  5%
InstrumentationExportLogs/PartialError-28   471.6n ±  2%
InstrumentationExportLogs/FullError-28      471.9n ± 10%
geomean                                     219.7n

                                          │  result.txt  │
                                          │     B/op     │
InstrumentationExportLogs/NoError-28        0.000 ± 0%
InstrumentationExportLogs/PartialError-28   305.0 ± 0%
InstrumentationExportLogs/FullError-28      305.0 ± 0%
geomean                                                ¹
¹ summaries must be >0 to compute geomean

                                          │  result.txt  │
                                          │  allocs/op   │
InstrumentationExportLogs/NoError-28        0.000 ± 0%
InstrumentationExportLogs/PartialError-28   4.000 ± 0%
InstrumentationExportLogs/FullError-28      4.000 ± 0%
geomean                                                ¹
¹ summaries must be >0 to compute geomean
```

---------

Co-authored-by: Damien Mathieu <42@dmathieu.com>
2026-03-18 09:48:36 +01:00
David Ashpole 5576bc22e7 Use atomics for exponential histogram buckets (#8057)
Follows https://github.com/open-telemetry/opentelemetry-go/pull/8025

This is the second PR towards a lockless fast-path for the exponential
histogram aggregation. It replaces use of uint64 with atomic.Uint64. It
does not make buckets concurrent-safe. That will come in future PRs.
This is a refactor to make future PRs easier to review since it has a
large diff, but is relatively simple.

The record and measure calls are still guarded by a lock at this point.

You can see the full set of planned changes in
https://github.com/open-telemetry/opentelemetry-go/compare/main...dashpole:opentelemetry-go:lockless_exphist_ai.
The implementation is largely based on
https://github.com/open-telemetry/opentelemetry-go/pull/7535 (which I
implemented by hand), but with help from an AI to break it down into
smaller PRs, and simplify aspects of the design.

Part of https://github.com/open-telemetry/opentelemetry-go/issues/7796
2026-03-17 10:45:24 -04:00
Ijas d5f403cab5 sdk/resource: add WithContext variants for Default and Environment (#7808) (#8051)
## Description
Address issue #7808 by plumbing `context.Context` through
`resource.Environment` and `resource.Default`.

Currently, these functions hardcode `context.Background()`, which
prevents detectors (especially those that might perform network lookups
or OS calls) from respecting timeouts or cancellations provided by the
caller.

## Changes

- Adds `EnvironmentWithContext(ctx context.Context)` as a new public
function.
- Adds `DefaultWithContext(ctx context.Context)` as a new public
function.
- Maintains backward compatibility by making `Environment()` and
`Default()` thin wrappers around the new WithContext variants.

## Testing

- Added unit tests in `sdk/resource/resource_test.go` to verify the new
functions.
- Verified that all `sdk/resource` tests pass.
- Verified that make `golangci-lint` passes repository-wide.

Fixes #7808

---------

Co-authored-by: Damien Mathieu <42@dmathieu.com>
2026-03-17 09:35:03 +01:00
Trask Stalnaker 08efeb47e7 Migrate to new bare metal runner (Ubuntu 24) (#8068)
Old runner:

- name: `oracle-bare-metal-64cpu-512gb-x86-64`
- 512gb memory
- Oracle Linux 8

New runner:

-  name: `oracle-bare-metal-64cpu-1024gb-x86-64-ubuntu-24`
- 1024gb memory
-  Ubuntu 24

I realize this could have some impact on benchmark baselines, so please
post on https://github.com/open-telemetry/community/issues/3333 once you
have migrated and are comfortable with the old one being removed.
2026-03-17 09:15:58 +01:00
renovate[bot] 7e13b024d4 chore(deps): update github.com/securego/gosec/v2 digest to 744bfb5 (#8064) 2026-03-16 15:48:29 +01:00
David Ashpole 206ac291d0 Fix race in the lastvalue aggregation where 0 could be observed (#8056)
This initializes the value of the gauge with the correct value before it
is stored in the map. We end up storing the same thing twice on the
first call, but that isn't a big deal performance-wise.

Discovered during
https://github.com/open-telemetry/opentelemetry-go/pull/8021
2026-03-16 09:30:51 -04:00
renovate[bot] b201d73b24 chore(deps): update github/codeql-action action to v4.33.0 (#8065)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github/codeql-action](https://redirect.github.com/github/codeql-action)
| action | minor | `v4.32.6` → `v4.33.0` |

---

> [!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.33.0`](https://redirect.github.com/github/codeql-action/compare/v4.32.6...v4.33.0)

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-16 13:55:58 +01:00
renovate[bot] a029201d1b chore(deps): update otel/weaver docker tag to v0.22.1 (#8061)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [otel/weaver](https://redirect.github.com/open-telemetry/weaver) |
stage | patch | `v0.22.0` → `v0.22.1` |

---

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

---

### Release Notes

<details>
<summary>open-telemetry/weaver (otel/weaver)</summary>

###
[`v0.22.1`](https://redirect.github.com/open-telemetry/weaver/releases/tag/v0.22.1):
0.22.1 - 2026-03-13

[Compare
Source](https://redirect.github.com/open-telemetry/weaver/compare/v0.22.0...v0.22.1)

#### Release Notes

*Note: 0.22.0 release was skipped due to release CI/CD issues.*

- Fix: Update release workflow for pnpm migration (use pnpm lockfile
instead of npm lockfile).
([#&#8203;1289](https://redirect.github.com/open-telemetry/weaver/pull/1289)
by [@&#8203;jerbly](https://redirect.github.com/jerbly))
- Add support for git references in the registry url
([#&#8203;182](https://redirect.github.com/open-telemetry/weaver/issues/182)
by [@&#8203;sebasnabas](https://redirect.github.com/sebasnabas))
- New feature
([#&#8203;1153](https://redirect.github.com/open-telemetry/weaver/issues/1153))
- Live-check now has a `/health` endpoint that can be used in
long-running scenarios to confirm readiness and liveness of the
live-check server.
([#&#8203;1193](https://redirect.github.com/open-telemetry/weaver/pull/1193)
by [@&#8203;jerbly](https://redirect.github.com/jerbly))
- New feature
([#&#8203;1100](https://redirect.github.com/open-telemetry/weaver/issues/1100))
- Set `--output=http` to have live-check send its report as the response
to `/stop`.
([#&#8203;1193](https://redirect.github.com/open-telemetry/weaver/pull/1193)
by [@&#8203;jerbly](https://redirect.github.com/jerbly))
- Unified output handling across all registry subcommands. Builtin
output formats (json, yaml, jsonl) are now available in `registry
stats`, `registry diff`, and `registry resolve`. `registry stats` also
supports `--templates` for custom text output templates.
([#&#8203;1200](https://redirect.github.com/open-telemetry/weaver/pull/1200)
by [@&#8203;jerbly](https://redirect.github.com/jerbly))
- New feature
([#&#8203;1152](https://redirect.github.com/open-telemetry/weaver/issues/1152))
- Live-check with `--emit-otlp-logs` will now include the attributes
from the resource in the emitted log record, this helps to identify the
source of the finding in a multi-source environment.
([#&#8203;1206](https://redirect.github.com/open-telemetry/weaver/pull/1206)
by [@&#8203;jerbly](https://redirect.github.com/jerbly))
- New Experimental feature: `weaver registry infer` command that listens
for OTLP telemetry and infers a semantic convention registry file from
the received data. Supports spans, metrics, events, and resource
attributes. Includes configurable gRPC address/port, admin server for
graceful shutdown, and inactivity timeout.
([#&#8203;1138](https://redirect.github.com/open-telemetry/weaver/pull/1138)
by [@&#8203;ArthurSens](https://redirect.github.com/ArthurSens))
- Fix: Include unit in inferred schema even if empty to prevent
live-check failures.
([#&#8203;1284](https://redirect.github.com/open-telemetry/weaver/pull/1284)
by [@&#8203;ArthurSens](https://redirect.github.com/ArthurSens))
- Use `schema_url` in registry manifest, dependencies, and resolved
schema instead of `registry_url`. Parse registry name and version
from it.
([#&#8203;1202](https://redirect.github.com/open-telemetry/weaver/pull/1202)
by [@&#8203;lmolkova](https://redirect.github.com/lmolkova))
- Default to `manifest.yaml` for registry manifest file, deprecate
`registry_manifest.yaml` and add warning when it's used.
([#&#8203;1202](https://redirect.github.com/open-telemetry/weaver/pull/1202)
by [@&#8203;lmolkova](https://redirect.github.com/lmolkova))
- 💥 BREAKING CHANGE 💥 (Fixes
[#&#8203;760](https://redirect.github.com/open-telemetry/weaver/issues/760))
- Auto-escaping is now off by default (`none`) for all templates,
regardless of file extension. To opt in, set `auto_escape: html` or
`auto_escape: json` per template in `weaver.yaml`. Within a template,
`{% autoescape false %}` blocks can selectively disable escaping for
sections. Use `|tojson` for explicit JSON/YAML value escaping where
needed.
([#&#8203;1239](https://redirect.github.com/open-telemetry/weaver/pull/1239)
by [@&#8203;jerbly](https://redirect.github.com/jerbly))
- 💥 BREAKING CHANGE 💥 Replace `version: "2"` with `file_format:
definition/2` for v2 definition schema
([#&#8203;1154](https://redirect.github.com/open-telemetry/weaver/pull/1154)
by [@&#8203;lmolkova](https://redirect.github.com/lmolkova))
- Add JSON schema for resolved registry v2
([#&#8203;1261](https://redirect.github.com/open-telemetry/weaver/pull/1261)
by [@&#8203;lmolkova](https://redirect.github.com/lmolkova))
- Add `weaver registry package` command to generate manifest and write
resolved schema.
([#&#8203;1254](https://redirect.github.com/open-telemetry/weaver/pull/1254)
by [@&#8203;lmolkova](https://redirect.github.com/lmolkova))
- Fix: `weaver registry package` command not producing output due to
warnings.
([#&#8203;1271](https://redirect.github.com/open-telemetry/weaver/pull/1271)
by [@&#8203;lmolkova](https://redirect.github.com/lmolkova))
- Update JSON Schema v2 to include `file_format`
([#&#8203;1262](https://redirect.github.com/open-telemetry/weaver/pull/1262)
by [@&#8203;lmolkova](https://redirect.github.com/lmolkova))
- Add JSON schema for `PolicyFinding`, make `context` field optional.
([#&#8203;1270](https://redirect.github.com/open-telemetry/weaver/pull/1270)
by [@&#8203;lmolkova](https://redirect.github.com/lmolkova))
- Deprecate `weaver registry resolve` command, please use `weaver
registry generate` or `package` instead
([#&#8203;1255](https://redirect.github.com/open-telemetry/weaver/pull/1255)
by [@&#8203;lmolkova](https://redirect.github.com/lmolkova))
- Support `imports` for all signal types and public attribute groups in
v2 registry.
([#&#8203;1267](https://redirect.github.com/open-telemetry/weaver/pull/1267)
by [@&#8203;jsuereth](https://redirect.github.com/jsuereth))
- Support refinements in v2 syntax: metric names, notes, etc. are now
copied from the refined group.
([#&#8203;1250](https://redirect.github.com/open-telemetry/weaver/pull/1250)
by [@&#8203;jsuereth](https://redirect.github.com/jsuereth))
- Fix stability/ordering issues in v2 publishing; attributes are now
sorted and deduplicated consistently.
([#&#8203;1282](https://redirect.github.com/open-telemetry/weaver/pull/1282)
by [@&#8203;jsuereth](https://redirect.github.com/jsuereth))
- Fix resolution for dependencies: both v1 and v2 resolution now returns
the correct attribute from the right registry when using dependencies.
([#&#8203;1280](https://redirect.github.com/open-telemetry/weaver/pull/1280)
by [@&#8203;lmolkova](https://redirect.github.com/lmolkova))
- JQ helper v2 for spans: fixes and improvements.
([#&#8203;1251](https://redirect.github.com/open-telemetry/weaver/pull/1251)
by [@&#8203;lmolkova](https://redirect.github.com/lmolkova))
- Fix 404 on template-type attributes in the `weaver serve` API.
([#&#8203;1240](https://redirect.github.com/open-telemetry/weaver/pull/1240)
by [@&#8203;jerbly](https://redirect.github.com/jerbly))
- New Experimental feature: `weaver serve` UI migrated to React.
([#&#8203;1147](https://redirect.github.com/open-telemetry/weaver/pull/1147)
by [@&#8203;nicolastakashi](https://redirect.github.com/nicolastakashi))

#### Install weaver 0.22.1

##### Install prebuilt binaries via shell script

```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/open-telemetry/weaver/releases/download/v0.22.1/weaver-installer.sh | sh
```

##### Install prebuilt binaries via powershell script

```sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/open-telemetry/weaver/releases/download/v0.22.1/weaver-installer.ps1 | iex"
```

#### Download weaver 0.22.1

| File | Platform | Checksum |
|
----------------------------------------------------------------------------------------------------------------------------------------------------
| ------------------- |
----------------------------------------------------------------------------------------------------------------------------
|
|
[weaver-aarch64-apple-darwin.tar.xz](https://redirect.github.com/open-telemetry/weaver/releases/download/v0.22.1/weaver-aarch64-apple-darwin.tar.xz)
| Apple Silicon macOS |
[checksum](https://redirect.github.com/open-telemetry/weaver/releases/download/v0.22.1/weaver-aarch64-apple-darwin.tar.xz.sha256)
|
|
[weaver-x86\_64-apple-darwin.tar.xz](https://redirect.github.com/open-telemetry/weaver/releases/download/v0.22.1/weaver-x86_64-apple-darwin.tar.xz)
| Intel macOS |
[checksum](https://redirect.github.com/open-telemetry/weaver/releases/download/v0.22.1/weaver-x86_64-apple-darwin.tar.xz.sha256)
|
|
[weaver-x86\_64-pc-windows-msvc.zip](https://redirect.github.com/open-telemetry/weaver/releases/download/v0.22.1/weaver-x86_64-pc-windows-msvc.zip)
| x64 Windows |
[checksum](https://redirect.github.com/open-telemetry/weaver/releases/download/v0.22.1/weaver-x86_64-pc-windows-msvc.zip.sha256)
|
|
[weaver-x86\_64-pc-windows-msvc.msi](https://redirect.github.com/open-telemetry/weaver/releases/download/v0.22.1/weaver-x86_64-pc-windows-msvc.msi)
| x64 Windows |
[checksum](https://redirect.github.com/open-telemetry/weaver/releases/download/v0.22.1/weaver-x86_64-pc-windows-msvc.msi.sha256)
|
|
[weaver-x86\_64-unknown-linux-gnu.tar.xz](https://redirect.github.com/open-telemetry/weaver/releases/download/v0.22.1/weaver-x86_64-unknown-linux-gnu.tar.xz)
| x64 Linux |
[checksum](https://redirect.github.com/open-telemetry/weaver/releases/download/v0.22.1/weaver-x86_64-unknown-linux-gnu.tar.xz.sha256)
|

#### Verifying GitHub Artifact Attestations

The artifacts in this release have attestations generated with GitHub
Artifact Attestations. These can be verified by using the [GitHub
CLI](https://cli.github.com/manual/gh_attestation_verify):

```sh
gh attestation verify <file-path of downloaded artifact> --repo open-telemetry/weaver
```

You can also download the attestation from
[GitHub](https://redirect.github.com/open-telemetry/weaver/attestations)
and verify against that directly:

```sh
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
```

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-16 09:31:56 +01:00
renovate[bot] fc02fe0927 chore(deps): update github.com/securego/gosec/v2 digest to dec52c4 (#8063)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github.com/securego/gosec/v2](https://redirect.github.com/securego/gosec)
| indirect | digest | `c2dfcec` → `dec52c4` |

---

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-16 09:23:14 +01:00
renovate[bot] 972a6e570e chore(deps): update otel/weaver docker tag to v0.22.0 (#8058)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [otel/weaver](https://redirect.github.com/open-telemetry/weaver) |
stage | minor | `v0.21.2` → `v0.22.0` |

---

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

---

### Release Notes

<details>
<summary>open-telemetry/weaver (otel/weaver)</summary>

###
[`v0.22.0`](https://redirect.github.com/open-telemetry/weaver/compare/v0.21.2...v0.22.0)

[Compare
Source](https://redirect.github.com/open-telemetry/weaver/compare/v0.21.2...v0.22.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:eyJjcmVhdGVkSW5WZXIiOiI0My42Ni40IiwidXBkYXRlZEluVmVyIjoiNDMuNjYuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-13 15:14:48 -07:00
renovate[bot] bdc1b511c8 chore(deps): update github.com/securego/gosec/v2 digest to c2dfcec (#8055)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github.com/securego/gosec/v2](https://redirect.github.com/securego/gosec)
| indirect | digest | `befce8d` → `c2dfcec` |

---

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-13 07:55:11 -07:00
David Ashpole 4c89d3345a exphist: replace min, max, sum, and count with atomics (#8025)
This is the first PR towards a lockless fast-path for the exponential
histogram aggregation. It just replaces use of min, max, sum and counts
with atomic types.

You can see the full set of planned changes in
https://github.com/open-telemetry/opentelemetry-go/compare/main...dashpole:opentelemetry-go:lockless_exphist_ai.
The implementation is largely based on
https://github.com/open-telemetry/opentelemetry-go/pull/7535 (which I
implemented by hand), but with help from an AI to break it down into
smaller PRs, and simplify aspects of the design.

Part of https://github.com/open-telemetry/opentelemetry-go/issues/7796
2026-03-13 10:38:11 -04:00
David Ashpole 82d57cc8b6 Add tests for exponential histogram concurrent-safety edge-cases (#8024)
Part of https://github.com/open-telemetry/opentelemetry-go/issues/7796

Improve test coverage of the concurrent-safety of exponential histogram
aggregations. This adds two tests:

* ZeroValues, which checks that the handling of zero values is correct
in concurrent scenarios
* RescalingStress, which generates inputs that intentionally cause lots
of concurrent rescales.

The RescalingStress test inputs the same values into a serial version
and parallel version of the exponential histogram aggregation and
verifies that the output buckets match afterwards.

I used AI to identify where we were missing coverage, and to design and
help implement the tests. I've reviewed and modified the tests as
needed.
2026-03-13 08:58:28 -04:00
David Ashpole 65f85fc93a Improve aggregation concurrent safe tests (#8021)
I'm taking a stab at improving the ConcurrentSafe tests for aggregations
before taking on the lockless exponential histogram implementation
again.

Part of https://github.com/open-telemetry/opentelemetry-go/issues/7796

This PR includes a few improvements:

* All concurrent-safe tests now use 10 different attribute sets to make
sure we are testing concurrent increments that result in an overflow
(the cardinality limit of the test is 3).
* All concurrent-safe tests for floats now include decimal
valued-inputs.
* Improved the validation of the collected metrics:
    * Validate the total after multiple collects.
* Validate that increments are made to the correct bucket for histograms
* Validate that the overflow attribute set has the correct total value.

This uncovered an apparent race condition where the lastvalue
aggregation can collect a value of zero even when no zero-value is
recorded. I added a TODO, and will fix this in a follow-up.

I used AI to help me design and implement tests, but requested each of
the changes, and reviewed the output.

---------

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2026-03-13 08:36:01 -04:00
Yuanyuan Zhao 2ffde5a428 trace: add Random Trace ID Flag (#8012)
## Summary

Adds API support for the W3C tracecontext random flag on `TraceFlags`
and `SpanContext` in `go.opentelemetry.io/otel/trace`:

- **`TraceFlags.IsRandom()`** — reports whether the random bit is set
- **`TraceFlags.WithRandom(bool)`** — sets or clears the random bit in a
copy of the flags
- **`SpanContext.IsRandom()`** — reports whether the random bit is set
in the span context's trace flags

These mirror the existing `IsSampled` / `WithSampled` pattern.

## Motivation

The W3C Trace Context spec defines a random bit in trace flags to
indicate probabilistic sampling. This is required for [TraceIdRatioBased
sampler](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#traceidratiobased)
support, where the random bit is set when a trace is probabilistically
sampled and is used for extrapolated span metrics.

## Related

Part of #7928 (Support TraceIdRatioBased Sampler). This PR adds the
trace API needed for that work; sampler implementation and tracestate
`th` handling will follow in separate PRs.

## Co-Author
Joshua MacDonald <jmacd@users.noreply.github.com>

---------

Co-authored-by: Joshua MacDonald <jmacd@users.noreply.github.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
Co-authored-by: Damien Mathieu <42@dmathieu.com>
2026-03-13 09:22:56 +01:00
renovate[bot] 9c5a5df1a5 chore(deps): update github.com/securego/gosec/v2 digest to befce8d (#8053)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github.com/securego/gosec/v2](https://redirect.github.com/securego/gosec)
| indirect | digest | `b7b2c7b` → `befce8d` |

---

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-13 09:14:29 +01:00
renovate[bot] 362bd1f360 fix(deps): update golang.org/x (#8052)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [golang.org/x/exp](https://pkg.go.dev/golang.org/x/exp) | require |
digest | `3dfff04` → `7ab1446` |
|
[golang.org/x/exp/typeparams](https://pkg.go.dev/golang.org/x/exp/typeparams)
| indirect | digest | `3dfff04` → `7ab1446` |
| [golang.org/x/telemetry](https://pkg.go.dev/golang.org/x/telemetry) |
indirect | digest | `579e4da` → `1546bf4` |

---

> [!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.

👻 **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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-13 09:05:55 +01:00
David Ashpole f0294a3921 Add benchmarks for end-to-end metrics SDK usage (#7768)
### Objective

Part of https://github.com/open-telemetry/opentelemetry-go/issues/7743.
I need a benchmark that can demonstrate the performance of using our
API, SDK, and attributes packages together when following our
performance guide.
https://github.com/open-telemetry/opentelemetry-go/blob/main/CONTRIBUTING.md#attribute-and-option-allocation-management.

I settled on benchmarking three scenarios: "Precomputed", "Dynamic", and
"Naive".

In the "Precomputed" scenario, it is assumed that the attribute set
being measured against is known ahead of time, and that the
instrumentation author can enumerate all possible sets, and precompute
whatever they want, and keep references to it.

In the "Dynamic" scenario, it is assumed that the attribute set being
measured against is not known ahead of time, and that it is not feasible
to enumerate all possible attribute sets ahead of time. However, this
scenario still assumes bounded cardinality, as writing metrics with an
unbounded cardinality is not the intended use of the API. I had
originally written these benchmarks with varying overall cardinality,
but the cardinality does not impact the test results, as long as it is
reasonable and bounded (e.g. < 100,000).

In the "Naive" scenario, it is assumed the user uses the API in the
simplest, most ergonomic way. This is an attempt to measure the
"default" experience of our API + SDK that users get when they use it.

I also found that relative benchmark results did not change when
different levels of parallelism are used, so all benchmark results are
single-threaded.

### Results

```
goos: linux
goarch: amd64
pkg: go.opentelemetry.io/otel/sdk/metric
cpu: Intel(R) Xeon(R) CPU @ 2.20GHz
                                                                          │   out.txt    │
                                                                          │    sec/op    │
EndToEndCounterAdd/NoFilter/Attributes/1/Precomputed/WithAttributeSet-24    59.47n ± 12%
EndToEndCounterAdd/NoFilter/Attributes/1/Precomputed/WithAttributes-24      54.50n ±  3%
EndToEndCounterAdd/NoFilter/Attributes/1/Dynamic/WithAttributeSet-24        164.3n ± 16%
EndToEndCounterAdd/NoFilter/Attributes/1/Dynamic/WithAttributes-24          219.5n ±  4%
EndToEndCounterAdd/NoFilter/Attributes/1/Naive/WithAttributes-24            268.9n ±  7%
EndToEndCounterAdd/NoFilter/Attributes/5/Precomputed/WithAttributeSet-24    51.78n ±  6%
EndToEndCounterAdd/NoFilter/Attributes/5/Precomputed/WithAttributes-24      52.95n ±  8%
EndToEndCounterAdd/NoFilter/Attributes/5/Dynamic/WithAttributeSet-24        434.9n ±  3%
EndToEndCounterAdd/NoFilter/Attributes/5/Dynamic/WithAttributes-24          646.0n ±  3%
EndToEndCounterAdd/NoFilter/Attributes/5/Naive/WithAttributes-24            802.3n ±  4%
EndToEndCounterAdd/NoFilter/Attributes/10/Precomputed/WithAttributeSet-24   52.00n ±  5%
EndToEndCounterAdd/NoFilter/Attributes/10/Precomputed/WithAttributes-24     51.88n ±  8%
EndToEndCounterAdd/NoFilter/Attributes/10/Dynamic/WithAttributeSet-24       815.9n ±  3%
EndToEndCounterAdd/NoFilter/Attributes/10/Dynamic/WithAttributes-24         1.202µ ±  3%
EndToEndCounterAdd/NoFilter/Attributes/10/Naive/WithAttributes-24           1.527µ ±  7%
EndToEndCounterAdd/Filtered/Attributes/1/Precomputed/WithAttributeSet-24    136.6n ±  5%
EndToEndCounterAdd/Filtered/Attributes/1/Precomputed/WithAttributes-24      138.4n ±  3%
EndToEndCounterAdd/Filtered/Attributes/1/Dynamic/WithAttributeSet-24        251.6n ±  5%
EndToEndCounterAdd/Filtered/Attributes/1/Dynamic/WithAttributes-24          314.7n ±  7%
EndToEndCounterAdd/Filtered/Attributes/1/Naive/WithAttributes-24            357.9n ±  6%
EndToEndCounterAdd/Filtered/Attributes/5/Precomputed/WithAttributeSet-24    499.7n ±  4%
EndToEndCounterAdd/Filtered/Attributes/5/Precomputed/WithAttributes-24      510.5n ±  5%
EndToEndCounterAdd/Filtered/Attributes/5/Dynamic/WithAttributeSet-24        987.1n ±  6%
EndToEndCounterAdd/Filtered/Attributes/5/Dynamic/WithAttributes-24          1.169µ ±  9%
EndToEndCounterAdd/Filtered/Attributes/5/Naive/WithAttributes-24            1.297µ ±  5%
EndToEndCounterAdd/Filtered/Attributes/10/Precomputed/WithAttributeSet-24   1.044µ ±  7%
EndToEndCounterAdd/Filtered/Attributes/10/Precomputed/WithAttributes-24     992.6n ±  7%
EndToEndCounterAdd/Filtered/Attributes/10/Dynamic/WithAttributeSet-24       1.838µ ±  6%
EndToEndCounterAdd/Filtered/Attributes/10/Dynamic/WithAttributes-24         2.258µ ±  4%
EndToEndCounterAdd/Filtered/Attributes/10/Naive/WithAttributes-24           2.553µ ±  6%
geomean                                                                     375.7n

                                                                          │    out.txt     │
                                                                          │      B/op      │
EndToEndCounterAdd/NoFilter/Attributes/1/Precomputed/WithAttributeSet-24      0.000 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/1/Precomputed/WithAttributes-24        0.000 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/1/Dynamic/WithAttributeSet-24          88.00 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/1/Dynamic/WithAttributes-24            152.0 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/1/Naive/WithAttributes-24              232.0 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/5/Precomputed/WithAttributeSet-24      0.000 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/5/Precomputed/WithAttributes-24        0.000 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/5/Dynamic/WithAttributeSet-24          345.0 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/5/Dynamic/WithAttributes-24            665.0 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/5/Naive/WithAttributes-24             1000.0 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/10/Precomputed/WithAttributeSet-24     0.000 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/10/Precomputed/WithAttributes-24       0.000 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/10/Dynamic/WithAttributeSet-24         730.0 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/10/Dynamic/WithAttributes-24         1.401Ki ± 0%
EndToEndCounterAdd/NoFilter/Attributes/10/Naive/WithAttributes-24           2.102Ki ± 0%
EndToEndCounterAdd/Filtered/Attributes/1/Precomputed/WithAttributeSet-24      64.00 ± 0%
EndToEndCounterAdd/Filtered/Attributes/1/Precomputed/WithAttributes-24        64.00 ± 0%
EndToEndCounterAdd/Filtered/Attributes/1/Dynamic/WithAttributeSet-24          152.0 ± 0%
EndToEndCounterAdd/Filtered/Attributes/1/Dynamic/WithAttributes-24            216.0 ± 0%
EndToEndCounterAdd/Filtered/Attributes/1/Naive/WithAttributes-24              296.0 ± 0%
EndToEndCounterAdd/Filtered/Attributes/5/Precomputed/WithAttributeSet-24      576.0 ± 0%
EndToEndCounterAdd/Filtered/Attributes/5/Precomputed/WithAttributes-24        576.0 ± 0%
EndToEndCounterAdd/Filtered/Attributes/5/Dynamic/WithAttributeSet-24          922.0 ± 0%
EndToEndCounterAdd/Filtered/Attributes/5/Dynamic/WithAttributes-24          1.213Ki ± 0%
EndToEndCounterAdd/Filtered/Attributes/5/Naive/WithAttributes-24            1.539Ki ± 0%
EndToEndCounterAdd/Filtered/Attributes/10/Precomputed/WithAttributeSet-24   1.312Ki ± 0%
EndToEndCounterAdd/Filtered/Attributes/10/Precomputed/WithAttributes-24     1.312Ki ± 0%
EndToEndCounterAdd/Filtered/Attributes/10/Dynamic/WithAttributeSet-24       2.027Ki ± 0%
EndToEndCounterAdd/Filtered/Attributes/10/Dynamic/WithAttributes-24         2.716Ki ± 0%
EndToEndCounterAdd/Filtered/Attributes/10/Naive/WithAttributes-24           3.414Ki ± 0%
geomean                                                                                  ¹
¹ summaries must be >0 to compute geomean

                                                                          │   out.txt    │
                                                                          │  allocs/op   │
EndToEndCounterAdd/NoFilter/Attributes/1/Precomputed/WithAttributeSet-24    0.000 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/1/Precomputed/WithAttributes-24      0.000 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/1/Dynamic/WithAttributeSet-24        2.000 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/1/Dynamic/WithAttributes-24          3.000 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/1/Naive/WithAttributes-24            5.000 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/5/Precomputed/WithAttributeSet-24    0.000 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/5/Precomputed/WithAttributes-24      0.000 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/5/Dynamic/WithAttributeSet-24        2.000 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/5/Dynamic/WithAttributes-24          3.000 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/5/Naive/WithAttributes-24            5.000 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/10/Precomputed/WithAttributeSet-24   0.000 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/10/Precomputed/WithAttributes-24     0.000 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/10/Dynamic/WithAttributeSet-24       2.000 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/10/Dynamic/WithAttributes-24         3.000 ± 0%
EndToEndCounterAdd/NoFilter/Attributes/10/Naive/WithAttributes-24           5.000 ± 0%
EndToEndCounterAdd/Filtered/Attributes/1/Precomputed/WithAttributeSet-24    1.000 ± 0%
EndToEndCounterAdd/Filtered/Attributes/1/Precomputed/WithAttributes-24      1.000 ± 0%
EndToEndCounterAdd/Filtered/Attributes/1/Dynamic/WithAttributeSet-24        3.000 ± 0%
EndToEndCounterAdd/Filtered/Attributes/1/Dynamic/WithAttributes-24          4.000 ± 0%
EndToEndCounterAdd/Filtered/Attributes/1/Naive/WithAttributes-24            6.000 ± 0%
EndToEndCounterAdd/Filtered/Attributes/5/Precomputed/WithAttributeSet-24    2.000 ± 0%
EndToEndCounterAdd/Filtered/Attributes/5/Precomputed/WithAttributes-24      2.000 ± 0%
EndToEndCounterAdd/Filtered/Attributes/5/Dynamic/WithAttributeSet-24        4.000 ± 0%
EndToEndCounterAdd/Filtered/Attributes/5/Dynamic/WithAttributes-24          5.000 ± 0%
EndToEndCounterAdd/Filtered/Attributes/5/Naive/WithAttributes-24            7.000 ± 0%
EndToEndCounterAdd/Filtered/Attributes/10/Precomputed/WithAttributeSet-24   2.000 ± 0%
EndToEndCounterAdd/Filtered/Attributes/10/Precomputed/WithAttributes-24     2.000 ± 0%
EndToEndCounterAdd/Filtered/Attributes/10/Dynamic/WithAttributeSet-24       4.000 ± 0%
EndToEndCounterAdd/Filtered/Attributes/10/Dynamic/WithAttributes-24         5.000 ± 0%
EndToEndCounterAdd/Filtered/Attributes/10/Naive/WithAttributes-24           7.000 ± 0%
geomean                                                                                ¹
¹ summaries must be >0 to compute geomean
```

### Observations

* When the attributes are known ahead of time (Precomputed),
WithAttributes and WithAttributeSet have equal performance.
* When attributes are not known ahead of time (Dynamic), WithAttributes
is worse than WithAttributeSet (mostly 1 extra allocation).
* When an attribute filter is applied, the performance of the SDK
degrades significantly. In the Precomputed case with 10 attributes, the
performance goes from 50ns to 1000ns, and from 0 allocations to 2
allocations.
2026-03-12 13:06:36 -07:00
Tyler Yahn 9587c57d48 Optimize attribute slice conversion (#8039)
This PR refactors the internal slice conversion helpers in
`attribute/internal` to use generics and adds explicit short-length fast
paths for slice-backed attribute values.

The main changes are:

- replace the old type-specific internal helpers with generic
`SliceValue[T]` and `AsSlice[T]`
- preserve the comparable-array storage model used by `Value` and
`KeyValue`
- add fixed-size fast paths for lengths `0..3`
- add a matching short-length fast path in `IntSliceValue` before
falling back to `[]int64` conversion
- keep reflection as the fallback for larger slice lengths
- keep the existing `Value.As*Slice()` methods in `attribute` as thin
wrappers over the generic internal helpers
- add type-mismatch coverage for `AsSlice[T]`
- expand the benchmark suite so it measures both:
  - short slices that hit the new fixed-size path
  - longer slices that still use the reflective fallback

## Rationale

The package still needs reflection for arbitrary runtime lengths because
slice values are stored as comparable arrays behind `any`, and Go cannot
construct a runtime-sized array type without `reflect.ArrayOf`.

The fast path is intentionally small. The cutoff of `0..3` is based on a
combination of:

- benchmark gains for short slices
- semantic convention examples where `1..3` values are common
- downstream source analysis, which found that most external call sites
pass variables rather than inline literals, so static source scanning
does not justify a larger cutoff

## External Usage Validation

Downstream scan:

- sampled repos cloned and scanned: `285`
- most external call sites pass dynamic slice variables, not inline
literals
- final literal counts recovered statically:
- `StringSlice`: total `131`, dynamic `121`, literal len `0`: `1`, len
`1`: `8`, len `2`: `1`
  - `IntSlice`: total `5`, all dynamic
  - `Int64Slice`: total `6`, all dynamic
  - `BoolSlice`: total `3`, all dynamic
  - `Float64Slice`: total `3`, all dynamic

Semantic conventions reviewed locally in `semantic-conventions` include
several slice-valued attributes where short lists are normal, for
example:

- `browser.brands`
- `gen_ai.request.stop_sequences`
- `gen_ai.request.encoding_formats`
- `gen_ai.response.finish_reasons`
- `user.roles`
- `file.attributes`

There are also clearly unbounded cases like headers, metadata, command
args, and some cloud/provider arrays. That combination supports a small
fast path, but not an assumption that all real-world slices are tiny.

## Benchmarks

Changes to the benchmarks:

- internal microbenchmarks now run both `Len2` and `Len8`
- public `attribute` benchmarks now run both `Len2` and `Len8`
- repeated benchmark runs were compared with `benchstat`

`Len2` exercises the new fixed-size path. `Len8` exercises the
reflective fallback path.

Headline result:

- short slices improve substantially
- large slices stay close to baseline because they still use reflection
- `IntSlice` now gets the same short-slice win as the other slice types,
but larger `[]int` values still pay the `[]int` to `[]int64` conversion
cost

### Internal Helpers

```text
goos: linux
goarch: amd64
pkg: go.opentelemetry.io/otel/attribute/internal
cpu: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
                         │ /tmp/bench-internal-base-v2.txt │  /tmp/bench-internal-current-v2.txt  │
                         │             sec/op              │    sec/op     vs base                │
BoolSliceValue/Len2-8                        124.00n ±  4%   19.36n ± 12%  -84.39% (p=0.000 n=12)
BoolSliceValue/Len8-8                         129.9n ±  2%   136.8n ±  3%   +5.31% (p=0.000 n=12)
Int64SliceValue/Len2-8                       146.00n ± 26%   26.13n ±  3%  -82.10% (p=0.000 n=12)
Int64SliceValue/Len8-8                        172.1n ±  4%   174.9n ±  5%        ~ (p=0.443 n=12)
Float64SliceValue/Len2-8                     151.70n ±  2%   26.25n ±  2%  -82.70% (p=0.000 n=12)
Float64SliceValue/Len8-8                      173.6n ±  2%   169.7n ±  4%        ~ (p=0.155 n=12)
StringSliceValue/Len2-8                      177.15n ±  2%   42.03n ±  3%  -76.27% (p=0.000 n=12)
StringSliceValue/Len8-8                       217.2n ±  6%   219.1n ±  6%        ~ (p=0.504 n=12)
AsFloat64Slice/Len2-8                         96.77n ±  3%   63.05n ± 27%  -34.84% (p=0.000 n=12)
AsFloat64Slice/Len8-8                         123.8n ± 18%   117.1n ±  4%        ~ (p=1.000 n=12)
geomean                                       147.6n         71.85n        -51.33%

                         │ /tmp/bench-internal-base-v2.txt │  /tmp/bench-internal-current-v2.txt  │
                         │              B/op               │    B/op     vs base                  │
BoolSliceValue/Len2-8                           4.000 ± 0%   2.000 ± 0%  -50.00% (p=0.000 n=12)
BoolSliceValue/Len8-8                           16.00 ± 0%   16.00 ± 0%        ~ (p=1.000 n=12) ¹
Int64SliceValue/Len2-8                          32.00 ± 0%   16.00 ± 0%  -50.00% (p=0.000 n=12)
Int64SliceValue/Len8-8                          128.0 ± 0%   128.0 ± 0%        ~ (p=1.000 n=12) ¹
Float64SliceValue/Len2-8                        32.00 ± 0%   16.00 ± 0%  -50.00% (p=0.000 n=12)
Float64SliceValue/Len8-8                        128.0 ± 0%   128.0 ± 0%        ~ (p=1.000 n=12) ¹
StringSliceValue/Len2-8                         64.00 ± 0%   32.00 ± 0%  -50.00% (p=0.000 n=12)
StringSliceValue/Len8-8                         256.0 ± 0%   256.0 ± 0%        ~ (p=1.000 n=12) ¹
AsFloat64Slice/Len2-8                           40.00 ± 0%   40.00 ± 0%        ~ (p=1.000 n=12) ¹
AsFloat64Slice/Len8-8                           88.00 ± 0%   88.00 ± 0%        ~ (p=1.000 n=12) ¹
geomean                                         47.77        36.21       -24.21%
¹ all samples are equal

                         │ /tmp/bench-internal-base-v2.txt │  /tmp/bench-internal-current-v2.txt  │
                         │            allocs/op            │ allocs/op   vs base                  │
BoolSliceValue/Len2-8                           2.000 ± 0%   1.000 ± 0%  -50.00% (p=0.000 n=12)
BoolSliceValue/Len8-8                           2.000 ± 0%   2.000 ± 0%        ~ (p=1.000 n=12) ¹
Int64SliceValue/Len2-8                          2.000 ± 0%   1.000 ± 0%  -50.00% (p=0.000 n=12)
Int64SliceValue/Len8-8                          2.000 ± 0%   2.000 ± 0%        ~ (p=1.000 n=12) ¹
Float64SliceValue/Len2-8                        2.000 ± 0%   1.000 ± 0%  -50.00% (p=0.000 n=12)
Float64SliceValue/Len8-8                        2.000 ± 0%   2.000 ± 0%        ~ (p=1.000 n=12) ¹
StringSliceValue/Len2-8                         2.000 ± 0%   1.000 ± 0%  -50.00% (p=0.000 n=12)
StringSliceValue/Len8-8                         2.000 ± 0%   2.000 ± 0%        ~ (p=1.000 n=12) ¹
AsFloat64Slice/Len2-8                           2.000 ± 0%   2.000 ± 0%        ~ (p=1.000 n=12) ¹
AsFloat64Slice/Len8-8                           2.000 ± 0%   2.000 ± 0%        ~ (p=1.000 n=12) ¹
geomean                                         2.000        1.516       -24.21%
¹ all samples are equal
```

### Public `attribute` API

```text
goos: linux
goarch: amd64
pkg: go.opentelemetry.io/otel/attribute
cpu: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
                                   │ /tmp/bench-attr-base-v2.txt │    /tmp/bench-attr-current-v3.txt    │
                                   │           sec/op            │    sec/op     vs base                │
BoolSlice/Len2/Value-8                             130.65n ±  3%   16.90n ±  3%  -87.06% (p=0.000 n=12)
BoolSlice/Len2/KeyValue-8                          135.85n ± 14%   23.49n ±  2%  -82.71% (p=0.000 n=12)
BoolSlice/Len2/AsBoolSlice-8                        50.22n ±  1%   19.12n ± 15%  -61.92% (p=0.000 n=12)
BoolSlice/Len2/Emit-8                               343.9n ±  1%   293.4n ±  1%  -14.68% (p=0.000 n=12)
BoolSlice/Len8/Value-8                              134.7n ±  2%   136.4n ±  2%   +1.22% (p=0.011 n=12)
BoolSlice/Len8/KeyValue-8                           137.7n ±  2%   140.6n ±  2%   +2.11% (p=0.046 n=12)
BoolSlice/Len8/AsBoolSlice-8                        53.59n ± 22%   61.15n ± 22%  +14.11% (p=0.020 n=12)
BoolSlice/Len8/Emit-8                               773.5n ±  1%   788.5n ±  2%   +1.93% (p=0.028 n=12)
IntSlice/Len2/Value-8                              140.85n ±  2%   36.20n ±  3%  -74.30% (p=0.000 n=12)
IntSlice/Len2/KeyValue-8                           149.65n ±  2%   42.84n ±  3%  -71.37% (p=0.000 n=12)
IntSlice/Len2/Emit-8                                318.2n ±  3%   279.6n ± 15%  -12.15% (p=0.012 n=12)
IntSlice/Len8/Value-8                               217.9n ±  1%   228.8n ±  2%   +5.00% (p=0.001 n=12)
IntSlice/Len8/KeyValue-8                            225.6n ± 29%   232.3n ±  3%        ~ (p=0.767 n=12)
IntSlice/Len8/Emit-8                                480.0n ±  1%   478.6n ±  2%        ~ (p=0.899 n=12)
Int64Slice/Len2/Value-8                            150.90n ±  1%   27.43n ±  3%  -81.82% (p=0.000 n=12)
Int64Slice/Len2/KeyValue-8                         152.05n ±  1%   34.34n ±  3%  -77.42% (p=0.000 n=12)
Int64Slice/Len2/AsInt64Slice-8                      58.69n ±  4%   28.58n ±  3%  -51.30% (p=0.000 n=12)
Int64Slice/Len2/Emit-8                              318.4n ±  3%   273.9n ±  1%  -13.99% (p=0.000 n=12)
Int64Slice/Len8/Value-8                             173.0n ±  8%   177.8n ±  2%        ~ (p=0.173 n=12)
Int64Slice/Len8/KeyValue-8                          184.0n ± 24%   184.3n ±  2%        ~ (p=0.701 n=12)
Int64Slice/Len8/AsInt64Slice-8                      72.04n ±  2%   83.05n ±  2%  +15.30% (p=0.000 n=12)
Int64Slice/Len8/Emit-8                              474.9n ± 19%   501.9n ± 18%   +5.67% (p=0.020 n=12)
Float64Slice/Len2/Value-8                          150.95n ±  3%   26.92n ±  3%  -82.17% (p=0.000 n=12)
Float64Slice/Len2/KeyValue-8                       153.95n ±  3%   33.08n ±  2%  -78.52% (p=0.000 n=12)
Float64Slice/Len2/AsFloat64Slice-8                  60.31n ± 24%   27.02n ±  1%  -55.19% (p=0.000 n=12)
Float64Slice/Len2/Emit-8                            434.2n ±  2%   380.4n ±  1%  -12.40% (p=0.000 n=12)
Float64Slice/Len8/Value-8                           173.7n ±  2%   175.2n ± 25%        ~ (p=0.248 n=12)
Float64Slice/Len8/KeyValue-8                        174.0n ±  4%   175.2n ±  2%        ~ (p=0.702 n=12)
Float64Slice/Len8/AsFloat64Slice-8                  71.17n ±  8%   78.00n ±  4%   +9.58% (p=0.007 n=12)
Float64Slice/Len8/Emit-8                            920.6n ± 20%   909.9n ±  8%        ~ (p=0.378 n=12)
StringSlice/Len2/Value-8                           174.00n ±  5%   41.97n ± 20%  -75.88% (p=0.000 n=12)
StringSlice/Len2/KeyValue-8                        179.85n ±  2%   46.76n ±  2%  -74.00% (p=0.000 n=12)
StringSlice/Len2/AsStringSlice-8                    76.03n ±  5%   39.83n ±  3%  -47.61% (p=0.000 n=12)
StringSlice/Len2/Emit-8                             386.0n ±  2%   332.3n ±  3%  -13.91% (p=0.000 n=12)
StringSlice/Len8/Value-8                            225.4n ±  4%   226.2n ±  4%        ~ (p=0.311 n=12)
StringSlice/Len8/KeyValue-8                         228.1n ±  7%   234.2n ±  4%        ~ (p=0.386 n=12)
StringSlice/Len8/AsStringSlice-8                    110.8n ± 25%   117.8n ±  4%        ~ (p=0.173 n=12)
StringSlice/Len8/Emit-8                             658.7n ±  3%   647.9n ±  5%        ~ (p=0.319 n=12)
geomean                                             181.7n         110.7n        -39.08%

                                   │ /tmp/bench-attr-base-v2.txt │    /tmp/bench-attr-current-v3.txt    │
                                   │            B/op             │    B/op     vs base                  │
BoolSlice/Len2/Value-8                                4.000 ± 0%   2.000 ± 0%  -50.00% (p=0.000 n=12)
BoolSlice/Len2/KeyValue-8                             4.000 ± 0%   2.000 ± 0%  -50.00% (p=0.000 n=12)
BoolSlice/Len2/AsBoolSlice-8                          2.000 ± 0%   2.000 ± 0%        ~ (p=1.000 n=12) ¹
BoolSlice/Len2/Emit-8                                 40.00 ± 0%   40.00 ± 0%        ~ (p=1.000 n=12) ¹
BoolSlice/Len8/Value-8                                16.00 ± 0%   16.00 ± 0%        ~ (p=1.000 n=12) ¹
BoolSlice/Len8/KeyValue-8                             16.00 ± 0%   16.00 ± 0%        ~ (p=1.000 n=12) ¹
BoolSlice/Len8/AsBoolSlice-8                          8.000 ± 0%   8.000 ± 0%        ~ (p=1.000 n=12) ¹
BoolSlice/Len8/Emit-8                                 88.00 ± 0%   88.00 ± 0%        ~ (p=1.000 n=12) ¹
IntSlice/Len2/Value-8                                 32.00 ± 0%   16.00 ± 0%  -50.00% (p=0.000 n=12)
IntSlice/Len2/KeyValue-8                              32.00 ± 0%   16.00 ± 0%  -50.00% (p=0.000 n=12)
IntSlice/Len2/Emit-8                                  56.00 ± 0%   56.00 ± 0%        ~ (p=1.000 n=12) ¹
IntSlice/Len8/Value-8                                 128.0 ± 0%   192.0 ± 0%  +50.00% (p=0.000 n=12)
IntSlice/Len8/KeyValue-8                              128.0 ± 0%   192.0 ± 0%  +50.00% (p=0.000 n=12)
IntSlice/Len8/Emit-8                                  136.0 ± 0%   136.0 ± 0%        ~ (p=1.000 n=12) ¹
Int64Slice/Len2/Value-8                               32.00 ± 0%   16.00 ± 0%  -50.00% (p=0.000 n=12)
Int64Slice/Len2/KeyValue-8                            32.00 ± 0%   16.00 ± 0%  -50.00% (p=0.000 n=12)
Int64Slice/Len2/AsInt64Slice-8                        16.00 ± 0%   16.00 ± 0%        ~ (p=1.000 n=12) ¹
Int64Slice/Len2/Emit-8                                56.00 ± 0%   56.00 ± 0%        ~ (p=1.000 n=12) ¹
Int64Slice/Len8/Value-8                               128.0 ± 0%   128.0 ± 0%        ~ (p=1.000 n=12) ¹
Int64Slice/Len8/KeyValue-8                            128.0 ± 0%   128.0 ± 0%        ~ (p=1.000 n=12) ¹
Int64Slice/Len8/AsInt64Slice-8                        64.00 ± 0%   64.00 ± 0%        ~ (p=1.000 n=12) ¹
Int64Slice/Len8/Emit-8                                136.0 ± 0%   136.0 ± 0%        ~ (p=1.000 n=12) ¹
Float64Slice/Len2/Value-8                             32.00 ± 0%   16.00 ± 0%  -50.00% (p=0.000 n=12)
Float64Slice/Len2/KeyValue-8                          32.00 ± 0%   16.00 ± 0%  -50.00% (p=0.000 n=12)
Float64Slice/Len2/AsFloat64Slice-8                    16.00 ± 0%   16.00 ± 0%        ~ (p=1.000 n=12) ¹
Float64Slice/Len2/Emit-8                              56.00 ± 0%   56.00 ± 0%        ~ (p=1.000 n=12) ¹
Float64Slice/Len8/Value-8                             128.0 ± 0%   128.0 ± 0%        ~ (p=1.000 n=12) ¹
Float64Slice/Len8/KeyValue-8                          128.0 ± 0%   128.0 ± 0%        ~ (p=1.000 n=12) ¹
Float64Slice/Len8/AsFloat64Slice-8                    64.00 ± 0%   64.00 ± 0%        ~ (p=1.000 n=12) ¹
Float64Slice/Len8/Emit-8                              136.0 ± 0%   136.0 ± 0%        ~ (p=1.000 n=12) ¹
StringSlice/Len2/Value-8                              64.00 ± 0%   32.00 ± 0%  -50.00% (p=0.000 n=12)
StringSlice/Len2/KeyValue-8                           64.00 ± 0%   32.00 ± 0%  -50.00% (p=0.000 n=12)
StringSlice/Len2/AsStringSlice-8                      32.00 ± 0%   32.00 ± 0%        ~ (p=1.000 n=12) ¹
StringSlice/Len2/Emit-8                               120.0 ± 0%   120.0 ± 0%        ~ (p=1.000 n=12) ¹
StringSlice/Len8/Value-8                              256.0 ± 0%   256.0 ± 0%        ~ (p=1.000 n=12) ¹
StringSlice/Len8/KeyValue-8                           256.0 ± 0%   256.0 ± 0%        ~ (p=1.000 n=12) ¹
StringSlice/Len8/AsStringSlice-8                      128.0 ± 0%   128.0 ± 0%        ~ (p=1.000 n=12) ¹
StringSlice/Len8/Emit-8                               344.0 ± 0%   344.0 ± 0%        ~ (p=1.000 n=12) ¹
geomean                                               49.39        42.05       -14.88%
¹ all samples are equal

                                   │ /tmp/bench-attr-base-v2.txt │    /tmp/bench-attr-current-v3.txt    │
                                   │          allocs/op          │ allocs/op   vs base                  │
BoolSlice/Len2/Value-8                                2.000 ± 0%   1.000 ± 0%  -50.00% (p=0.000 n=12)
BoolSlice/Len2/KeyValue-8                             2.000 ± 0%   1.000 ± 0%  -50.00% (p=0.000 n=12)
BoolSlice/Len2/AsBoolSlice-8                          1.000 ± 0%   1.000 ± 0%        ~ (p=1.000 n=12) ¹
BoolSlice/Len2/Emit-8                                 5.000 ± 0%   5.000 ± 0%        ~ (p=1.000 n=12) ¹
BoolSlice/Len8/Value-8                                2.000 ± 0%   2.000 ± 0%        ~ (p=1.000 n=12) ¹
BoolSlice/Len8/KeyValue-8                             2.000 ± 0%   2.000 ± 0%        ~ (p=1.000 n=12) ¹
BoolSlice/Len8/AsBoolSlice-8                          1.000 ± 0%   1.000 ± 0%        ~ (p=1.000 n=12) ¹
BoolSlice/Len8/Emit-8                                 11.00 ± 0%   11.00 ± 0%        ~ (p=1.000 n=12) ¹
IntSlice/Len2/Value-8                                 2.000 ± 0%   1.000 ± 0%  -50.00% (p=0.000 n=12)
IntSlice/Len2/KeyValue-8                              2.000 ± 0%   1.000 ± 0%  -50.00% (p=0.000 n=12)
IntSlice/Len2/Emit-8                                  4.000 ± 0%   4.000 ± 0%        ~ (p=1.000 n=12) ¹
IntSlice/Len8/Value-8                                 2.000 ± 0%   3.000 ± 0%  +50.00% (p=0.000 n=12)
IntSlice/Len8/KeyValue-8                              2.000 ± 0%   3.000 ± 0%  +50.00% (p=0.000 n=12)
IntSlice/Len8/Emit-8                                  4.000 ± 0%   4.000 ± 0%        ~ (p=1.000 n=12) ¹
Int64Slice/Len2/Value-8                               2.000 ± 0%   1.000 ± 0%  -50.00% (p=0.000 n=12)
Int64Slice/Len2/KeyValue-8                            2.000 ± 0%   1.000 ± 0%  -50.00% (p=0.000 n=12)
Int64Slice/Len2/AsInt64Slice-8                        1.000 ± 0%   1.000 ± 0%        ~ (p=1.000 n=12) ¹
Int64Slice/Len2/Emit-8                                4.000 ± 0%   4.000 ± 0%        ~ (p=1.000 n=12) ¹
Int64Slice/Len8/Value-8                               2.000 ± 0%   2.000 ± 0%        ~ (p=1.000 n=12) ¹
Int64Slice/Len8/KeyValue-8                            2.000 ± 0%   2.000 ± 0%        ~ (p=1.000 n=12) ¹
Int64Slice/Len8/AsInt64Slice-8                        1.000 ± 0%   1.000 ± 0%        ~ (p=1.000 n=12) ¹
Int64Slice/Len8/Emit-8                                4.000 ± 0%   4.000 ± 0%        ~ (p=1.000 n=12) ¹
Float64Slice/Len2/Value-8                             2.000 ± 0%   1.000 ± 0%  -50.00% (p=0.000 n=12)
Float64Slice/Len2/KeyValue-8                          2.000 ± 0%   1.000 ± 0%  -50.00% (p=0.000 n=12)
Float64Slice/Len2/AsFloat64Slice-8                    1.000 ± 0%   1.000 ± 0%        ~ (p=1.000 n=12) ¹
Float64Slice/Len2/Emit-8                              4.000 ± 0%   4.000 ± 0%        ~ (p=1.000 n=12) ¹
Float64Slice/Len8/Value-8                             2.000 ± 0%   2.000 ± 0%        ~ (p=1.000 n=12) ¹
Float64Slice/Len8/KeyValue-8                          2.000 ± 0%   2.000 ± 0%        ~ (p=1.000 n=12) ¹
Float64Slice/Len8/AsFloat64Slice-8                    1.000 ± 0%   1.000 ± 0%        ~ (p=1.000 n=12) ¹
Float64Slice/Len8/Emit-8                              4.000 ± 0%   4.000 ± 0%        ~ (p=1.000 n=12) ¹
StringSlice/Len2/Value-8                              2.000 ± 0%   1.000 ± 0%  -50.00% (p=0.000 n=12)
StringSlice/Len2/KeyValue-8                           2.000 ± 0%   1.000 ± 0%  -50.00% (p=0.000 n=12)
StringSlice/Len2/AsStringSlice-8                      1.000 ± 0%   1.000 ± 0%        ~ (p=1.000 n=12) ¹
StringSlice/Len2/Emit-8                               4.000 ± 0%   4.000 ± 0%        ~ (p=1.000 n=12) ¹
StringSlice/Len8/Value-8                              2.000 ± 0%   2.000 ± 0%        ~ (p=1.000 n=12) ¹
StringSlice/Len8/KeyValue-8                           2.000 ± 0%   2.000 ± 0%        ~ (p=1.000 n=12) ¹
StringSlice/Len8/AsStringSlice-8                      1.000 ± 0%   1.000 ± 0%        ~ (p=1.000 n=12) ¹
StringSlice/Len8/Emit-8                               4.000 ± 0%   4.000 ± 0%        ~ (p=1.000 n=12) ¹
geomean                                               2.143        1.824       -14.88%
¹ all samples are equal
```

## Notes

- `Len2` is where the wins show up because those calls avoid
`reflect.ArrayOf` and one allocation.
- `Len8` stays much closer to baseline because it still uses the
reflective path.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: David Ashpole <dashpole@google.com>
2026-03-12 09:33:23 -07:00
renovate[bot] 6d79ac3936 fix(deps): update golang.org/x (#8045)
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.48.0` →
`v0.49.0`](https://cs.opensource.google/go/x/crypto/+/refs/tags/v0.48.0...refs/tags/v0.49.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fcrypto/v0.49.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fcrypto/v0.48.0/v0.49.0?slim=true)
| indirect | minor |
| [golang.org/x/mod](https://pkg.go.dev/golang.org/x/mod) | [`v0.33.0` →
`v0.34.0`](https://cs.opensource.google/go/x/mod/+/refs/tags/v0.33.0...refs/tags/v0.34.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fmod/v0.34.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fmod/v0.33.0/v0.34.0?slim=true)
| indirect | minor |
| [golang.org/x/net](https://pkg.go.dev/golang.org/x/net) | [`v0.51.0` →
`v0.52.0`](https://cs.opensource.google/go/x/net/+/refs/tags/v0.51.0...refs/tags/v0.52.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fnet/v0.52.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fnet/v0.51.0/v0.52.0?slim=true)
| indirect | minor |
| [golang.org/x/telemetry](https://pkg.go.dev/golang.org/x/telemetry) |
`e526e8a` → `579e4da` |
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftelemetry/v0.0.0-20260311193753-579e4da9a98c?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftelemetry/v0.0.0-20260306145045-e526e8a188f5/v0.0.0-20260311193753-579e4da9a98c?slim=true)
| indirect | digest |
| [golang.org/x/text](https://pkg.go.dev/golang.org/x/text) | [`v0.34.0`
→
`v0.35.0`](https://cs.opensource.google/go/x/text/+/refs/tags/v0.34.0...refs/tags/v0.35.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftext/v0.35.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftext/v0.34.0/v0.35.0?slim=true)
| indirect | minor |
| [golang.org/x/tools](https://pkg.go.dev/golang.org/x/tools) |
[`v0.42.0` →
`v0.43.0`](https://cs.opensource.google/go/x/tools/+/refs/tags/v0.42.0...refs/tags/v0.43.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftools/v0.43.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftools/v0.42.0/v0.43.0?slim=true)
| require | minor |

---

> [!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.

👻 **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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: dmathieu <damien.mathieu@elastic.co>
2026-03-12 15:40:07 +01:00
renovate[bot] 45173ad648 chore(deps): update github.com/securego/gosec/v2 digest to b7b2c7b (#8044)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github.com/securego/gosec/v2](https://redirect.github.com/securego/gosec)
| indirect | digest | `6e66a94` → `b7b2c7b` |

---

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-12 12:54:53 +01:00
renovate[bot] e04a399c9b chore(deps): update actions/download-artifact action to v8.0.1 (#8046)
This PR contains the following updates:

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

---

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

---

### Release Notes

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

###
[`v8.0.1`](https://redirect.github.com/actions/download-artifact/releases/tag/v8.0.1)

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

##### What's Changed

- Support for CJK characters in the artifact name by
[@&#8203;danwkennedy](https://redirect.github.com/danwkennedy) in
[#&#8203;471](https://redirect.github.com/actions/download-artifact/pull/471)
- Add a regression test for artifact name + content-type mismatches by
[@&#8203;danwkennedy](https://redirect.github.com/danwkennedy) in
[#&#8203;472](https://redirect.github.com/actions/download-artifact/pull/472)

**Full Changelog**:
<https://github.com/actions/download-artifact/compare/v8...v8.0.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 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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-12 11:52:06 +01:00
Ijas 88f8c10823 linting: add depguard rule to enforce semconv version (#8041)
### Description

This PR adds a `depguard` linter rule to
[.golangci.yml](file:///Users/ijasahammed/Documents/open_source/opentelemetry-go/.golangci.yml)
to enforce the use of the latest semantic convention version
(`v1.40.0`).

This rule ensures that:
- Any new code importing `otel/semconv` must use `v1.40.0`.
- The `semconv/` directory itself is excluded from this check to avoid
linting legacy definitions.
- The `zipkin exporter` is excluded from this check
- Updated `semconv` version to v1.40.0 in the
`sdk/log/logger_bench_test.go` test.

### Verification Results

I verified this change locally using the following steps:

1. **Full Linter Run**: Ran `make precommit` (which executes
`golangci-lint run`). It passed with **0 issues** across the entire
repository.
2. **Smoke Test**: Added a temporary import of
`go.opentelemetry.io/otel/semconv/v1.20.0` in trace.go. The linter
correctly reported the violation:
> `trace.go:7:2: import 'go.opentelemetry.io/otel/semconv/v1.20.0' is
not allowed from list 'semconv': Use
go.opentelemetry.io/otel/semconv/v1.40.0 instead. (depguard)`

This change is not performance-critical and does not affect the
library's runtime behavior.

### Checklist
- [x] Signed CLA
- [x] `make precommit` passes.
- [x] CHANGELOG.md updated. (Not required)

Fixes #7842

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
Co-authored-by: Damien Mathieu <42@dmathieu.com>
2026-03-12 11:31:45 +01:00
Mikhail Mazurskiy ddd2b0e398 fix(sdk/trace): return spec-compliant TraceIdRatioBased description (#8027)
Optimize performance when sampling is disabled - no need to calculate
fraction based on trace id (in `traceIDRatioSampler`) if fraction is
zero.

---------

Co-authored-by: David Ashpole <dashpole@google.com>
Co-authored-by: Damien Mathieu <42@dmathieu.com>
2026-03-12 10:11:33 +01:00
Robert Pająk f4da59e651 attribute: change INVALID Type to EMPTY and mark INVALID as deprecated (#8038)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/7932

Noticeable comment from previous PR:
https://github.com/open-telemetry/opentelemetry-go/pull/7942#discussion_r2913179215

Print the empty value as empty string per
https://opentelemetry.io/docs/specs/otel/common/#empty-values
2026-03-12 09:43:04 +01:00
renovate[bot] 205e24407e fix(deps): update googleapis to 84a4fc4 (#8048)
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 | `a57be14` → `84a4fc4` |
|
[google.golang.org/genproto/googleapis/rpc](https://redirect.github.com/googleapis/go-genproto)
| indirect | digest | `a57be14` → `84a4fc4` |
|
[google.golang.org/genproto/googleapis/rpc](https://redirect.github.com/googleapis/go-genproto)
| require | digest | `a57be14` → `84a4fc4` |

---

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-12 09:34:03 +01:00
Mikhail Mazurskiy aff375ac62 chore(sdk/trace): join errors properly (#8030)
Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-03-11 17:27:43 +01:00
Tyler Yahn cb0de1f26c Rebuild semconvkit and verifyreadmes on changes (#7995)
This updates the tool build dependencies in `Makefile` so local tools
are rebuilt when their source files change, instead of requiring manual
deletion from `.tools`.
2026-03-11 15:51:32 +01:00
Marc Schäfer 526b68f39b docs(otlp): document HTTP/protobuf insecure env vars (#8037)
Update  the package documentation for:

- otlptracehttp
- otlpmetrichttp
- otlploghttp

to document the already-supported OTEL_EXPORTER_OTLP_INSECURE and
signal-specific *_INSECURE environment variables.
2026-03-11 15:30:24 +01:00
renovate[bot] 3447d093ca chore(deps): update github.com/securego/gosec/v2 digest to 6e66a94 (#8043)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github.com/securego/gosec/v2](https://redirect.github.com/securego/gosec)
| indirect | digest | `8895462` → `6e66a94` |

---

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-11 13:55:07 +01:00
renovate[bot] 6eb9d64fb7 chore(deps): update module github.com/sonatard/noctx to v0.5.1 (#8040)
This PR contains the following updates:

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

---

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

---

### Release Notes

<details>
<summary>sonatard/noctx (github.com/sonatard/noctx)</summary>

###
[`v0.5.1`](https://redirect.github.com/sonatard/noctx/releases/tag/v0.5.1)

[Compare
Source](https://redirect.github.com/sonatard/noctx/compare/v0.5.0...v0.5.1)

#### Changelog

-
[`00a6009`](https://redirect.github.com/sonatard/noctx/commit/00a60094e8643655c5e1e2fdeb4f8bfcc096d8d0)
Merge pull request
[#&#8203;52](https://redirect.github.com/sonatard/noctx/issues/52) from
sonatard/fix-release
-
[`1166346`](https://redirect.github.com/sonatard/noctx/commit/11663463cf24b731fcae80ec7370ae0a18d7389a)
Remove windows/arm

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-11 10:01:28 +01:00
renovate[bot] eee0fe32cb chore(deps): update github.com/securego/gosec/v2 digest to 8895462 (#8036)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github.com/securego/gosec/v2](https://redirect.github.com/securego/gosec)
| indirect | digest | `619ce21` → `8895462` |

---

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-10 11:04:46 -07:00
renovate[bot] 8d19296aff chore(deps): update module github.com/prometheus/procfs to v0.20.1 (#8034)
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/procfs](https://redirect.github.com/prometheus/procfs)
| `v0.19.2` → `v0.20.1` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fprometheus%2fprocfs/v0.20.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fprometheus%2fprocfs/v0.19.2/v0.20.1?slim=true)
|

---

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

---

### Release Notes

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

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

[Compare
Source](https://redirect.github.com/prometheus/procfs/compare/v0.20.0...v0.20.1)

#### What's Changed

- nvme: Parse NVMe namespace details by
[@&#8203;ShashwatHiregoudar](https://redirect.github.com/ShashwatHiregoudar)
in [#&#8203;765](https://redirect.github.com/prometheus/procfs/pull/765)
- Fix bcachefs parsing by
[@&#8203;ananthb](https://redirect.github.com/ananthb) in
[#&#8203;789](https://redirect.github.com/prometheus/procfs/pull/789)
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://redirect.github.com/prombot) in
[#&#8203;788](https://redirect.github.com/prometheus/procfs/pull/788)
- Update sysfs/class\_thermal: continue on EINVAL in
parseClassThermalZone to ignore only invalid thermal zones which raise
"invalid argument" by
[@&#8203;ccastiglione-reply](https://redirect.github.com/ccastiglione-reply)
in [#&#8203;763](https://redirect.github.com/prometheus/procfs/pull/763)

#### New Contributors

-
[@&#8203;ccastiglione-reply](https://redirect.github.com/ccastiglione-reply)
made their first contribution in
[#&#8203;763](https://redirect.github.com/prometheus/procfs/pull/763)

**Full Changelog**:
<https://github.com/prometheus/procfs/compare/v0.20.0...v0.20.1>

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

[Compare
Source](https://redirect.github.com/prometheus/procfs/compare/v0.19.2...v0.20.0)

#### What's Changed

- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://redirect.github.com/prombot) in
[#&#8203;747](https://redirect.github.com/prometheus/procfs/pull/747)
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://redirect.github.com/prombot) in
[#&#8203;766](https://redirect.github.com/prometheus/procfs/pull/766)
- build(deps): bump golang.org/x/sync from 0.17.0 to 0.19.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;773](https://redirect.github.com/prometheus/procfs/pull/773)
- build(deps): bump golang.org/x/sys from 0.37.0 to 0.39.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;772](https://redirect.github.com/prometheus/procfs/pull/772)
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://redirect.github.com/prombot) in
[#&#8203;774](https://redirect.github.com/prometheus/procfs/pull/774)
- Fix /proc/interrupts by
[@&#8203;ffyuanda](https://redirect.github.com/ffyuanda) in
[#&#8203;775](https://redirect.github.com/prometheus/procfs/pull/775)
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://redirect.github.com/prombot) in
[#&#8203;778](https://redirect.github.com/prometheus/procfs/pull/778)
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://redirect.github.com/prombot) in
[#&#8203;779](https://redirect.github.com/prometheus/procfs/pull/779)
- Migrate to GitHub actions by
[@&#8203;SuperQ](https://redirect.github.com/SuperQ) in
[#&#8203;780](https://redirect.github.com/prometheus/procfs/pull/780)
- build(deps): bump golang.org/x/sys from 0.40.0 to 0.41.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;782](https://redirect.github.com/prometheus/procfs/pull/782)
- Synchronize common files from prometheus/prometheus by
[@&#8203;prombot](https://redirect.github.com/prombot) in
[#&#8203;785](https://redirect.github.com/prometheus/procfs/pull/785)
- bcachefs support by
[@&#8203;ananthb](https://redirect.github.com/ananthb) in
[#&#8203;750](https://redirect.github.com/prometheus/procfs/pull/750)
- build(deps): bump actions/checkout from 6.0.1 to 6.0.2 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;781](https://redirect.github.com/prometheus/procfs/pull/781)
- feat: parse capabilities in /proc/pid/status by
[@&#8203;biscout42](https://redirect.github.com/biscout42) in
[#&#8203;784](https://redirect.github.com/prometheus/procfs/pull/784)
- class\_cooling\_device: ignore EINVAL (etc) when reading files. by
[@&#8203;malcolmr](https://redirect.github.com/malcolmr) in
[#&#8203;783](https://redirect.github.com/prometheus/procfs/pull/783)
- Add type and name to the DRM parser class by
[@&#8203;Deezzir](https://redirect.github.com/Deezzir) in
[#&#8203;672](https://redirect.github.com/prometheus/procfs/pull/672)

#### New Contributors

- [@&#8203;ffyuanda](https://redirect.github.com/ffyuanda) made their
first contribution in
[#&#8203;775](https://redirect.github.com/prometheus/procfs/pull/775)
- [@&#8203;ananthb](https://redirect.github.com/ananthb) made their
first contribution in
[#&#8203;750](https://redirect.github.com/prometheus/procfs/pull/750)
- [@&#8203;biscout42](https://redirect.github.com/biscout42) made their
first contribution in
[#&#8203;784](https://redirect.github.com/prometheus/procfs/pull/784)
- [@&#8203;malcolmr](https://redirect.github.com/malcolmr) made their
first contribution in
[#&#8203;783](https://redirect.github.com/prometheus/procfs/pull/783)
- [@&#8203;Deezzir](https://redirect.github.com/Deezzir) made their
first contribution in
[#&#8203;672](https://redirect.github.com/prometheus/procfs/pull/672)

**Full Changelog**:
<https://github.com/prometheus/procfs/compare/v0.19.2...v0.20.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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Damien Mathieu <42@dmathieu.com>
2026-03-10 13:39:48 +01:00
renovate[bot] 5e8decca16 fix(deps): update module github.com/golangci/golangci-lint/v2 to v2.11.3 (#8032)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/golangci/golangci-lint/v2](https://redirect.github.com/golangci/golangci-lint)
| `v2.11.2` → `v2.11.3` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgolangci%2fgolangci-lint%2fv2/v2.11.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgolangci%2fgolangci-lint%2fv2/v2.11.2/v2.11.3?slim=true)
|

---

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

---

### Release Notes

<details>
<summary>golangci/golangci-lint
(github.com/golangci/golangci-lint/v2)</summary>

###
[`v2.11.3`](https://redirect.github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v2113)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint/compare/v2.11.2...v2.11.3)

*Released on 2026-03-10*

1. Linters bug fixes
- `gosec`: from v2.24.7 to
[`619ce21`](https://redirect.github.com/golangci/golangci-lint/commit/619ce2117e08)

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-10 13:27:05 +01:00
renovate[bot] d15b533be3 fix(deps): update googleapis to a57be14 (#8031)
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 | `4cfbd41` → `a57be14` |
|
[google.golang.org/genproto/googleapis/rpc](https://redirect.github.com/googleapis/go-genproto)
| indirect | digest | `4cfbd41` → `a57be14` |
|
[google.golang.org/genproto/googleapis/rpc](https://redirect.github.com/googleapis/go-genproto)
| require | digest | `4cfbd41` → `a57be14` |

---

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-10 12:34:43 +01:00
Alex Boten fabe66658f resource: add WithService detector option (#7642)
I was looking at implementing resource detection in otelconf and was
finding that all the detectors were implemented in a similar way except
for the service detector. Added the resource options in this PR for
feedback. Will add tests if the go approvers/maintainers support this
approach.

---------

Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com>
Co-authored-by: Damien Mathieu <42@dmathieu.com>
2026-03-10 10:22:06 +01:00
renovate[bot] 1d91055e24 fix(deps): update module go.opentelemetry.io/proto/otlp to v1.10.0 (#8028)
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/proto/otlp](https://redirect.github.com/open-telemetry/opentelemetry-proto-go)
| `v1.9.0` → `v1.10.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fproto%2fotlp/v1.10.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fproto%2fotlp/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>open-telemetry/opentelemetry-proto-go
(go.opentelemetry.io/proto/otlp)</summary>

###
[`v1.10.0`](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/releases/tag/v1.10.0):
/v0.3.0

[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/compare/v1.9.0...v1.10.0)

Release of the [`v1.10.0`][otlp] version of the OTLP.

> \[!NOTE]
> This is the last version that will support Go 1.24. Subsequent minor
releases will require Go >= 1.25.

[otlp]:
https://redirect.github.com/open-telemetry/opentelemetry-proto/releases/tag/v1.10.0

#### What's Changed

- Drop support for Go 1.23 by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[#&#8203;467](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/467)
- chore(deps): update all golang.org/x packages by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;420](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/420)
- fix(deps): update module go.opentelemetry.io/proto/otlp to v1.9.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;468](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/468)
- fix(deps): update module go.opentelemetry.io/proto/slim/otlp to v1.9.0
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;469](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/469)
- fix(deps): update module go.opentelemetry.io/build-tools/multimod to
v0.29.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;475](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/475)
- fix(deps): update module google.golang.org/grpc to v1.76.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;476](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/476)
- chore(deps): update googleapis to
[`ab9386a`](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/commit/ab9386a)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;472](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/472)
- chore(deps): update googleapis to
[`f26f940`](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/commit/f26f940)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;477](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/477)
- Update releasing process by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[#&#8203;471](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/471)
- Fix `find` command error by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[#&#8203;470](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/470)
- chore(deps): update all golang.org/x packages by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;478](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/478)
- chore(deps): update googleapis to
[`83f4791`](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/commit/83f4791)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;479](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/479)
- chore(deps): update all golang.org/x packages by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;481](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/481)
- chore(deps): update googleapis to
[`95abcf5`](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/commit/95abcf5)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;480](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/480)
- chore(deps): update github/codeql-action action to v4.31.3 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;482](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/482)
- fix(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2 to
v2.27.3 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;483](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/483)
- fix(deps): update module google.golang.org/grpc to v1.77.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;485](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/485)
- chore(deps): update actions/checkout action to v5.0.1 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;484](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/484)
- chore(deps): update github/codeql-action action to v4.31.4 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;486](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/486)
- chore(deps): update module golang.org/x/crypto to v0.45.0 \[security]
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;489](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/489)
- chore(deps): update module github.com/cyphar/filepath-securejoin to
v0.6.1 by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
in
[#&#8203;487](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/487)
- chore(deps): update actions/checkout action to v6 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;490](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/490)
- chore(deps): update module github.com/go-git/go-git/v5 to v5.16.4 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;491](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/491)
- chore(deps): update github/codeql-action action to v4.31.5 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;492](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/492)
- chore(deps): update googleapis to
[`79d6a2a`](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/commit/79d6a2a)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;493](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/493)
- chore(deps): update github/codeql-action action to v4.31.6 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;494](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/494)
- chore(deps): update actions/checkout action to v6.0.1 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;495](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/495)
- chore(deps): update google.golang.org/genproto/googleapis/api digest
to
[`ff82c1b`](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/commit/ff82c1b)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;496](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/496)
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest
to
[`ff82c1b`](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/commit/ff82c1b)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;497](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/497)
- chore(deps): update module github.com/spf13/cobra to v1.10.2 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;498](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/498)
- chore(deps): update github/codeql-action action to v4.31.7 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;499](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/499)
- chore(deps): update module github.com/go-git/go-billy/v5 to v5.7.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;500](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/500)
- chore(deps): update all golang.org/x packages by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;501](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/501)
- chore(deps): update all golang.org/x packages by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;502](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/502)
- chore(deps): update module golang.org/x/net to v0.48.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;503](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/503)
- fix(deps): update module google.golang.org/protobuf to v1.36.11 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;505](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/505)
- chore(deps): update github/codeql-action action to v4.31.8 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;504](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/504)
- chore(deps): update actions/upload-artifact action to v6 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;506](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/506)
- chore(deps): update googleapis to
[`97cd9d5`](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/commit/97cd9d5)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;507](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/507)
- chore(deps): update github/codeql-action action to v4.31.9 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;508](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/508)
- fix(deps): update module google.golang.org/grpc to v1.78.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;511](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/511)
- chore(deps): update googleapis to
[`0a764e5`](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/commit/0a764e5)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;509](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/509)
- chore(deps): update module github.com/cloudflare/circl to v1.6.2 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;510](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/510)
- fix(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2 to
v2.27.4 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;512](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/512)
- chore(deps): update module golang.org/x/sys to v0.40.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;513](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/513)
- chore(deps): update all golang.org/x packages by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;514](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/514)
- chore(deps): update module golang.org/x/crypto to v0.47.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;516](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/516)
- chore(deps): update github/codeql-action action to v4.31.10 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;515](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/515)
- chore(deps): update googleapis to
[`99fd39f`](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/commit/99fd39f)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;517](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/517)
- chore(deps): update module github.com/go-viper/mapstructure/v2 to
v2.5.0 by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]
in
[#&#8203;518](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/518)
- chore(deps): update module golang.org/x/net to v0.49.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;519](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/519)
- chore(deps): update googleapis to
[`3f89685`](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/commit/3f89685)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;520](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/520)
- chore(deps): update googleapis to
[`b8f7ae3`](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/commit/b8f7ae3)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;521](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/521)
- fix(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2 to
v2.27.5 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;522](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/522)
- chore(deps): update module github.com/cloudflare/circl to v1.6.3 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;525](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/525)
- chore(deps): update googleapis to
[`8e98ce8`](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/commit/8e98ce8)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;524](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/524)
- chore(deps): update actions/checkout action to v6.0.2 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;523](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/523)
- chore(deps): update github/codeql-action action to v4.31.11 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;526](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/526)
- chore(deps): update googleapis to
[`d11affd`](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/commit/d11affd)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;528](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/528)
- chore(deps): update github/codeql-action action to v4.32.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;527](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/527)
- chore(deps): update googleapis to
[`8636f87`](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/commit/8636f87)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;529](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/529)
- fix(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2 to
v2.27.6 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;530](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/530)
- fix(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2 to
v2.27.7 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;531](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/531)
- chore(deps): update github/codeql-action action to v4.32.1 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;532](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/532)
- chore(deps): update googleapis to
[`ce8ad4c`](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/commit/ce8ad4c)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;533](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/533)
- chore(deps): update googleapis to
[`546029d`](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/commit/546029d)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;534](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/534)
- chore(deps): update fossas/fossa-action action to v1.8.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;536](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/536)
- chore(deps): update github/codeql-action action to v4.32.2 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;535](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/535)
- chore(deps): update module golang.org/x/sys to v0.41.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;537](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/537)
- chore(deps): update module github.com/go-git/go-git/v5 to v5.16.5 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;538](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/538)
- chore(deps): update googleapis to
[`4cfbd41`](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/commit/4cfbd41)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;540](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/540)
- chore(deps): update all golang.org/x packages by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;539](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/539)
- fix(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2 to
v2.27.8 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;541](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/541)
- fix(deps): update module google.golang.org/grpc to v1.79.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;542](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/542)
- fix(deps): update module google.golang.org/grpc to v1.79.1 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;543](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/543)
- chore(deps): update github/codeql-action action to v4.32.3 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;545](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/545)
- chore(deps): update module github.com/kevinburke/ssh\_config to v1.5.0
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;546](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/546)
- Add support for Go 1.26 by
[@&#8203;dmathieu](https://redirect.github.com/dmathieu) in
[#&#8203;544](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/544)
- chore(deps): update module github.com/kevinburke/ssh\_config to v1.6.0
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;547](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/547)
- fix(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2 to
v2.28.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;548](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/548)
- chore(deps): update github/codeql-action action to v4.32.4 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;551](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/551)
- chore(deps): update module github.com/go-git/go-billy/v5 to v5.8.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;553](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/553)
- chore(deps): update module github.com/go-git/go-git/v5 to v5.17.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;554](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/554)
- chore(deps): update module github.com/protonmail/go-crypto to v1.4.0
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;558](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/558)
- chore(deps): update actions/upload-artifact action to v7 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;556](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/556)
- chore(deps): update github/codeql-action action to v4.32.5 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;559](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/559)
- chore(deps): update github/codeql-action action to v4.32.6 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;560](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/560)
- fix(deps): update module google.golang.org/grpc to v1.79.2 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;561](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/561)
- Release v1.10.0 by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[#&#8203;566](https://redirect.github.com/open-telemetry/opentelemetry-proto-go/pull/566)

**Full Changelog**:
<https://github.com/open-telemetry/opentelemetry-proto-go/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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-09 14:07:26 -07:00
João Correia ba2747cd8c Add doc on how to upgrade to new semconv (#7807)
Adds a new "Semantic Conventions Upgrade" section to CONTRIBUTING.md
that documents the complete process for upgrading to newer semantic
conventions releases as requested in issue #7697.

It includes the details regarding:

- Generating new semconv packages
- Updating imports across the codebase
- Updating the opentelemetry-go-contrib linter configuration

---------

Co-authored-by: Damien Mathieu <42@dmathieu.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-03-09 15:20:53 +01:00
renovate[bot] 4b025b4cf0 chore(deps): update module codeberg.org/chavacava/garif to v0.2.1 (#8019)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [codeberg.org/chavacava/garif](https://codeberg.org/chavacava/garif) |
`v0.2.0` → `v0.2.1` |
![age](https://developer.mend.io/api/mc/badges/age/go/codeberg.org%2fchavacava%2fgarif/v0.2.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/codeberg.org%2fchavacava%2fgarif/v0.2.0/v0.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>chavacava/garif (codeberg.org/chavacava/garif)</summary>

###
[`v0.2.1`](https://codeberg.org/chavacava/garif/compare/v0.2.0...v0.2.1)

[Compare
Source](https://codeberg.org/chavacava/garif/compare/v0.2.0...v0.2.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 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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-09 10:20:29 +01:00
renovate[bot] d8504fb254 chore(deps): update module github.com/mattn/go-runewidth to v0.0.21 (#8017)
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.20` → `v0.0.21` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fmattn%2fgo-runewidth/v0.0.21?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fmattn%2fgo-runewidth/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-runewidth (github.com/mattn/go-runewidth)</summary>

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

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

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-09 10:12:21 +01:00
renovate[bot] 6258792350 fix(deps): update module github.com/golangci/golangci-lint/v2 to v2.11.2 (#8020)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/golangci/golangci-lint/v2](https://redirect.github.com/golangci/golangci-lint)
| `v2.11.1` → `v2.11.2` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgolangci%2fgolangci-lint%2fv2/v2.11.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgolangci%2fgolangci-lint%2fv2/v2.11.1/v2.11.2?slim=true)
|

---

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

---

### Release Notes

<details>
<summary>golangci/golangci-lint
(github.com/golangci/golangci-lint/v2)</summary>

###
[`v2.11.2`](https://redirect.github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v2112)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint/compare/v2.11.1...v2.11.2)

*Released on 2026-03-07*

1. Fixes
   - `fmt`: fix error when using the `fmt` command with explicit paths.

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-09 10:01:02 +01:00
renovate[bot] 1f39f186db fix(deps): update golang.org/x (#8023)
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/sync](https://pkg.go.dev/golang.org/x/sync) | [`v0.19.0`
→
`v0.20.0`](https://cs.opensource.google/go/x/sync/+/refs/tags/v0.19.0...refs/tags/v0.20.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsync/v0.20.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsync/v0.19.0/v0.20.0?slim=true)
|
| [golang.org/x/sys](https://pkg.go.dev/golang.org/x/sys) | [`v0.41.0` →
`v0.42.0`](https://cs.opensource.google/go/x/sys/+/refs/tags/v0.41.0...refs/tags/v0.42.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsys/v0.42.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsys/v0.41.0/v0.42.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.

👻 **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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-09 09:48:14 +01:00
renovate[bot] 8b05173581 fix(deps): update module github.com/golangci/golangci-lint/v2 to v2.11.1 (#8011)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/golangci/golangci-lint/v2](https://redirect.github.com/golangci/golangci-lint)
| `v2.8.0` → `v2.11.1` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgolangci%2fgolangci-lint%2fv2/v2.11.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgolangci%2fgolangci-lint%2fv2/v2.8.0/v2.11.1?slim=true)
|

---

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

---

### Release Notes

<details>
<summary>golangci/golangci-lint
(github.com/golangci/golangci-lint/v2)</summary>

###
[`v2.11.1`](https://redirect.github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v2111)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint/compare/v2.11.0...v2.11.1)

*Released on 2026-03-06*

Due to an error related to AUR, some artifacts of the v2.11.0 release
have not been published.

This release contains the same things as v2.11.0.

###
[`v2.11.0`](https://redirect.github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v2110)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint/compare/v2.10.1...v2.11.0)

*Released on 2026-03-06*

1. Linters new features or changes
- `errcheck`: from 1.9.0 to 1.10.0 (exclude `crypto/rand.Read` by
default)
- `gosec`: from 2.23.0 to 2.24.6 (new rules: `G113`, `G118`, `G119`,
`G120`, `G121`, `G122`, `G123`, `G408`, `G707`)
- `noctx`: from 0.4.0 to 0.5.0 (new detection:
`httptest.NewRequestWithContext`)
   - `prealloc`: from 1.0.2 to 1.1.0
- `revive`: from 1.14.0 to 1.15.0 (⚠️ Breaking change: package-related
checks moved from `var-naming` to a new rule `package-naming`)
2. Linters bug fixes
   - `gocognit`: from 1.2.0 to 1.2.1
   - `gosec`: from 2.24.6 to 2.24.7
   - `unqueryvet`: from 1.5.3 to 1.5.4

###
[`v2.10.1`](https://redirect.github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v2101)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint/compare/v2.10.0...v2.10.1)

*Released on 2026-02-17*

1. Fixes
   - buildssa panic

###
[`v2.10.0`](https://redirect.github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v2100)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint/compare/v2.9.0...v2.10.0)

*Released on 2026-02-17*

1. Linters new features or changes
   - `ginkgolinter`: from 0.22.0 to 0.23.0
- `gosec`: from 2.22.11 to 2.23.0 (new rules: `G117`, `G602`, `G701`,
`G702`, `G703`, `G704`, `G705`, `G706`)
   - `staticcheck`: from 0.6.1 to 0.7.0
2. Linters bug fixes
   - `godoclint`: from 0.11.1 to 0.11.2

###
[`v2.9.0`](https://redirect.github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v290)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint/compare/v2.8.0...v2.9.0)

*Released on 2026-02-10*

1. Enhancements
   - 🎉 go1.26 support
2. Linters new features or changes
- `arangolint`: from 0.3.1 to 0.4.0 (new rule: detect potential query
injections)
   - `ginkgolinter`: from 0.21.2 to 0.22.0 (support for wrappers)
   - `golines`: from 0.14.0 to 0.15.0
   - `misspell`: from 0.7.0 to 0.8.0
- `unqueryvet`: from 1.4.0 to 1.5.3 (new options: `check-n1`,
`check-sql-injection`, `check-tx-leaks`, `allow`, `custom-rules`)
   - `wsl`: from 5.3.0 to 5.6.0 (new rule: `after-block`)
3. Linters bug fixes
   - `modernize`: from 0.41.0 to 0.42.0
   - `prealloc`: from 1.0.1 to 1.0.2
   - `protogetter`: from 0.3.18 to 0.3.20
4. Misc.
   - Log information about files when configuration verification
   - Emit an error when no linters enabled
   - Do not collect VCS information when loading code

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tyler Yahn <codingalias@gmail.com>
2026-03-06 17:09:22 -08:00
renovate[bot] fad8e9080e chore(deps): update module go.yaml.in/yaml/v2 to v2.4.4 (#8016)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [go.yaml.in/yaml/v2](https://redirect.github.com/yaml/go-yaml) |
`v2.4.3` → `v2.4.4` |
![age](https://developer.mend.io/api/mc/badges/age/go/go.yaml.in%2fyaml%2fv2/v2.4.4?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.yaml.in%2fyaml%2fv2/v2.4.3/v2.4.4?slim=true)
|

---

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

---

### Release Notes

<details>
<summary>yaml/go-yaml (go.yaml.in/yaml/v2)</summary>

###
[`v2.4.4`](https://redirect.github.com/yaml/go-yaml/compare/v2.4.3...v2.4.4)

[Compare
Source](https://redirect.github.com/yaml/go-yaml/compare/v2.4.3...v2.4.4)

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-06 15:46:55 -08:00
renovate[bot] a61e02f898 fix(deps): update github.com/opentracing-contrib/go-grpc/test digest to 190d7d4 (#8013)
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 | `d566b4d` → `190d7d4` |

---

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-06 15:37:46 -08:00
renovate[bot] 758b5a52d5 chore(deps): update module github.com/jgautheron/goconst to v1.9.0 (#8014)
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.8.2` → `v1.9.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fjgautheron%2fgoconst/v1.9.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fjgautheron%2fgoconst/v1.8.2/v1.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>jgautheron/goconst (github.com/jgautheron/goconst)</summary>

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

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

#### What's Changed

- fix(visitor): detect repeated literals inside composite literal
elements by
[@&#8203;TobyTheHutt](https://redirect.github.com/TobyTheHutt) in
[#&#8203;46](https://redirect.github.com/jgautheron/goconst/pull/46)
- ci(go): align module and workflow Go versions by
[@&#8203;TobyTheHutt](https://redirect.github.com/TobyTheHutt) in
[#&#8203;48](https://redirect.github.com/jgautheron/goconst/pull/48)
- fix(visitor): record string occurrence for accurate position reporting
by [@&#8203;TobyTheHutt](https://redirect.github.com/TobyTheHutt) in
[#&#8203;49](https://redirect.github.com/jgautheron/goconst/pull/49)

#### New Contributors

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

**Full Changelog**:
<https://github.com/jgautheron/goconst/compare/v1.8.2...v1.9.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:eyJjcmVhdGVkSW5WZXIiOiI0My41Ni4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-06 15:23:23 -08:00