Compare commits

...

106 Commits

Author SHA1 Message Date
Dmitry Ivanov ae6050450e
[confighttp] Reuse zstd reader objects (#13396)
#### Description
Allocating zstd reader objects on every incoming requests leads to a lot
of byte buffers being allocated and collected. The compression library
recommends reusing readers to avoid these allocations.


#### Link to tracking issue
Fixes #11824

Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
2025-08-01 20:44:53 +00:00
Yang Song 8f5b642676
[chore] Update renovate.json (#13550)
#### Description
Fix syntax following
http://docs.renovatebot.com/configuration-options/#ignore-versions-with-negated-regex-syntax

#### Link to tracking issue
Fixes
https://github.com/open-telemetry/opentelemetry-collector/issues/13542
2025-08-01 20:24:44 +00:00
Andrew Wilkins 0b63adbfef
[chore] service/telemetry: remove deprecated feature gate check (#13549)
#### Description

The `service.noopTracerProvider` feature gate is now deprecated, and
cannot be enabled, therefore we can remove any code that references it.

#### Link to tracking issue

Relates to
https://github.com/open-telemetry/opentelemetry-collector/issues/13492

#### Testing

Manually verified the feature gate cannot be enabled.

#### Documentation

None
2025-08-01 20:24:35 +00:00
Bogdan Drutu 85b47ce850
[chore] Refactor pdatagen to use the proto types for fields (#13545)
Part of the effort in
https://github.com/open-telemetry/opentelemetry-collector/pull/13531.

Would also help with:
1. Help with trying to remove the need of manually define these extra
structs and generate them from the protoc parsed code.
1. Simplifies what we need to manually generate, only the proto type is
enough.

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-08-01 20:24:18 +00:00
Charlie Le 8b73477b98
Update supported service extensions in extension/README.md (#13548)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

<!-- Issue number if applicable -->
#### Link to tracking issue
Fixes #

<!--Describe what testing was performed and which tests were added.-->
#### Testing

<!--Describe the documentation added.-->
#### Documentation

<!--Please delete paragraphs that you did not use before submitting.-->
2025-08-01 02:02:58 +00:00
Bogdan Drutu 0f337b4fd5
[chore] Small nit improvements for pdatagen (#13532)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-08-01 00:05:06 +00:00
Alex Boten dd47e6b52c
[chore] remove more references to the batch processor (#13546)
Non functional change, just updating more documentation to remove
references to the batch processor.

Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com>
2025-07-31 21:41:18 +00:00
Evan Bradley f17e470e32
[chore][component] Minor stylistic updates to `component.ID` (#13543)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Minor stylistic things I noticed while looking at `component.ID`:

* We should assert the interfaces it implements.
* We don't use the "result parameters"/named return parameters in
`MarshalText`. I'm more ambivalent on this one, but I was a bit
surprised to see them when they're not used. I can see reasons to keep
them as well if we'd prefer.
2025-07-31 20:43:18 +00:00
Andrew Wilkins ae29ab583a
[chore] service: simplify telemetry shutdown (#13535)
#### Description

Simplify code by using the SDK.Shutdown method, which internally shuts
down each of the providers.

#### Link to tracking issue

Preparation work for
https://github.com/open-telemetry/opentelemetry-collector/issues/4970

#### Testing

N/A, non-functional change.

#### Documentation

N/A

---------

Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
2025-07-31 19:32:24 +00:00
Yang Song bc0e7192c8
Revert "fix(deps): update all opentelemetry-go-contrib packages" (#13540)
Reverts open-telemetry/opentelemetry-collector#13514

Context:
https://github.com/open-telemetry/opentelemetry-collector/pull/13466

go.opentelemetry.io/otel/exporters/prometheus v0.59.x has a bug leading
to unexpected suffix in metric names, we want to stay with v0.58.0
2025-07-31 18:42:50 +00:00
Yang Song 59a00f4e07
[chore] skip go.opentelemetry.io/otel v0.59.x in renovate (#13541)
#### Description
skip go.opentelemetry.io/otel v0.59.x in renovate, follow-up of
https://github.com/open-telemetry/opentelemetry-collector/pull/13540
2025-07-31 18:42:42 +00:00
Andrew Wilkins 3711ca93da
[chore] service/telemetry: remove Settings.AsyncErrorChannel (#13534)
#### Description

Cleanup - the field is unused, so remove it.

#### Link to tracking issue

Preparation work for
https://github.com/open-telemetry/opentelemetry-collector/issues/4970

#### Testing

N/A, non-functional change.

#### Documentation

N/A
2025-07-31 02:15:38 +00:00
Bogdan Drutu 6ba455438d
[chore] Remove unnnecessary field definition from pdatagen (#13533)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-31 01:45:43 +00:00
Vihas Makwana cdc6dff545
[confighttp] - Expose an option to set ForceAttemptHttp2 setting (#13426)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

We make use golang's `DefaultTransport`, which forces the use of [HTTP/2
by
default](https://cs.opensource.google/go/go/+/refs/tags/go1.24.5:src/net/http/transport.go;l=51).

However, some of our settings are only applicable while using HTTP/1
transport (`MaxConnsPerHost`, `MaxIdleConnsPerHost` and `MaxIdleConns`).
Users wanting to force such settings should have an option to use HTTP/1
by disabling `ForceAttemptHTTP2` to `false`. This PR adds that option.

By default, `ForceAttemptHTTP2` is set to `true` for backward
compatibility.
2025-07-30 20:49:34 +00:00
Joshua MacDonald fea16eb4c6
[configmiddleware] middleware->middlewares (#13525)
#### Link to tracking issue
Fixes #13444.

#### Testing

Added.

#### Documentation

Existing docs are correct, just a bugfix.
2025-07-30 18:32:28 +00:00
Matthieu MOREL bf4324d1fa
[chore]: enable extra-rules from gofumpt and paramTypeCombine from go-critic (#13479)
#### Description

Check if code and import statements are formatted, with additional
rules.

* https://golangci-lint.run/usage/formatters/#gofumpt
* https://go-critic.com/overview.html#paramtypecombine

This is the application of golangci-lint fmt ./... , the Makefile has
been update to include this behavior

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
2025-07-30 14:57:53 +00:00
Bogdan Drutu 65c94c6e50
[chore] Merge 2 slice auto-generated tests and extend to cover all cases (#13529)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-30 14:27:45 +00:00
Bogdan Drutu 7e45e34f41
[chore] Auto-generate pcommon.Slice, only 3 funcs are special and manual (#13528)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-29 23:33:58 +00:00
Bogdan Drutu c684ed4919
[chore] Apply improvements and fixes for RemoveIf and CopyOrig to manually writen structs (#13526)
Applies fixes from
https://github.com/open-telemetry/opentelemetry-collector/pull/13522 and
https://github.com/open-telemetry/opentelemetry-collector/pull/13523

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-29 22:48:44 +00:00
renovate[bot] fdf5cf0bf6
chore(deps): update github/codeql-action action to v3.29.5 (#13527)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github/codeql-action](https://redirect.github.com/github/codeql-action)
| action | patch | `v3.29.4` -> `v3.29.5` |

---

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

---

### Release Notes

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

###
[`v3.29.5`](https://redirect.github.com/github/codeql-action/compare/v3.29.4...v3.29.5)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v3.29.4...v3.29.5)

</details>

---

### Configuration

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

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

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-29 22:25:06 +00:00
Bogdan Drutu 9b8207fb4d
Improve RemoveIf for slices to not reference anymore the removed memory (#13522)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-29 21:03:24 +00:00
Bogdan Drutu 79e6823db2
Fix null pointer access when copying into a slice with larger cap but smaller len (#13523)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-29 19:01:54 +00:00
Antoine Toulme 2655e760c2
[service] move service.noopTraceProvider feature gate to deprecated stage (#13521)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
move service.noopTraceProvider feature gate to deprecated stage
<!-- Issue number if applicable -->
#### Link to tracking issue
Fixes #13492

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Bogdan Drutu <bogdandrutu@gmail.com>
Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
2025-07-29 18:52:03 +00:00
Bogdan Drutu c1c9314c6d
[chore] Change to auto-generate UnmarshalJSON logic with pdatagen (#13508)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-29 15:46:25 +00:00
Bogdan Drutu d25dc896cd
[chore] Update comments to remove reference to old pdata package (#13509)
We used to have Logs/Traces/Metrics in pdata package, not anymore.

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-29 15:39:32 +00:00
renovate[bot] b63f70d5ea
fix(deps): update all opentelemetry-go-contrib packages (#13514)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[go.opentelemetry.io/contrib/otelconf](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib)
| `v0.16.0` -> `v0.17.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fcontrib%2fotelconf/v0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fcontrib%2fotelconf/v0.16.0/v0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/contrib/propagators/b3](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib)
| `v1.36.0` -> `v1.37.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fcontrib%2fpropagators%2fb3/v1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fcontrib%2fpropagators%2fb3/v1.36.0/v1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### Release Notes

<details>
<summary>open-telemetry/opentelemetry-go-contrib
(go.opentelemetry.io/contrib/otelconf)</summary>

###
[`v0.17.0`](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/releases/tag/v0.17.0)

[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/compare/v0.16.0...v0.17.0)

Update `go.opentelemetry.io/otel` dependency to
[v0.17.0](https://redirect.github.com/open-telemetry/opentelemetry-go/releases/tag/v0.17.0)

##### Added

- Add `ot-tracer` propagator
([#&#8203;562](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/562))

##### Changed

- Rename project default branch from `master` to `main`.

##### Fixed

- Added failure message for AWS ECS resource detector for better
debugging
([#&#8203;568](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/568))

***

Raw changes made between v0.16.0 and v0.17.0


[`cabeeb5`](cabeeb5eaa)
Bump github.com/labstack/echo/v4 from 4.1.17 to 4.2.0 in
/instrumentation/github.com/labstack/echo/otelecho
([#&#8203;577](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/577))

[`7fe84fd`](7fe84fdca7)
Bump github.com/labstack/echo/v4
([#&#8203;578](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/578))

[`8d6e61b`](8d6e61be85)
Bump github.com/aws/aws-sdk-go from 1.37.6 to 1.37.10 in /detectors/aws
([#&#8203;576](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/576))

[`bd90f3e`](bd90f3e3b2)
Eks resource detector bugfix
([#&#8203;575](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/575))

[`e532370`](e532370ba2)
(origin/main) Fix ECS resource detector bug
([#&#8203;569](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/569))

[`b87d221`](b87d221da8)
Bump cloud.google.com/go from 0.75.0 to 0.76.0 in /detectors/gcp
([#&#8203;572](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/572))

[`957a23c`](957a23cc45)
Bump actions/cache from v2 to v2.1.4
([#&#8203;571](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/571))

[`e3b511e`](e3b511e7d1)
Bump github.com/aws/aws-sdk-go from 1.37.1 to 1.37.6 in /detectors/aws
([#&#8203;570](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/570))

[`33003dd`](33003ddbce)
Bump go.mongodb.org/mongo-driver
([#&#8203;573](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/573))

[`cc69f93`](cc69f93ac0)
added failure message - ECS resource detector
([#&#8203;568](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/568))

[`fd60b5f`](fd60b5f9e1)
Add ot-tracer-\* propagator
([#&#8203;562](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/562))

[`bc8b54d`](bc8b54dea6)
Update default branch name to main
([#&#8203;567](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/567))

[`e0fb74f`](e0fb74f466)
Bump github.com/golangci/golangci-lint from 1.35.2 to 1.36.0 in /tools
([#&#8203;565](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/565))

[`feebb9b`](feebb9b04f)
Bump github.com/aws/aws-sdk-go from 1.36.29 to 1.37.1 in /detectors/aws
([#&#8203;566](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/566))

[`a7d455d`](a7d455df9d)
(upstream/master) Update workflows to include main branch as trigger
([#&#8203;564](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/564))

[`90490ec`](90490eca4f)
(origin/master, origin/HEAD) Bump github.com/aws/aws-sdk-go from 1.36.23
to 1.36.29 in /detectors/aws
([#&#8203;558](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/558))

[`33f383b`](33f383bb82)
Bump cloud.google.com/go from 0.74.0 to 0.75.0 in /detectors/gcp
([#&#8203;531](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/531))

[`6e9f6d3`](6e9f6d30f8)
Bump google.golang.org/grpc from 1.34.0 to 1.35.0 in
/instrumentation/google.golang.org/grpc/otelgrpc
([#&#8203;543](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/543))

[`a101606`](a101606952)
Bump github.com/gogo/protobuf from 1.3.1 to 1.3.2 in
/exporters/metric/cortex
([#&#8203;530](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/530))

[`3d7fac5`](3d7fac5844)
Upgrade github.com/stretchr/testify from v1.6.1 to v1.7.0
([#&#8203;557](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/557))

[`40b35ec`](40b35eceb6)
Bump github.com/golangci/golangci-lint from 1.35.0 to 1.35.2 in /tools
([#&#8203;526](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/526))

[`37f53a3`](37f53a37e8)
Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 in
/instrumentation/runtime
([#&#8203;525](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/525))

[`a77bcb3`](a77bcb366c)
Bump github.com/stretchr/testify in /exporters/metric/dogstatsd
([#&#8203;524](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/524))

[`77a5929`](77a5929d7a)
Bump google.golang.org/grpc
([#&#8203;545](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/545))

[`bc4e070`](bc4e070949)
Add code-coverage configuration to allow 1% delta
([#&#8203;555](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/555))

</details>

---

### Configuration

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

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

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-07-29 07:01:00 +00:00
Trask Stalnaker 8797b3ea0f
Fix merge queue check (#13516)
This should fix the recent failure in
https://github.com/open-telemetry/opentelemetry-collector/pull/13507
2025-07-29 04:28:59 +00:00
renovate[bot] 210e2918f6
fix(deps): update opentelemetry-go monorepo to v1.37.0 (#13515)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[go.opentelemetry.io/otel/sdk](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.36.0` -> `v1.37.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fsdk/v1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fsdk/v1.36.0/v1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/otel/sdk/metric](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.36.0` -> `v1.37.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2fsdk%2fmetric/v1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2fsdk%2fmetric/v1.36.0/v1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[go.opentelemetry.io/otel/trace](https://redirect.github.com/open-telemetry/opentelemetry-go)
| `v1.36.0` -> `v1.37.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fotel%2ftrace/v1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fotel%2ftrace/v1.36.0/v1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### Release Notes

<details>
<summary>open-telemetry/opentelemetry-go
(go.opentelemetry.io/otel/sdk)</summary>

###
[`v1.37.0`](https://redirect.github.com/open-telemetry/opentelemetry-go/releases/tag/v1.37.0):
Release 1.37.0/0.59.0/0.13.0

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

##### Added

- The `go.opentelemetry.io/otel/semconv/v1.33.0` package.
The package contains semantic conventions from the `v1.33.0` version of
the OpenTelemetry Semantic Conventions.
See the [migration documentation](./semconv/v1.33.0/MIGRATION.md) for
information on how to upgrade from
`go.opentelemetry.io/otel/semconv/v1.32.0.`([#&#8203;6799](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6799))
- The `go.opentelemetry.io/otel/semconv/v1.34.0` package.
The package contains semantic conventions from the `v1.34.0` version of
the OpenTelemetry Semantic Conventions.
([#&#8203;6812](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6812))
- Add metric's schema URL as `otel_scope_schema_url` label in
`go.opentelemetry.io/otel/exporters/prometheus`.
([#&#8203;5947](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5947))
- Add metric's scope attributes as `otel_scope_[attribute]` labels in
`go.opentelemetry.io/otel/exporters/prometheus`.
([#&#8203;5947](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5947))
- Add `EventName` to `EnabledParameters` in
`go.opentelemetry.io/otel/log`.
([#&#8203;6825](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6825))
- Add `EventName` to `EnabledParameters` in
`go.opentelemetry.io/otel/sdk/log`.
([#&#8203;6825](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6825))
- Changed handling of `go.opentelemetry.io/otel/exporters/prometheus`
metric renaming to add unit suffixes when it doesn't match one of the
pre-defined values in the unit suffix map.
([#&#8203;6839](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6839))

##### Changed

- The semantic conventions have been upgraded from `v1.26.0` to
`v1.34.0` in `go.opentelemetry.io/otel/bridge/opentracing`.
([#&#8203;6827](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6827))
- The semantic conventions have been upgraded from `v1.26.0` to
`v1.34.0` in `go.opentelemetry.io/otel/exporters/zipkin`.
([#&#8203;6829](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6829))
- The semantic conventions have been upgraded from `v1.26.0` to
`v1.34.0` in `go.opentelemetry.io/otel/metric`.
([#&#8203;6832](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6832))
- The semantic conventions have been upgraded from `v1.26.0` to
`v1.34.0` in `go.opentelemetry.io/otel/sdk/resource`.
([#&#8203;6834](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6834))
- The semantic conventions have been upgraded from `v1.26.0` to
`v1.34.0` in `go.opentelemetry.io/otel/sdk/trace`.
([#&#8203;6835](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6835))
- The semantic conventions have been upgraded from `v1.26.0` to
`v1.34.0` in `go.opentelemetry.io/otel/trace`.
([#&#8203;6836](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6836))
- `Record.Resource` now returns `*resource.Resource` instead of
`resource.Resource` in `go.opentelemetry.io/otel/sdk/log`.
([#&#8203;6864](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6864))
- Retry now shows error cause for context timeout in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`,
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`,
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`,
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`,
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`,
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`.
([#&#8203;6898](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6898))

##### Fixed

- Stop stripping trailing slashes from configured endpoint URL in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`.
([#&#8203;6710](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6710))
- Stop stripping trailing slashes from configured endpoint URL in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`.
([#&#8203;6710](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6710))
- Stop stripping trailing slashes from configured endpoint URL in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`.
([#&#8203;6710](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6710))
- Stop stripping trailing slashes from configured endpoint URL in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`.
([#&#8203;6710](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6710))
- Validate exponential histogram scale range for Prometheus
compatibility in `go.opentelemetry.io/otel/exporters/prometheus`.
([#&#8203;6822](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6822))
- Context cancellation during metric pipeline produce does not corrupt
data in `go.opentelemetry.io/otel/sdk/metric`.
([#&#8203;6914](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6914))

##### Removed

- `go.opentelemetry.io/otel/exporters/prometheus` no longer exports
`otel_scope_info` metric.
([#&#8203;6770](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6770))

##### What's Changed

- Fix dependencies to unreleased sdk/logtest by
[@&#8203;dmathieu](https://redirect.github.com/dmathieu) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6800](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6800)
- Release experimental logs 0.12.1 by
[@&#8203;dmathieu](https://redirect.github.com/dmathieu) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6802](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6802)
- Fix broken link in changelog by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6805](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6805)
- Retract v0.12.0 for log exporters by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6804](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6804)
- chore(deps): update python:3.13.3-slim-bullseye docker digest to
[`45338d2`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/45338d2)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6807](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6807)
- remove internal/matchers by
[@&#8203;codeimmortal](https://redirect.github.com/codeimmortal) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6777](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6777)
- Release log/v0.12.2 by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6806](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6806)
- chore(deps): update python:3.13.3-slim-bullseye docker digest to
[`f0acec6`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/f0acec6)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6810](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6810)
- Update the required approvals policy by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6783](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6783)
- Generate `semconv/v1.33.0` by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6799](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6799)
- chore(deps): update module github.com/jgautheron/goconst to v1.8.2 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6815](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6815)
- chore(deps): update module github.com/protonmail/go-crypto to v1.3.0
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6817](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6817)
- chore(deps): update module github.com/santhosh-tekuri/jsonschema/v6 to
v6.0.2 by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6818](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6818)
- Semconv v1.34.0 by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6812](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6812)
- bridge/opencensus: add test for OTelSpanContextToOC function by
[@&#8203;highlyavailable](https://redirect.github.com/highlyavailable)
in
[https://github.com/open-telemetry/opentelemetry-go/pull/6813](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6813)
- chore(deps): update module github.com/sashamelentyev/usestdlibvars to
v1.29.0 by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6820](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6820)
- prometheus: Add otel\_scope\_schema\_url and otel\_scope\_\[attribute]
labels by [@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/5947](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/5947)
- Fix/issue 6560 install trace bridge test by
[@&#8203;highlyavailable](https://redirect.github.com/highlyavailable)
in
[https://github.com/open-telemetry/opentelemetry-go/pull/6814](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6814)
- fix(deps): update module google.golang.org/grpc to v1.72.2 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6823](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6823)
- fix(deps): update module go.opentelemetry.io/collector/pdata to
v1.33.0 by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6824](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6824)
- chore(deps): update module github.com/golangci/plugin-module-register
to v0.1.2 by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6826](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6826)
- chore(deps): update otel/weaver docker tag to v0.15.1 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6838](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6838)
- prometheus: remove otel\_scope\_info by
[@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6770](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6770)
- log,sdk/log: add EventName to EnabledParameters by
[@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6825](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6825)
- chore(deps): update module github.com/abirdcfly/dupword to v0.1.5 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6840](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6840)
- Add migration doc generation to semconvgen by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6819](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6819)
- fix(deps): update module github.com/go-logr/logr to v1.4.3 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6842](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6842)
- Upgrade semconv to v1.34.0 in OpenTracing bridge by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6827](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6827)
- Upgrade semconv to v1.34.0 for OTLP templates by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6828](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6828)
- Upgrade semconv to 1.34.0 in exporters/zipkin by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6829](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6829)
- Upgrade semconv to 1.34.0 in exporters/stdout by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6830](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6830)
- Upgrade semconv to 1.34.0 in exporters/prometheus by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6831](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6831)
- Upgrade semconv to 1.34.0 in metric by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6832](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6832)
- Upgrade semconv to 1.34.0 in sdk/metric by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6833](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6833)
- Upgrade semconv to 1.34.0 in sdk/resource by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6834](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6834)
- Upgrade semconv to 1.34.0 in sdk/trace by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6835](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6835)
- Upgrade semconv to 1.34.0 in trace by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6836](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6836)
- Fix semconv instrument types by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6837](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6837)
- fix(deps): update googleapis to
[`200df99`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/200df99)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6843](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6843)
- chore(deps): update module github.com/abirdcfly/dupword to v0.1.6 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6845](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6845)
- chore(deps): update golang.org/x/telemetry digest to
[`b2b9eea`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/b2b9eea)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6844](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6844)
- fix(deps): update module go.opentelemetry.io/proto/otlp to v1.7.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6848](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6848)
- Checkout code for codecov upload by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6849](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6849)
- chore(deps): update golang.org/x/telemetry digest to
[`25d2f78`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/25d2f78)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6851](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6851)
- Add the FOSSA license scan badge shield by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6852](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6852)
- Add a CLO monitor exemption for Artifact Hub by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6853](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6853)
- sdk/trace: Remove internaltest package by
[@&#8203;Mojachieee](https://redirect.github.com/Mojachieee) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6846](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6846)
- chore(deps): update ossf/scorecard-action action to v2.4.2 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6857](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6857)
- chore(deps): update otel/weaver docker tag to v0.15.2 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6858](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6858)
- fix(deps): update golang.org/x to
[`65e9200`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/65e9200)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6859](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6859)
- chore(deps): update module github.com/spf13/cast to v1.9.1 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6861](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6861)
- fix(deps): update golang.org/x to
[`b6e5de4`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/b6e5de4)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6860](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6860)
- Handle custom metric suffix in `exporter/prometheus` to match
otel-contrib by
[@&#8203;alexandreLamarre](https://redirect.github.com/alexandreLamarre)
in
[https://github.com/open-telemetry/opentelemetry-go/pull/6839](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6839)
- chore(deps): update module github.com/spf13/cast to v1.9.2 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6862](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6862)
- fix(otlptrace,otlpmetric): remove endpoint URL path cleaning by
[@&#8203;mjq](https://redirect.github.com/mjq) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6710](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6710)
- sdk/log: Record.Resource to return \*resource.Resource by
[@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6864](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6864)
- chore(deps): update github/codeql-action action to v3.28.19 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6866](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6866)
- fix(deps): update googleapis to
[`513f239`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/513f239)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6867](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6867)
- chore(deps): update golang.org/x/telemetry digest to
[`9a9ac21`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/9a9ac21)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6865](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6865)
- chore(deps): update module github.com/go-git/go-git/v5 to v5.16.1 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6870](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6870)
- chore(deps): update python docker tag to v3.13.4 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6871](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6871)
- chore(deps): update golang.org/x by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6872](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6872)
- fix(deps): update module google.golang.org/grpc to v1.73.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6873](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6873)
- chore(deps): update module golang.org/x/text to v0.26.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6874](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6874)
- chore(deps): update module github.com/sergi/go-diff to v1.4.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6875](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6875)
- Only check links in changed files for fail-fast workflow by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6850](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6850)
- fix(deps): update golang.org/x by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6877](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6877)
- chore(deps): update module github.com/go-git/go-git/v5 to v5.16.2 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6884](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6884)
- chore(deps): update module github.com/ldez/gomoddirectives to v0.7.0
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6883](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6883)
- Use more specific self-hosted runner name by
[@&#8203;opentelemetrybot](https://redirect.github.com/opentelemetrybot)
in
[https://github.com/open-telemetry/opentelemetry-go/pull/6879](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6879)
- chore(deps): update golang.org/x/telemetry digest to
[`60998fe`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/60998fe)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6880](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6880)
- fix(deps): update module go.opentelemetry.io/collector/pdata to
v1.34.0 by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6885](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6885)
- chore(deps): update golang.org/x/telemetry digest to
[`4884ade`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/4884ade)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6886](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6886)
- chore(deps): update python:3.13.4-slim-bullseye docker digest to
[`473d423`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/473d423)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6889](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6889)
- chore(deps): update module github.com/ldez/exptostd to v0.4.4 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6888](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6888)
- chore(deps): update python:3.13.4-slim-bullseye docker digest to
[`faae1a8`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/faae1a8)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6891](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6891)
- chore(deps): update golang.org/x/telemetry digest to
[`9627e99`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/9627e99)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6896](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6896)
- chore(deps): update github/codeql-action action to v3.29.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6897](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6897)
- chore(deps): update module github.com/ldez/usetesting to v0.5.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6895](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6895)
- chore(deps): update python:3.13.4-slim-bullseye docker digest to
[`ec7d08e`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/ec7d08e)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6894](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6894)
- Use the cause of the context error in OTLP retry by
[@&#8203;XSAM](https://redirect.github.com/XSAM) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6898](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6898)
- chore(deps): update golang.org/x/telemetry digest to
[`e50bbf1`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/e50bbf1)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6900](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6900)
- chore(deps): update python docker tag to v3.13.5 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6901](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6901)
- prometheus: validate exponential histogram scale range
([#&#8203;6779](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6779))
by
[@&#8203;highlyavailable](https://redirect.github.com/highlyavailable)
in
[https://github.com/open-telemetry/opentelemetry-go/pull/6822](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6822)
- logtest modules to be released with tags by
[@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6876](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6876)
- chore(deps): update module github.com/securego/gosec/v2 to v2.22.5 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6905](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6905)
- Add release artifacts signing to the release process by
[@&#8203;MrAlias](https://redirect.github.com/MrAlias) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6855](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6855)
- chore(deps): update module github.com/go-viper/mapstructure/v2 to
v2.3.0 by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6906](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6906)
- chore(deps): update module github.com/mgechev/revive to v1.10.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6841](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6841)
- Remove internal matchers by
[@&#8203;Mojachieee](https://redirect.github.com/Mojachieee) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6907](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6907)
- chore(deps): update golang.org/x/telemetry digest to
[`8f04292`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/8f04292)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6910](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6910)
- chore(deps): update module github.com/charmbracelet/x/ansi to v0.9.3
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6912](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6912)
- chore(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2
to v2.27.0 by [@&#8203;renovate](https://redirect.github.com/renovate)
in
[https://github.com/open-telemetry/opentelemetry-go/pull/6913](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6913)
- fix(deps): update golang.org/x to
[`b7579e2`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/b7579e2)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6917](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6917)
- Ensure context cancellation during metric pipeline produce does not
corrupt data by
[@&#8203;alecholmes](https://redirect.github.com/alecholmes) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6914](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6914)
- chore(deps): update golang.org/x/telemetry digest to
[`90b6ad3`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/90b6ad3)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6918](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6918)
- fix(deps): update module github.com/prometheus/common to v0.65.0 by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6921](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6921)
- chore: flatten bridge/opentracing/internal package by
[@&#8203;Bakhtiyar-Garashov](https://redirect.github.com/Bakhtiyar-Garashov)
in
[https://github.com/open-telemetry/opentelemetry-go/pull/6916](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6916)
- chore(deps): update golang.org/x by
[@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6923](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6923)
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest
to
[`513f239`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/513f239)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6922](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6922)
- Add test for logging from a span in the opentracing bridge by
[@&#8203;tongoss](https://redirect.github.com/tongoss) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6919](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6919)
- Use existing schema URLs in tests by
[@&#8203;dmathieu](https://redirect.github.com/dmathieu) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6924](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6924)
- chore: add missing ) in GPG hyperlink by
[@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6928](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6928)
- chore(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2
to v2.27.1 by [@&#8203;renovate](https://redirect.github.com/renovate)
in
[https://github.com/open-telemetry/opentelemetry-go/pull/6930](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6930)
- chore(deps): update golang.org/x/telemetry digest to
[`fef9409`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/fef9409)
by [@&#8203;renovate](https://redirect.github.com/renovate) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6929](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6929)
- Release v1.37.0/v0.59.0/v0.13.0 by
[@&#8203;pellared](https://redirect.github.com/pellared) in
[https://github.com/open-telemetry/opentelemetry-go/pull/6925](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6925)

##### New Contributors

- [@&#8203;codeimmortal](https://redirect.github.com/codeimmortal) made
their first contribution in
[https://github.com/open-telemetry/opentelemetry-go/pull/6777](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6777)
- [@&#8203;highlyavailable](https://redirect.github.com/highlyavailable)
made their first contribution in
[https://github.com/open-telemetry/opentelemetry-go/pull/6813](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6813)
- [@&#8203;Mojachieee](https://redirect.github.com/Mojachieee) made
their first contribution in
[https://github.com/open-telemetry/opentelemetry-go/pull/6846](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6846)
-
[@&#8203;alexandreLamarre](https://redirect.github.com/alexandreLamarre)
made their first contribution in
[https://github.com/open-telemetry/opentelemetry-go/pull/6839](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6839)
- [@&#8203;mjq](https://redirect.github.com/mjq) made their first
contribution in
[https://github.com/open-telemetry/opentelemetry-go/pull/6710](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6710)
- [@&#8203;alecholmes](https://redirect.github.com/alecholmes) made
their first contribution in
[https://github.com/open-telemetry/opentelemetry-go/pull/6914](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6914)
-
[@&#8203;Bakhtiyar-Garashov](https://redirect.github.com/Bakhtiyar-Garashov)
made their first contribution in
[https://github.com/open-telemetry/opentelemetry-go/pull/6916](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/6916)

**Full Changelog**:
https://github.com/open-telemetry/opentelemetry-go/compare/v1.36.0...v1.37.0

</details>

---

### Configuration

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

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

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-07-29 03:20:43 +00:00
renovate[bot] 267df7e843
chore(deps): update streetsidesoftware/cspell-action action to v7.2.0 (#13513)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[streetsidesoftware/cspell-action](https://redirect.github.com/streetsidesoftware/cspell-action)
| action | minor | `v7.1.2` -> `v7.2.0` |

---

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

---

### Release Notes

<details>
<summary>streetsidesoftware/cspell-action
(streetsidesoftware/cspell-action)</summary>

###
[`v7.2.0`](https://redirect.github.com/streetsidesoftware/cspell-action/releases/tag/v7.2.0)

[Compare
Source](https://redirect.github.com/streetsidesoftware/cspell-action/compare/v7.1.2...v7.2.0)

##### Features

- Update CSpell version (9.2.0)
([#&#8203;2391](https://redirect.github.com/streetsidesoftware/cspell-action/issues/2391))
([7b25076](7b25076b62))

##### Updates and Bug Fixes

- Update Dictionaries and Dependencies
([#&#8203;2394](https://redirect.github.com/streetsidesoftware/cspell-action/issues/2394))
([fc07b1d](fc07b1dea4))

</details>

---

### Configuration

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

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

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-29 03:19:41 +00:00
renovate[bot] 48e4f356c2
fix(deps): update module github.com/cenkalti/backoff/v5 to v5.0.3 (#13512)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[github.com/cenkalti/backoff/v5](https://redirect.github.com/cenkalti/backoff)
| `v5.0.2` -> `v5.0.3` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fcenkalti%2fbackoff%2fv5/v5.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fcenkalti%2fbackoff%2fv5/v5.0.2/v5.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### Release Notes

<details>
<summary>cenkalti/backoff (github.com/cenkalti/backoff/v5)</summary>

###
[`v5.0.3`](https://redirect.github.com/cenkalti/backoff/compare/v5.0.2...v5.0.3)

[Compare
Source](https://redirect.github.com/cenkalti/backoff/compare/v5.0.2...v5.0.3)

</details>

---

### Configuration

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

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

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-07-29 03:18:33 +00:00
Antoine Toulme ad7e42d17d
[chore] prevent unkeyed literal initialization (#13511)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Config struct does not prevent unkeyed literal initialization.

<!-- Issue number if applicable -->
#### Link to tracking issue
#12360

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-29 03:01:55 +00:00
Bogdan Drutu 96f9a354d2
[chore] Prepare release v1.37.0/v0.131.0 (#13510)
The following commands were run to prepare this release:

make chlog-update VERSION=v1.37.0/v0.131.0
make prepare-release PREVIOUS_VERSION=1[.]36[.]1
RELEASE_CANDIDATE=1.37.0 MODSET=stable
make prepare-release PREVIOUS_VERSION=0[.]130[.]1
RELEASE_CANDIDATE=0.131.0 MODSET=beta

---------

Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-07-28 23:54:40 +00:00
Bogdan Drutu 3c0fd3946f
[chore] Change to auto-generate UnmarshalJSON logic with pdatagen for slices (#13503)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-28 20:24:31 +00:00
Alex Boten d4539dd6b4
[chore] update references to batch processor (#13406)
This updates some of the documentation to remove the reference to the
batch processor.

---------

Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com>
2025-07-28 18:28:57 +00:00
Vaibhav Yadav 352970729c
docs: add testable examples for component.ID and component.Type Closes Issue #13146 (#13430)
#### Description

Adds testable examples for `component.ID` and `component.Type` to
improve the documentation rendered on
[pkg.go.dev](https://pkg.go.dev/go.opentelemetry.io/collector/component).
These examples demonstrate how to construct and use these types in a
simple and idiomatic way, per the Go documentation guidelines.

#### Link to tracking issue
Fixes #13146

#### Testing
Testable examples were added in `component/identifiable_example_test.go`
and verified using:

```
cd component/
go test ./... -v
```

---------

Co-authored-by: Damien Mathieu <42@dmathieu.com>
Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
2025-07-28 16:38:30 +00:00
Antoine Toulme cd7fbdbabb
[confighttp] Move `confighttp.framedSnappy` feature gate to beta. (#13491)
#### Description
Move the feature gate `confighttp.framedSnappy` to beta.
2025-07-28 15:40:26 +00:00
Matthieu MOREL 128b3d01dc
[chore]: enable decorder linter (#13481)
#### Description

Enables and fixes
[decorder](https://golangci-lint.run/usage/linters/#decorder) linter

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-07-28 15:01:05 +00:00
Matthieu MOREL 421f65cccf
[chore]: enable asasalint linter (#13482)
#### Description

Enables and fixes
[asasalint](https://golangci-lint.run/usage/linters/#asasalint) linter

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-07-28 15:00:00 +00:00
Pablo Baeyens 9db582704b
[chore][builder-snapshot.yaml] Bump goreleaser version (#13500)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Bumps goreleaser version

I am not sure how, but Fixes #13497
2025-07-28 12:23:44 +00:00
Bogdan Drutu 1666e4b6ac
[chore] Ensure that Inf is converted as Infinity (#13499)
No changelog because this bug was not released.

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-28 05:17:09 +00:00
Bogdan Drutu 11dffd6891
[chore] Change to use wrapper of jsoniter.Iterator to simplify ReadXYZ calls (#13498)
This is a preparation to auto-generate the UnmarshalJSON using pdatagen.
By doing this we simplify to have all funcs on the Iterator and not
having some on the json package some on the Iterator.

Also, this is less error prune since it forces that all numbers are
correctly handle the string option.

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-28 04:23:36 +00:00
Bogdan Drutu 95e5ac6476
[chore] Refactor data.*ID to mathch the new jsoniter helpers (#13495)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-27 18:34:15 +00:00
Antoine Toulme b5f3b1dea2
[builder] Remove undocumented handling of `DIST_*` environment variables replacements (#13493)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Remove undocumented handling of `DIST_*` environment variables
replacements

<!-- Issue number if applicable -->
#### Link to tracking issue
Fixes #13335
2025-07-26 22:57:37 +00:00
Bogdan Drutu 27018597f7
[chore] Renmae unmarshalJsoniter to unmarshalJSONIter, add error checks for generated tests (#13496)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-26 22:06:13 +00:00
Bogdan Drutu bfac96cd66
Remove all usages of jsonpb from pdata (#13494)
No changelog since already have one for the main data transition.

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-26 17:45:00 +00:00
Matthieu MOREL 7be639ff94
[chore]: use grpc Interceptor interfaces (#13438)
#### Description

This uses grpc Interceptors types instead of their value to instanciate
grpc config interceptors

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-07-25 19:52:11 +00:00
Bogdan Drutu 424a12102d
Generate marshal JSON without gogo proto jsonpb (#13450)
This PR is part of an effort to remove usage of gogo proto in pdata and
switch to a model where we enhance the pdatagen tool to generate compact
(reflection free to avoid DCE disabling) and faster code.

The list of the PRs will do:
1. Auto generate the JSON marshaling logic (this PR).
1. Auto generate the JSON unmarshaling logic and replace manually
written code.
1. Auto generate the proto marshaling logic.
1. Auto generate the proto unmarshaling logic.
1. Remove the usage of auto-generate gogo proto code completely and
generate field members in the pdata objects.
1. Add support for lazy unmarshaling. 

Performance improvements are more than 30x:

**Before:**
```
BenchmarkLogsMarshalJSON
BenchmarkLogsMarshalJSON-12    	      94	  12541041 ns/op	 8458944 B/op	  196458 allocs/op
BenchmarkMetricsMarshalJSON
BenchmarkMetricsMarshalJSON-12    	       3	 452309069 ns/op	350229024 B/op	 8131400 allocs/op
BenchmarkProfilesMarshalJSON
BenchmarkProfilesMarshalJSON-12    	      30	  36731071 ns/op	20317088 B/op	  531652 allocs/op
BenchmarkTracesMarshalJSON
BenchmarkTracesMarshalJSON-12    	       8	 132521260 ns/op	95920588 B/op	 2208765 allocs/op
```

**After:**
```
BenchmarkLogsMarshalJSON
BenchmarkLogsMarshalJSON-12    	    3000	    403587 ns/op	  282465 B/op	    1487 allocs/op
BenchmarkMetricsMarshalJSON
BenchmarkMetricsMarshalJSON-12    	      72	  16772373 ns/op	11856529 B/op	   72833 allocs/op
BenchmarkProfilesMarshalJSON
BenchmarkProfilesMarshalJSON-12    	    1460	    849419 ns/op	  674545 B/op	    1145 allocs/op
BenchmarkTracesMarshalJSON
BenchmarkTracesMarshalJSON-12    	     271	   4344647 ns/op	 3010259 B/op	   16237 allocs/op
```

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-25 19:29:53 +00:00
Andrzej Stencel 1b0fd82c80
[exporter/debug] move to alpha stability (#13487) 2025-07-25 19:06:31 +00:00
Jade Guiton 545866fcf8
Emit `outcome: failure` in obsconsumer (#13234)
#### Description
The last remaining part of #12676 is to implement the `outcome: failure`
part of the Pipeline Component Telemetry RFC ([see
here](https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/rfcs/component-universal-telemetry.md#auto-instrumented-metrics)).
This is done by introducing a `downstream` error wrapper struct, to
distinguish between errors coming from the next component from errors
bubbled from further downstream.

#### Important note
This PR implements things slightly differently from what the text of the
RFC describes.

If a pipeline contains components `A → B` and an error occurs in B, this
PR records:
- `otelcol.component.outcome = failure` in the `otelcol.*.consumed.*`
metric for B
- `otelcol.component.outcome = refused` in the `otelcol.*.produced.*`
metric for A

whereas the RFC would set both `outcome`s to `failure`.

This is programmatically simpler — no need to have different behavior
between the `obsconsumer` around the output of A and the one around the
input of B — but more importantly, I think it is clearer for users as
well: `outcome = failure` only occurs on metrics associated with the
component where the failure actually occurred.

This subtlety wasn't discussed in-depth in #11956 which introduced
`outcome = refused`, so I took the liberty to make this change. If
necessary, I can file another RFC amendment to match, or, if there are
objections, implement the RFC as-is instead.

#### Link to tracking issue
Fixes #12676

#### Testing
I've updated the existing tests in `obsconsumer` to expect a
`downstream`-wrapped error to exit the `obsconsumer` layer. I may add
more tests later.

#### Documentation
None.

---------

Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
Co-authored-by: Pablo Baeyens <pablo.baeyens@datadoghq.com>
2025-07-25 10:19:48 +00:00
Mateusz Urbanek e83049846d
Add riscv64 arch (#13458)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

New Tier 3 platform: `riscv64` architecture is now included, allowing
the collector to be built and distributed for this platform.

<!-- Issue number if applicable -->
#### Link to tracking issue
Fixes #13462
X-Ref:
https://github.com/open-telemetry/opentelemetry-collector-releases/pull/969

<!--Describe what testing was performed and which tests were added.-->
#### Testing

I’ve performed basic compilation as well as starting collector inside a
linux/riscv64 container (`docker.io/riscv64/debian`).

<!--Describe the documentation added.-->
#### Documentation

Added myself as a contact point to `platform-support.md` document.

---------

Signed-off-by: Mateusz Urbanek <mateusz.urbanek.98@gmail.com>
Co-authored-by: Pablo Baeyens <pablo.baeyens@datadoghq.com>
2025-07-25 08:23:47 +00:00
Andres Borja cd5ca205f8
Add missing import for 'metadata' through mdatagen (#13469)
Fixes bug 13069 related to a missing import for 'metadata' package in
the mdatagen generation.

Resolves:
https://github.com/open-telemetry/opentelemetry-collector/issues/13069

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
When a new metric is added into metadata.yaml file and make generate is
ran, I multiple files generated by mdatagen. But one of the files
internal/metadataset/generated_telemetrytest_test.go is missing an
import, making the build to fail.

<!-- Issue number if applicable -->
#### Link to tracking issue
Fixes #
[13069](https://github.com/open-telemetry/opentelemetry-collector/issues/13069)

<!--Describe what testing was performed and which tests were added.-->
#### Testing
Tested by running mdatagen and verifying the missing import is now
available and builds successfully.
2025-07-25 04:58:59 +00:00
renovate[bot] f78c1b17d1
Update github-actions deps (#13218)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anchore/sbom-action](https://redirect.github.com/anchore/sbom-action)
| action | patch | `v0.20.0` -> `v0.20.4` |
|
[docker/setup-buildx-action](https://redirect.github.com/docker/setup-buildx-action)
| action | minor | `v3.10.0` -> `v3.11.1` |
|
[github/codeql-action](https://redirect.github.com/github/codeql-action)
| action | patch | `v3.29.0` -> `v3.29.4` |
| lycheeverse/lychee-action | action | digest | `82202e5` -> `5c4ee84` |
|
[sigstore/cosign-installer](https://redirect.github.com/sigstore/cosign-installer)
| action | minor | `v3.8.2` -> `v3.9.2` |
|
[streetsidesoftware/cspell-action](https://redirect.github.com/streetsidesoftware/cspell-action)
| action | minor | `v7.0.1` -> `v7.1.2` |

---

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

---

### Release Notes

<details>
<summary>anchore/sbom-action (anchore/sbom-action)</summary>

###
[`v0.20.4`](https://redirect.github.com/anchore/sbom-action/releases/tag/v0.20.4)

[Compare
Source](https://redirect.github.com/anchore/sbom-action/compare/v0.20.3...v0.20.4)

#### Changes in v0.20.4

- chore: update Syft to v1.29.0
([#&#8203;529](https://redirect.github.com/anchore/sbom-action/issues/529))

###
[`v0.20.3`](https://redirect.github.com/anchore/sbom-action/releases/tag/v0.20.3)

[Compare
Source](https://redirect.github.com/anchore/sbom-action/compare/v0.20.2...v0.20.3)

#### Changes in v0.20.3

- Fix: Strip emojis from correlator before using github APIs
([#&#8203;527](https://redirect.github.com/anchore/sbom-action/issues/527))
\[[AndrewHendry](https://redirect.github.com/AndrewHendry)]

###
[`v0.20.2`](https://redirect.github.com/anchore/sbom-action/releases/tag/v0.20.2)

[Compare
Source](https://redirect.github.com/anchore/sbom-action/compare/v0.20.1...v0.20.2)

#### Changes in v0.20.2

- Update Syft to v1.28.0
([#&#8203;526](https://redirect.github.com/anchore/sbom-action/issues/526))

###
[`v0.20.1`](https://redirect.github.com/anchore/sbom-action/releases/tag/v0.20.1)

[Compare
Source](https://redirect.github.com/anchore/sbom-action/compare/v0.20.0...v0.20.1)

#### Changes in v0.20.1

- Update Syft to v1.27.1
([#&#8203;525](https://redirect.github.com/anchore/sbom-action/issues/525))

</details>

<details>
<summary>docker/setup-buildx-action
(docker/setup-buildx-action)</summary>

###
[`v3.11.1`](https://redirect.github.com/docker/setup-buildx-action/releases/tag/v3.11.1)

[Compare
Source](https://redirect.github.com/docker/setup-buildx-action/compare/v3.11.0...v3.11.1)

- Fix `keep-state` not being respected by
[@&#8203;crazy-max](https://redirect.github.com/crazy-max) in
[https://github.com/docker/setup-buildx-action/pull/429](https://redirect.github.com/docker/setup-buildx-action/pull/429)

**Full Changelog**:
https://github.com/docker/setup-buildx-action/compare/v3.11.0...v3.11.1

###
[`v3.11.0`](https://redirect.github.com/docker/setup-buildx-action/releases/tag/v3.11.0)

[Compare
Source](https://redirect.github.com/docker/setup-buildx-action/compare/v3.10.0...v3.11.0)

- Keep BuildKit state support by
[@&#8203;crazy-max](https://redirect.github.com/crazy-max) in
[https://github.com/docker/setup-buildx-action/pull/427](https://redirect.github.com/docker/setup-buildx-action/pull/427)
- Remove aliases created when installing by default by
[@&#8203;hashhar](https://redirect.github.com/hashhar) in
[https://github.com/docker/setup-buildx-action/pull/139](https://redirect.github.com/docker/setup-buildx-action/pull/139)
- Bump
[@&#8203;docker/actions-toolkit](https://redirect.github.com/docker/actions-toolkit)
from 0.56.0 to 0.62.1 in
[https://github.com/docker/setup-buildx-action/pull/422](https://redirect.github.com/docker/setup-buildx-action/pull/422)
[https://github.com/docker/setup-buildx-action/pull/425](https://redirect.github.com/docker/setup-buildx-action/pull/425)

**Full Changelog**:
https://github.com/docker/setup-buildx-action/compare/v3.10.0...v3.11.0

</details>

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

###
[`v3.29.4`](https://redirect.github.com/github/codeql-action/releases/tag/v3.29.4)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v3.29.3...v3.29.4)

### CodeQL Action Changelog

See the [releases
page](https://redirect.github.com/github/codeql-action/releases) for the
relevant changes to the CodeQL CLI and language packs.

#### 3.29.4 - 23 Jul 2025

No user facing changes.

See the full
[CHANGELOG.md](https://redirect.github.com/github/codeql-action/blob/v3.29.4/CHANGELOG.md)
for more information.

###
[`v3.29.3`](https://redirect.github.com/github/codeql-action/releases/tag/v3.29.3)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v3.29.2...v3.29.3)

### CodeQL Action Changelog

See the [releases
page](https://redirect.github.com/github/codeql-action/releases) for the
relevant changes to the CodeQL CLI and language packs.

#### 3.29.3 - 21 Jul 2025

No user facing changes.

See the full
[CHANGELOG.md](https://redirect.github.com/github/codeql-action/blob/v3.29.3/CHANGELOG.md)
for more information.

###
[`v3.29.2`](https://redirect.github.com/github/codeql-action/releases/tag/v3.29.2)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v3.29.1...v3.29.2)

##### CodeQL Action Changelog

See the [releases
page](https://redirect.github.com/github/codeql-action/releases) for the
relevant changes to the CodeQL CLI and language packs.

##### 3.29.2 - 30 Jun 2025

- Experimental: When the `quality-queries` input for the `init` action
is provided with an argument, separate `.quality.sarif` files are
produced and uploaded for each language with the results of the
specified queries. Do not use this in production as it is part of an
internal experiment and subject to change at any time.
[#&#8203;2935](https://redirect.github.com/github/codeql-action/pull/2935)

See the full
[CHANGELOG.md](https://redirect.github.com/github/codeql-action/blob/v3.29.2/CHANGELOG.md)
for more information.

###
[`v3.29.1`](https://redirect.github.com/github/codeql-action/releases/tag/v3.29.1)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v3.29.0...v3.29.1)

##### CodeQL Action Changelog

See the [releases
page](https://redirect.github.com/github/codeql-action/releases) for the
relevant changes to the CodeQL CLI and language packs.

##### 3.29.1 - 27 Jun 2025

- Fix bug in PR analysis where user-provided `include` query filter
fails to exclude non-included queries.
[#&#8203;2938](https://redirect.github.com/github/codeql-action/pull/2938)
- Update default CodeQL bundle version to 2.22.1.
[#&#8203;2950](https://redirect.github.com/github/codeql-action/pull/2950)

See the full
[CHANGELOG.md](https://redirect.github.com/github/codeql-action/blob/v3.29.1/CHANGELOG.md)
for more information.

</details>

<details>
<summary>sigstore/cosign-installer (sigstore/cosign-installer)</summary>

###
[`v3.9.2`](https://redirect.github.com/sigstore/cosign-installer/releases/tag/v3.9.2)

[Compare
Source](https://redirect.github.com/sigstore/cosign-installer/compare/v3.9.1...v3.9.2)

#### What's Changed

- not fail fast and setup permissions in
[https://github.com/sigstore/cosign-installer/pull/195](https://redirect.github.com/sigstore/cosign-installer/pull/195)
- drop old unsupported versions \<v2.0.0
in[https://github.com/sigstore/cosign-installer/pull/192](https://redirect.github.com/sigstore/cosign-installer/pull/192)2
- Update default to v2.5.3 in
[https://github.com/sigstore/cosign-installer/pull/196](https://redirect.github.com/sigstore/cosign-installer/pull/196)

**Full Changelog**:
https://github.com/sigstore/cosign-installer/compare/v3.9.1...v3.9.2

###
[`v3.9.1`](https://redirect.github.com/sigstore/cosign-installer/releases/tag/v3.9.1)

[Compare
Source](https://redirect.github.com/sigstore/cosign-installer/compare/v3.9.0...v3.9.1)

##### What's Changed

- default action install to use release v2.5.1 by
[@&#8203;cpanato](https://redirect.github.com/cpanato) in
[https://github.com/sigstore/cosign-installer/pull/193](https://redirect.github.com/sigstore/cosign-installer/pull/193)
- default cosign to v2.5.2 by
[@&#8203;cpanato](https://redirect.github.com/cpanato) in
[https://github.com/sigstore/cosign-installer/pull/194](https://redirect.github.com/sigstore/cosign-installer/pull/194)

**Full Changelog**:
https://github.com/sigstore/cosign-installer/compare/v3.9.0...v3.9.1

###
[`v3.9.0`](https://redirect.github.com/sigstore/cosign-installer/releases/tag/v3.9.0)

[Compare
Source](https://redirect.github.com/sigstore/cosign-installer/compare/v3.8.2...v3.9.0)

#### What's Changed

- Bump actions/setup-go from 5.4.0 to 5.5.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/sigstore/cosign-installer/pull/189](https://redirect.github.com/sigstore/cosign-installer/pull/189)
- bump cosign install to use release v2.5.0 as default by
[@&#8203;cpanato](https://redirect.github.com/cpanato) in
[https://github.com/sigstore/cosign-installer/pull/191](https://redirect.github.com/sigstore/cosign-installer/pull/191)

**Full Changelog**:
https://github.com/sigstore/cosign-installer/compare/v3...v3.9.0

</details>

<details>
<summary>streetsidesoftware/cspell-action
(streetsidesoftware/cspell-action)</summary>

###
[`v7.1.2`](https://redirect.github.com/streetsidesoftware/cspell-action/releases/tag/v7.1.2)

[Compare
Source](https://redirect.github.com/streetsidesoftware/cspell-action/compare/v7.1.1...v7.1.2)

##### Updates and Bug Fixes

- Update CSpell version (9.1.5)
([#&#8203;2389](https://redirect.github.com/streetsidesoftware/cspell-action/issues/2389))
([47fec0d](47fec0d74e))
- Update Dictionaries and Dependencies
([#&#8203;2385](https://redirect.github.com/streetsidesoftware/cspell-action/issues/2385))
([b8baba1](b8baba18fc))

###
[`v7.1.1`](https://redirect.github.com/streetsidesoftware/cspell-action/releases/tag/v7.1.1)

[Compare
Source](https://redirect.github.com/streetsidesoftware/cspell-action/compare/v7.1.0...v7.1.1)

##### Updates and Bug Fixes

- Update CSpell version (9.1.3)
([#&#8203;2379](https://redirect.github.com/streetsidesoftware/cspell-action/issues/2379))
([eea88e2](eea88e2027))
- Update Dictionaries and Dependencies
([#&#8203;2381](https://redirect.github.com/streetsidesoftware/cspell-action/issues/2381))
([b20f418](b20f418665))

###
[`v7.1.0`](https://redirect.github.com/streetsidesoftware/cspell-action/releases/tag/v7.1.0)

[Compare
Source](https://redirect.github.com/streetsidesoftware/cspell-action/compare/v7.0.1...v7.1.0)

##### Features

- expose the `report` argument via the action inputs
([#&#8203;2373](https://redirect.github.com/streetsidesoftware/cspell-action/issues/2373))
([e874b8c](e874b8c631))
- Update CSpell version (9.1.1)
([#&#8203;2349](https://redirect.github.com/streetsidesoftware/cspell-action/issues/2349))
([dafdece](dafdecea11))

##### Updates and Bug Fixes

- Update CSpell version (9.1.2)
([#&#8203;2358](https://redirect.github.com/streetsidesoftware/cspell-action/issues/2358))
([4082801](4082801fef))
- Update Dictionaries and Dependencies
([#&#8203;2341](https://redirect.github.com/streetsidesoftware/cspell-action/issues/2341))
([366bfc1](366bfc1caa))
- Update Dictionaries and Dependencies
([#&#8203;2345](https://redirect.github.com/streetsidesoftware/cspell-action/issues/2345))
([0c9416c](0c9416cecf))
- Update Dictionaries and Dependencies
([#&#8203;2348](https://redirect.github.com/streetsidesoftware/cspell-action/issues/2348))
([acadf5d](acadf5d06b))
- Update Dictionaries and Dependencies
([#&#8203;2355](https://redirect.github.com/streetsidesoftware/cspell-action/issues/2355))
([1493194](1493194a86))
- Update Dictionaries and Dependencies
([#&#8203;2363](https://redirect.github.com/streetsidesoftware/cspell-action/issues/2363))
([806cff9](806cff988b))
- Update Dictionaries and Dependencies
([#&#8203;2372](https://redirect.github.com/streetsidesoftware/cspell-action/issues/2372))
([b343c10](b343c1031a))
- Workflow Bot -- Update ALL Dependencies (main)
([#&#8203;2335](https://redirect.github.com/streetsidesoftware/cspell-action/issues/2335))
([1d972ad](1d972adc57))

</details>

---

### Configuration

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

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

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-25 04:56:04 +00:00
Bogdan Drutu 2d85a66196
[chore] Refactor pdatagen field generators into separate files (#13484)
The main reason for this is to help with identify which fields is
affected when making changes as well as better isolation of templates
for all fields.

This is a no change for the generated code.

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-25 04:53:56 +00:00
Bogdan Drutu 467db83ad3
Fix profiles JSON unmarshaling logic for byte arrays (#13483)
Add generated test values for primitive slices to ensure we test all
paths.

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-24 21:02:55 +00:00
Bogdan Drutu 811b19c99b
Fix JSON unmarshal and add e2e tests (#13480)
When Entity was added, we forgot to update the unmarshal logic. Add e2e
tests so that this cannot happened in the future.

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-24 19:38:30 +00:00
Matthieu MOREL 51bff5f40f
[chore]: enable fatcontext linter (#13445)
#### Description

Enable and fixes
[fatcontext](https://golangci-lint.run/usage/linters/#fatcontext) linter

---------

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-07-24 11:27:42 +00:00
Matthieu MOREL 84e29958f1
[chore]: enable-all rules from go-critic (#13433)
#### Description

Enables all rules from
[go-critic](https://golangci-lint.run/usage/linters/#gocritic) by
default and disable the one that needs to be fixed

* https://go-critic.com/overview.html#appendcombine
* https://go-critic.com/overview.html#emptystringtest
* https://go-critic.com/overview.html#evalorder
* https://go-critic.com/overview.html#httpnobody
* https://go-critic.com/overview.html#nestingreduce
* https://go-critic.com/overview.html#regexpsimplify
* https://go-critic.com/overview.html#sloppyreassign
* https://go-critic.com/overview.html#sprintfquotedstring
* https://go-critic.com/overview.html#typeassertchain
* https://go-critic.com/overview.html#typeunparen

---------

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-07-24 10:34:03 +00:00
Pablo Baeyens 43de63c1e2
[chore][docs] Remove release process for 'releases' and replace with link (#13464)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Moves 'releases' release process to opentelemetry-collector-contrib
repository.

Depends on open-telemetry/opentelemetry-collector-releases/pull/1034.

See also #13463 and
open-telemetry/opentelemetry-collector-contrib/pull/41509.
2025-07-24 10:32:11 +00:00
Pablo Baeyens 043099e942
[chore] Use 'stable' and 'oldstable' instead of particular versions (#13461)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Since [V3](https://github.com/actions/setup-go?tab=readme-ov-file#v3)
the setup-go action supports the `stable` and `oldstable` aliases.
Switching to them would allow us to ensure our compatibility promise
without constant updates.

---------

Co-authored-by: Yang Song <songy23@users.noreply.github.com>
2025-07-24 10:25:36 +00:00
Bogdan Drutu d1830eed9a
[chore] Move JSON unmarshaling funcs to match other internal helpers (#13470)
Extracted from
https://github.com/open-telemetry/opentelemetry-collector/pull/13450

---------

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-23 23:34:50 +00:00
Pablo Baeyens d3c5766b79
[chore][docs] Remove release process for contrib and replace with link (#13463)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Moves contrib release process to opentelemetry-collector-contrib
repository.

Depends on open-telemetry/opentelemetry-collector-contrib/pull/41509.

See also #13464 and
open-telemetry/opentelemetry-collector-releases/pull/1034
2025-07-23 17:17:53 +00:00
Yang Song 59b5328782
Downgrade otel-go (#13429) (#13466)
cherry-pick of
d82267dd69

`go.opentelemetry.io/otel/exporters/prometheus v0.59.1` does not fully
fix the metric name issue so we have to revert to v0.58.0

Downgrades opentelemetry-go dependencies effectively reverting #13289
and others

- Due to a
[bug](https://github.com/open-telemetry/opentelemetry-go/issues/7039) in
the prometheus exporter, if you are configuring a prometheus exporter,
the collector's internal metrics will be emitted with an unexpected
suffix in its name. For example, the metric
`otelcol_exporter_sent_spans__spans__total` instead of
`otelcol_exporter_sent_spans_total`. The workaround is to manually
configure `without_units: true` in your prometheus exporter config

 ```yaml
  service:
    telemetry:
      metrics:
        readers:
          - pull: 
              exporter: 
                prometheus: 
                  host: 0.0.0.0 
                  port: 8888 
                  without_units: true 
 ``` 
     
If you are using the collector's default Prometheus exporter for
exporting internal metrics you are unaffected.

Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com>
Co-authored-by: Pablo Baeyens <pablo.baeyens@datadoghq.com>
Co-authored-by: alex boten <223565+codeboten@users.noreply.github.com>
2025-07-23 16:16:50 +00:00
renovate[bot] f68d71016b
Update module google.golang.org/grpc to v1.74.2 (#13459)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [google.golang.org/grpc](https://redirect.github.com/grpc/grpc-go) |
`v1.73.0` -> `v1.74.2` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fgrpc/v1.74.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fgrpc/v1.73.0/v1.74.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### Release Notes

<details>
<summary>grpc/grpc-go (google.golang.org/grpc)</summary>

###
[`v1.74.2`](https://redirect.github.com/grpc/grpc-go/releases/tag/v1.74.2):
Release 1.74.2

[Compare
Source](https://redirect.github.com/grpc/grpc-go/compare/v1.74.1...v1.74.2)

### API Changes

- balancer: add `ExitIdle` method to `Balancer` interface. Earlier,
implementing this method was optional.
([#&#8203;8367](https://redirect.github.com/grpc/grpc-go/issues/8367))

### Behavior Changes

- xds: Remove the `GRPC_EXPERIMENTAL_ENABLE_LEAST_REQUEST` environment
variable that allows disabling the least request balancer with xDS.
Least request was made available by default with xDS in v1.72.0.
([#&#8203;8248](https://redirect.github.com/grpc/grpc-go/issues/8248))
- Special Thanks:
[@&#8203;atollena](https://redirect.github.com/atollena)
- server: allow 0s grpc-timeout header values, which older gRPC-Java
versions could send. This restores the behavior of grpc-go before
v1.73.0.
([#&#8203;8439](https://redirect.github.com/grpc/grpc-go/issues/8439))

### Bug Fixes

- googledirectpath: avoid logging the error message `Attempt to set a
bootstrap configuration...` when creating multiple directpath channels.
([#&#8203;8419](https://redirect.github.com/grpc/grpc-go/issues/8419))

### Performance Improvements

- transport: reduce heap allocations by pooling objects and avoiding
method-to-closure conversions.
([#&#8203;8361](https://redirect.github.com/grpc/grpc-go/issues/8361))
- transport: reduce heap allocations by re-using `mem.Reader` objects.
([#&#8203;8360](https://redirect.github.com/grpc/grpc-go/issues/8360))

### Documentation

- examples: add examples to demonstrate enabling experimental metrics
using the OpenTelemetry plugin.
([#&#8203;8388](https://redirect.github.com/grpc/grpc-go/issues/8388))
- Special Thanks:
[@&#8203;vinothkumarr227](https://redirect.github.com/vinothkumarr227)

###
[`v1.74.1`](https://redirect.github.com/grpc/grpc-go/releases/tag/v1.74.1):
Release 1.74.1

[Compare
Source](https://redirect.github.com/grpc/grpc-go/compare/v1.74.0...v1.74.1)

Version 1.74.1 retracts release v1.74.0 and itself. Release 1.74.0 was
accidentally tagged on the wrong commit and should not be used. Version
1.73.0 should be used until 1.74.2 is released.

###
[`v1.74.0`](https://redirect.github.com/grpc/grpc-go/releases/tag/v1.74.0):
Release 1.74.0

[Compare
Source](https://redirect.github.com/grpc/grpc-go/compare/v1.73.0...v1.74.0)

Release 1.74.0 was accidentally tagged on the wrong commit and should
not be used. Version 1.73.0 should be used until 1.74.1 is released.

</details>

---

### Configuration

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

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

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-07-23 09:37:33 +00:00
Andrzej Stencel 24d9ba8aa3
[chore] docs(release): fix link to Tyler (#13457) 2025-07-22 19:19:19 +00:00
Andrzej Stencel 68135b4254
[chore] docs(release): swap release duty with @ArthurSens (#13455) 2025-07-22 17:13:11 +00:00
Andrzej Stencel 8c6b4d3d14
[chore] docs(builder): use more recent version in builder docs (#13411)
Makes it less confusing, especially with provider versions now all
aligned on v1.x.
2025-07-22 15:47:41 +00:00
Pablo Baeyens 41b544ecf2
[chore] Fix spell-check workflow (#13453)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Follows #13401
2025-07-22 13:02:19 +00:00
Pablo Baeyens ba583e0ae5
Merge release/v0.130.x into main (#13452) 2025-07-22 12:41:35 +02:00
renovate[bot] 872a25e9f8
Update module github.com/spf13/pflag to v1.0.7 (#13447)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [github.com/spf13/pflag](https://redirect.github.com/spf13/pflag) |
`v1.0.6` -> `v1.0.7` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fspf13%2fpflag/v1.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fspf13%2fpflag/v1.0.6/v1.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### Release Notes

<details>
<summary>spf13/pflag (github.com/spf13/pflag)</summary>

###
[`v1.0.7`](https://redirect.github.com/spf13/pflag/releases/tag/v1.0.7)

[Compare
Source](https://redirect.github.com/spf13/pflag/compare/v1.0.6...v1.0.7)

#### What's Changed

- Fix defaultIsZeroValue check for generic Value types by
[@&#8203;MidnightRocket](https://redirect.github.com/MidnightRocket) in
[https://github.com/spf13/pflag/pull/422](https://redirect.github.com/spf13/pflag/pull/422)
- feat: Use structs for errors returned by pflag. by
[@&#8203;eth-p](https://redirect.github.com/eth-p) in
[https://github.com/spf13/pflag/pull/425](https://redirect.github.com/spf13/pflag/pull/425)
- Fix typos by [@&#8203;co63oc](https://redirect.github.com/co63oc) in
[https://github.com/spf13/pflag/pull/428](https://redirect.github.com/spf13/pflag/pull/428)
- fix [#&#8203;423](https://redirect.github.com/spf13/pflag/issues/423)
: Add helper function and some documentation to parse shorthand go test
flags. by [@&#8203;valdar](https://redirect.github.com/valdar) in
[https://github.com/spf13/pflag/pull/424](https://redirect.github.com/spf13/pflag/pull/424)
- add support equivalent to golang flag.TextVar(), also fixes the test
failure as described in
[#&#8203;368](https://redirect.github.com/spf13/pflag/issues/368) by
[@&#8203;hujun-open](https://redirect.github.com/hujun-open) in
[https://github.com/spf13/pflag/pull/418](https://redirect.github.com/spf13/pflag/pull/418)
- add support for Func() and BoolFunc()
[#&#8203;426](https://redirect.github.com/spf13/pflag/issues/426) by
[@&#8203;LeGEC](https://redirect.github.com/LeGEC) in
[https://github.com/spf13/pflag/pull/429](https://redirect.github.com/spf13/pflag/pull/429)
- fix: correct argument length check in FlagSet.Parse by
[@&#8203;ShawnJeffersonWang](https://redirect.github.com/ShawnJeffersonWang)
in
[https://github.com/spf13/pflag/pull/409](https://redirect.github.com/spf13/pflag/pull/409)
- fix usage message for func flags, fix arguments order by
[@&#8203;LeGEC](https://redirect.github.com/LeGEC) in
[https://github.com/spf13/pflag/pull/431](https://redirect.github.com/spf13/pflag/pull/431)
- Add support for time.Time flags by
[@&#8203;max-frank](https://redirect.github.com/max-frank) in
[https://github.com/spf13/pflag/pull/348](https://redirect.github.com/spf13/pflag/pull/348)

#### New Contributors

- [@&#8203;MidnightRocket](https://redirect.github.com/MidnightRocket)
made their first contribution in
[https://github.com/spf13/pflag/pull/422](https://redirect.github.com/spf13/pflag/pull/422)
- [@&#8203;eth-p](https://redirect.github.com/eth-p) made their first
contribution in
[https://github.com/spf13/pflag/pull/425](https://redirect.github.com/spf13/pflag/pull/425)
- [@&#8203;co63oc](https://redirect.github.com/co63oc) made their first
contribution in
[https://github.com/spf13/pflag/pull/428](https://redirect.github.com/spf13/pflag/pull/428)
- [@&#8203;valdar](https://redirect.github.com/valdar) made their first
contribution in
[https://github.com/spf13/pflag/pull/424](https://redirect.github.com/spf13/pflag/pull/424)
- [@&#8203;hujun-open](https://redirect.github.com/hujun-open) made
their first contribution in
[https://github.com/spf13/pflag/pull/418](https://redirect.github.com/spf13/pflag/pull/418)
- [@&#8203;LeGEC](https://redirect.github.com/LeGEC) made their first
contribution in
[https://github.com/spf13/pflag/pull/429](https://redirect.github.com/spf13/pflag/pull/429)
-
[@&#8203;ShawnJeffersonWang](https://redirect.github.com/ShawnJeffersonWang)
made their first contribution in
[https://github.com/spf13/pflag/pull/409](https://redirect.github.com/spf13/pflag/pull/409)
- [@&#8203;max-frank](https://redirect.github.com/max-frank) made their
first contribution in
[https://github.com/spf13/pflag/pull/348](https://redirect.github.com/spf13/pflag/pull/348)

**Full Changelog**:
https://github.com/spf13/pflag/compare/v1.0.6...v1.0.7

</details>

---

### Configuration

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

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

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-07-21 22:12:52 +00:00
Bogdan Drutu bd2cd2941a
Bump reflect2 to latest, avoid disable DCE (#13374)
Try bumping reflect2 to latest. Looks like about 300KiB improvement.

**Before:**
```
ls -la bin/otelcorecol_darwin_arm64
-rwxr-xr-x@ 1 bdrutu  staff  42268226 Jul 10 05:47 bin/otelcorecol_darwin_arm64
```

**After:**
```
ls -la bin/otelcorecol_darwin_arm64 
-rwxr-xr-x@ 1 bdrutu  staff  41769970 Jul 21 11:18 bin/otelcorecol_darwin_arm64
```

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-21 20:09:53 +00:00
Bogdan Drutu 1ef07837a5
Bump golang version to latest patch release (#13448)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-21 19:57:49 +00:00
Bogdan Drutu d94f17031b
[chore] Fix usage of structName and struct names in pdatagen (#13415)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-21 18:43:00 +00:00
renovate[bot] 77a6637368
Update module github.com/golangci/golangci-lint/v2 to v2.3.0 (#13446)
This PR contains the following updates:

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

---

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

---

### Release Notes

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

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

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

1. Linters new features or changes
- `ginkgolinter`: from 0.19.1 to 0.20.0 (new option:
`force-assertion-description`)
   - `iface`: from 1.4.0 to 1.4.1 (report message improvements)
- `noctx`: from 0.3.4 to 0.3.5 (new detections: `log/slog`, `exec`,
`crypto/tls`)
   - `revive`: from 1.10.0 to 1.11.0 (new rule: `enforce-switch-style`)
   - `wsl`: from 5.0.0 to 5.1.0
2. Linters bug fixes
   - `gosec`: from 2.22.5 to 2.22.6
   - `noinlineerr`: from 1.0.4 to 1.0.5
   - `sloglint`: from 0.11.0 to 0.11.1
3. Misc.
   - fix: panic close of closed channel

</details>

---

### Configuration

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

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

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-07-21 18:34:31 +00:00
Evan Bradley edf0f1d552
[chore] Add tests for network code propagation with consumererror (#13424)
This adds some E2E tests that show how network codes propagate from the
OTLP(/HTTP) exporter to the OTLP receiver (both serving over HTTP and
gRPC). The goal is that as we add the new `consumererror.Error` type and
any related types to the pipeline, we can use these tests to understand
the net effect of the errors.

Most of the tests won't require changes after we add the new error type,
but note the comment in `TestHTTPToHTTP` that shows where the error type
will add functionality.

These tests don't cover a few things right now:
* Any transformation of the errors as they travel back up the pipeline
by internal parts of the the pipeline graph (fanouts, obsreporter,
etc.). These could impact what the OTLP receiver returns, so we may want
to test them later as we touch those components. We may want these
direct tests regardless since these components have a contract with each
other that likely should exist outside our service implementation.
* Retry handling. This hasn't been fully added to the errors yet, so
I'll wait until that's closer to add tests.
2025-07-21 15:39:57 +00:00
Dmitry Anoshin 1dcce58468
Enable `exporter.PersistRequestContext` feature gate by default (#13437)
Related issue:
https://github.com/open-telemetry/opentelemetry-collector/issues/13242
2025-07-21 15:28:30 +00:00
Matthieu MOREL 352f70f7ce
[chore]: fix cspell exclusion on .golangci.yml (#13434)
#### Description

fix cspell exclusion on .golangci.yml

Related to #13427

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-07-21 15:25:06 +00:00
Evan Bradley 745f40a6c7
[chore][exporter/otlp] Assert interface implementation in tests (#13442)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Minor documentation update to clarify the purpose of a few test structs,
following a recommendation here:
https://github.com/open-telemetry/opentelemetry-collector/pull/13424#discussion_r2218856268.
2025-07-21 14:54:14 +00:00
Damien Mathieu f87c5ba59c
Introduce SetLink on profiles (#13223)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

This is part of
https://github.com/open-telemetry/opentelemetry-collector/issues/13106
It introduces a new `SetLink` method, which allows setting a sample's
link based on a specific dictionary.

Related:
https://github.com/open-telemetry/opentelemetry-collector/pull/13197

---------

Co-authored-by: Pablo Baeyens <pablo.baeyens@datadoghq.com>
2025-07-21 11:12:36 +00:00
Damien Mathieu 27e88dc70e
Introduce SetFunction for profiles (#13222)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

This is part of
https://github.com/open-telemetry/opentelemetry-collector/issues/13106
It introduces a new `SetFunction` method, which allows setting a line's
function based on a specific dictionary.

Related:
https://github.com/open-telemetry/opentelemetry-collector/pull/13197

---------

Co-authored-by: Pablo Baeyens <pablo.baeyens@datadoghq.com>
2025-07-21 11:10:55 +00:00
Marko Bakovic be09659515
Fallback to content type in error handler (#13414)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

When the request lacks Content-Type, for whatever reason, the response
is 500 `{"code": 13, "message": "failed to marshal error message"}`. In
general, this shouldn't happen, but anything hitting a collector server
wrongly results in 500 on a collector, which seems wrong (it's a client
error).

This is simple to repro:
`curl -X GET localhost:4318` with any auth extension returns 500. This
is because auth extension returns an error that should propagate as 401,
but because of error handling results in 500.

<!-- Issue number if applicable -->
#### Link to tracking issue

<!--Describe what testing was performed and which tests were added.-->
#### Testing

<!--Describe the documentation added.-->
#### Documentation

<!--Please delete paragraphs that you did not use before submitting.-->

---------

Co-authored-by: Yang Song <songy23@users.noreply.github.com>
2025-07-18 21:43:45 +00:00
Bogdan Drutu 6f49591252
[chore] Fix the fix of OOM when size of one item larger than max size (#13419)
No changelog because if fixes logic added in current release.

Depends on
https://github.com/open-telemetry/opentelemetry-collector/pull/13418

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-18 18:51:06 +00:00
Damien Mathieu cb83ce89db
[chore] Move cspell ignored files to the config (#13427)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Fix the cspell CI job.
2025-07-18 16:01:04 +00:00
Damien Mathieu 8acfa141bb
Introduce SetString on profiles (#13225)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

This is part of
https://github.com/open-telemetry/opentelemetry-collector/issues/13106
It introduces a new `SetString` method, which allows setting string
values into the string table, or retrieving their existing index.

This doesn't work like the other methods, as string indices aren't
always stored on the same attribute. So we can't assign the ID directly.
2025-07-18 14:57:42 +00:00
Bogdan Drutu d435dbe8ba
Fix metrics split logic to consider metrics description into the size (#13418)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-18 14:15:17 +00:00
Andrew Wilkins 5b18870ccc
[chore] service: refactor logger wrapping (#13329)
#### Description

There are two main changes here:
- We move the componentattribute logger core wrapping and Logger to
LoggerProvider tee'ing to the service package. This will enable the
wrapping to be performed independently of the implementation of
telemetry providers.
- We move away from using zapcore.NewTeeCore, and introduce a new
zapcore.Core implementation that only copies log entries accepted by the
native Zap core to the OTel LoggerProvider.

The second change is necessary due to the first: because the
LoggerProvider will in the future be injectable, and because the
telemetry configuration will be opaque to the service package, we must
always tee the logs from the zap logger to the LoggerProvider. When
using zapcore.NewTeeCore, the resulting core will duplicate all entries
to all cores - which is not what we want.

There's also some light refactoring of tests, and the service package
tests are now ~30s faster by replacing a sleep with assert.Eventually.

#### Link to tracking issue

Preparation work for
https://github.com/open-telemetry/opentelemetry-collector/issues/4970

#### Testing

Unit tests pass

#### Documentation

N/A

---------

Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
2025-07-18 10:13:33 +00:00
XlKsyt 2b2f6f0bbd
Add testable examples to pdata module (#13244)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Add testable examples to pdata module. I've only started with the
traces/metrics/logs examples.

<!-- Issue number if applicable -->
#### Link to tracking issue
Feat
https://github.com/open-telemetry/opentelemetry-collector/issues/13145

<!--Describe what testing was performed and which tests were added.-->
#### Testing

<!--Describe the documentation added.-->
#### Documentation

<!--Please delete paragraphs that you did not use before submitting.-->

Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
Co-authored-by: Damien Mathieu <42@dmathieu.com>
2025-07-17 20:19:03 +00:00
OpenTelemetry Bot 9ad182f69f
Add minimum token permissions for all github workflow files (#13306)
See https://github.com/open-telemetry/sig-security/issues/148 for
details.

Please check this PR carefully and watch out for any permission-related
workflow failures after merging it.

cc @trask

Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-07-17 20:10:06 +00:00
Israel Blancas 6334c5b5ac
Avoid the exporter for being stuck when telemetry data is bigger than batch.max_size (#12982)
#### Description
This change fixes a bug where the exporter would get stuck when the
telemetry data is bigger than batch.max_size. The bug was causing the
OpenTelemetry Collector to hang and being OOM Killed at some point.

#### Link to tracking issue
Fixes #12893

Signed-off-by: Israel Blancas <iblancasa@gmail.com>
Co-authored-by: Damien Mathieu <42@dmathieu.com>
2025-07-17 19:57:07 +00:00
Bogdan Drutu 06ed9a2553
Remove usage of gogo proto which uses reflect.Value.MethodByName (#13407)
Updates
https://github.com/open-telemetry/opentelemetry-collector/issues/12747

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-17 18:54:21 +00:00
Tyler Helmuth dba8fe458c
[chore]: update changelog with known issue (#13408)
#### Description

Update changelog with known issue

#### Link to tracking issue
Related to
https://github.com/open-telemetry/opentelemetry-go/issues/7039

---------

Co-authored-by: Bogdan Drutu <bogdandrutu@gmail.com>
Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
2025-07-17 16:08:47 +00:00
Damien Mathieu 8d23ebe1d6
[chore] Only label issues and ping code owners for PRs that are ready to review (#13410)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

A draft PR is by definition not yet ready for review, and may have
further changes that add or remove pings (and we never remove labels and
review requests).
So this changes the labels assignement and review requests to only
happen for PRs that are ready to be reviewed.

See
https://cloud-native.slack.com/archives/C07CCCMRXBK/p1752690459792339
2025-07-17 15:21:39 +00:00
Will Li b4f9050739
[chore] add example of converter and provider for confmap (#13409)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

<!-- Issue number if applicable -->
#### Link to tracking issue
Fixes #13147 

<!--Describe what testing was performed and which tests were added.-->
#### Testing

<!--Describe the documentation added.-->
#### Documentation

<!--Please delete paragraphs that you did not use before submitting.-->
2025-07-17 14:17:42 +00:00
Pablo Baeyens 40a308427f
[chore] Update release manager rotation and include contrib and 'releases' release managers (#13385)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Updates release doc to split into core, contrib and 'releases' release
managers.

Includes list of people.

<!-- Issue number if applicable -->
#### Link to tracking issue
Updates #13314

---------

Co-authored-by: Damien Mathieu <42@dmathieu.com>
2025-07-16 19:51:07 +00:00
Bogdan Drutu 8183eb10d1
[chore] build otelcorecol with grpcnotrace to remove one usage of text/templates (#13405)
Updates
https://github.com/open-telemetry/opentelemetry-collector/issues/12747

No changelog because this is not the rule used for official binaries,
but only for local tests.

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

<!-- Issue number if applicable -->
#### Link to tracking issue
Fixes #

<!--Describe what testing was performed and which tests were added.-->
#### Testing

<!--Describe the documentation added.-->
#### Documentation

<!--Please delete paragraphs that you did not use before submitting.-->

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-16 18:50:08 +00:00
Don Inghram 13613a9807
collector builder should require go 1.23 as go.opentelemetry.io v1.36.0 requires go 1.23 (#13400)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

<!-- Issue number if applicable -->
#### Link to tracking issue
Fixes #

<!--Describe what testing was performed and which tests were added.-->
#### Testing

<!--Describe the documentation added.-->
#### Documentation

<!--Please delete paragraphs that you did not use before submitting.-->
2025-07-16 17:45:23 +00:00
Bogdan Drutu 632a66e9ba
[chore] Fix actionlint tool installation process (#13404)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-16 15:54:47 +00:00
Will Li 6fe70f54e1
[chore] add cspell check file pattern for .chloggen (#13401)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
fixes #13394


<!--Describe what testing was performed and which tests were added.-->
#### Testing

Verified in
https://github.com/cuichenli/opentelemetry-collector/actions/runs/16309020726/job/46060816564

<!--Describe the documentation added.-->
#### Documentation

<!--Please delete paragraphs that you did not use before submitting.-->
2025-07-16 15:53:31 +00:00
renovate[bot] 0a7598ec1e
Update All golang.org/x packages (#13390)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| golang.org/x/net | `v0.41.0` -> `v0.42.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fnet/v0.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fnet/v0.41.0/v0.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/tools | `v0.34.0` -> `v0.35.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftools/v0.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftools/v0.34.0/v0.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### Configuration

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

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

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector).

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

---------

Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
2025-07-15 22:29:03 +00:00
Bogdan Drutu 9b036ad72f
Extract pdatagen as standalone tool/package (#13398)
Updates
https://github.com/open-telemetry/opentelemetry-collector/issues/12747

Removes one source of DCE disable which is the usage of text/template.

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-07-15 19:25:33 +00:00
OpenTelemetry Bot 2a3e63ff33
Migrate from opentelemetrybot to otelbot (#13386)
See https://github.com/open-telemetry/community/issues/2863 for details.

This PR was generated by Copilot and reviewed by @trask prior to
submission.

---------

Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2025-07-15 18:57:59 +00:00
Damien Mathieu 888e9b6459
[chore] generate valid profiles test data (#13375)
#### Description

The profiles test data we currently generate isn't valid per
[pdatatest.Validate](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/pdatatest/pprofiletest/validate.go#L13).
This change fixes that.

This goes hand in hand with
https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/41231
2025-07-15 18:37:19 +00:00
renovate[bot] 2a81bd0954
Update module github.com/golangci/golangci-lint/v2 to v2.2.2 (#13388)
This PR contains the following updates:

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

---

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

---

### Release Notes

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

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

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

1. Linters bug fixes
   - `noinlineerr`: from 1.0.3 to 1.0.4
2. Documentation
   - Improve debug keys documentation
3. Misc.
   - fix: panic close of closed channel
   - godot: add noinline value into the JSONSchema

</details>

---

### Configuration

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

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

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
Co-authored-by: Yang Song <songy23@users.noreply.github.com>
2025-07-15 17:48:02 +00:00
John L. Peterson (Jack) 95513709ce
[chore] convert configgrpc.KeepaliveServerConfig.ServerParameters and… (#13364)
… EnforcementPolicy to configoptional

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
converts `configgrpc.KeepaliveServerConfig.ServerParameters` and
`configgrpc.KeepaliveServerConfig.EnforcementPolicy` from pointers to
`configoptional` type
<!-- Issue number if applicable -->
#### Link to tracking issue
Fixes #13250 and follow-up to missed code in #13252 

<!--Describe what testing was performed and which tests were added.-->
#### Testing
existing unit/ci tests
<!--Describe the documentation added.-->
#### Documentation
update chloggen from #13252
<!--Please delete paragraphs that you did not use before submitting.-->
2025-07-15 14:20:51 +00:00
renovate[bot] e7e589e123
Update module github.com/go-viper/mapstructure/v2 to v2.4.0 (#13392)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[github.com/go-viper/mapstructure/v2](https://redirect.github.com/go-viper/mapstructure)
| `v2.3.0` -> `v2.4.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-viper%2fmapstructure%2fv2/v2.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-viper%2fmapstructure%2fv2/v2.3.0/v2.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### Release Notes

<details>
<summary>go-viper/mapstructure
(github.com/go-viper/mapstructure/v2)</summary>

###
[`v2.4.0`](https://redirect.github.com/go-viper/mapstructure/releases/tag/v2.4.0)

[Compare
Source](https://redirect.github.com/go-viper/mapstructure/compare/v2.3.0...v2.4.0)

#### What's Changed

- refactor: replace interface{} with any by
[@&#8203;sagikazarmark](https://redirect.github.com/sagikazarmark) in
[https://github.com/go-viper/mapstructure/pull/115](https://redirect.github.com/go-viper/mapstructure/pull/115)
- build(deps): bump github/codeql-action from 3.29.0 to 3.29.2 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot]
in[https://github.com/go-viper/mapstructure/pull/114](https://redirect.github.com/go-viper/mapstructure/pull/114)4
- Generic tests by
[@&#8203;sagikazarmark](https://redirect.github.com/sagikazarmark) in
[https://github.com/go-viper/mapstructure/pull/118](https://redirect.github.com/go-viper/mapstructure/pull/118)
- Fix godoc reference link in README.md by
[@&#8203;peczenyj](https://redirect.github.com/peczenyj) in
[https://github.com/go-viper/mapstructure/pull/107](https://redirect.github.com/go-viper/mapstructure/pull/107)
- feat: add StringToTimeLocationHookFunc to convert strings to
\*time.Location by
[@&#8203;ErfanMomeniii](https://redirect.github.com/ErfanMomeniii) in
[https://github.com/go-viper/mapstructure/pull/117](https://redirect.github.com/go-viper/mapstructure/pull/117)
- feat: add back previous StringToSlice as a weak function by
[@&#8203;sagikazarmark](https://redirect.github.com/sagikazarmark) in
[https://github.com/go-viper/mapstructure/pull/119](https://redirect.github.com/go-viper/mapstructure/pull/119)

#### New Contributors

- [@&#8203;ErfanMomeniii](https://redirect.github.com/ErfanMomeniii)
made their first contribution in
[https://github.com/go-viper/mapstructure/pull/117](https://redirect.github.com/go-viper/mapstructure/pull/117)

**Full Changelog**:
https://github.com/go-viper/mapstructure/compare/v2.3.0...v2.4.0

</details>

---

### Configuration

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

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

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
2025-07-15 10:33:09 +00:00
Damien Mathieu a6bffc3ad6
Remove deprecated NewProfilesExporter (#13391)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

This method was deprecated in 0.130.0. Since that release has happened,
we can now remove it.
See https://github.com/open-telemetry/opentelemetry-collector/pull/13372
2025-07-15 09:14:46 +00:00
renovate[bot] f70bc350fd
Update module github.com/knadh/koanf/v2 to v2.2.2 (#13389)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [github.com/knadh/koanf/v2](https://redirect.github.com/knadh/koanf) |
`v2.2.1` -> `v2.2.2` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fknadh%2fkoanf%2fv2/v2.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fknadh%2fkoanf%2fv2/v2.2.1/v2.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### Release Notes

<details>
<summary>knadh/koanf (github.com/knadh/koanf/v2)</summary>

###
[`v2.2.2`](https://redirect.github.com/knadh/koanf/releases/tag/v2.2.2)

[Compare
Source](https://redirect.github.com/knadh/koanf/compare/v2.2.1...v2.2.2)

#### What's Changed

- Replace yaml package with go.yaml.in/yaml/v3 by
[@&#8203;devhaozi](https://redirect.github.com/devhaozi) in
[https://github.com/knadh/koanf/pull/365](https://redirect.github.com/knadh/koanf/pull/365)
- Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 in
/providers/cliflagv2 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot]
in[https://github.com/knadh/koanf/pull/366](https://redirect.github.com/knadh/koanf/pull/366)6
- Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot]
in[https://github.com/knadh/koanf/pull/367](https://redirect.github.com/knadh/koanf/pull/367)7
- feat: config to override env vars by
[@&#8203;nickajacks1](https://redirect.github.com/nickajacks1) in
[https://github.com/knadh/koanf/pull/341](https://redirect.github.com/knadh/koanf/pull/341)

#### New Contributors

- [@&#8203;devhaozi](https://redirect.github.com/devhaozi) made their
first contribution in
[https://github.com/knadh/koanf/pull/365](https://redirect.github.com/knadh/koanf/pull/365)
- [@&#8203;nickajacks1](https://redirect.github.com/nickajacks1) made
their first contribution in
[https://github.com/knadh/koanf/pull/341](https://redirect.github.com/knadh/koanf/pull/341)

**Full Changelog**:
https://github.com/knadh/koanf/compare/v2.2.1...v2.2.2

</details>

---

### Configuration

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

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

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
2025-07-15 08:15:48 +00:00
647 changed files with 17683 additions and 10241 deletions

25
.chloggen/fix-copy.yaml Normal file
View File

@ -0,0 +1,25 @@
# Use this changelog template to create an entry for release notes.
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type: bug_fix
# The name of the component, or a single word describing the area of concern, (e.g. otlpreceiver)
component: pdata
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: Fix null pointer access when copying into a slice with larger cap but smaller len.
# One or more tracking issues or pull requests related to the change
issues: [13523]
# (Optional) One or more lines of additional information to render under the primary note.
# These lines will be padded with 2 spaces and then inserted directly into the document.
# Use pipe (|) for multiline entries.
subtext:
# Optional: The change log or logs in which this entry should be included.
# e.g. '[user]' or '[user, api]'
# Include 'user' if the change is relevant to end users.
# Include 'api' if there is a change to a library API.
# Default: '[user]'
change_logs: [user]

View File

@ -0,0 +1,4 @@
change_type: bug_fix
component: confighttp
note: Fix middleware configuration field name from "middleware" to "middlewares" for consistency with configgrpc
issues: [13444]

25
.chloggen/http2.yaml Normal file
View File

@ -0,0 +1,25 @@
# Use this changelog template to create an entry for release notes.
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type: enhancement
# The name of the component, or a single word describing the area of concern, (e.g. otlpreceiver)
component: confighttp
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: Add option to configure ForceAttemptHTTP2 to support HTTP/1 specific transport settings.
# One or more tracking issues or pull requests related to the change
issues: [13426]
# (Optional) One or more lines of additional information to render under the primary note.
# These lines will be padded with 2 spaces and then inserted directly into the document.
# Use pipe (|) for multiline entries.
subtext:
# Optional: The change log or logs in which this entry should be included.
# e.g. '[user]' or '[user, api]'
# Include 'user' if the change is relevant to end users.
# Include 'api' if there is a change to a library API.
# Default: '[user]'
change_logs: []

View File

@ -0,0 +1,32 @@
# Use this changelog template to create an entry for release notes.
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type: deprecation
# The name of the component, or a single word describing the area of concern, (e.g. otlpreceiver)
component: service
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: move service.noopTraceProvider feature gate to deprecated stage
# One or more tracking issues or pull requests related to the change
issues: [13492]
# (Optional) One or more lines of additional information to render under the primary note.
# These lines will be padded with 2 spaces and then inserted directly into the document.
# Use pipe (|) for multiline entries.
subtext: |
The functionality of the feature gate is available via configuration with the following telemetry settings:
```
service:
telemetry:
traces:
level: none
```
# Optional: The change log or logs in which this entry should be included.
# e.g. '[user]' or '[user, api]'
# Include 'user' if the change is relevant to end users.
# Include 'api' if there is a change to a library API.
# Default: '[user]'
change_logs: []

25
.chloggen/rm-refs.yaml Normal file
View File

@ -0,0 +1,25 @@
# Use this changelog template to create an entry for release notes.
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type: enhancement
# The name of the component, or a single word describing the area of concern, (e.g. otlpreceiver)
component: pdata
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: Improve RemoveIf for slices to not reference anymore the removed memory
# One or more tracking issues or pull requests related to the change
issues: [13522]
# (Optional) One or more lines of additional information to render under the primary note.
# These lines will be padded with 2 spaces and then inserted directly into the document.
# Use pipe (|) for multiline entries.
subtext:
# Optional: The change log or logs in which this entry should be included.
# e.g. '[user]' or '[user, api]'
# Include 'user' if the change is relevant to end users.
# Include 'api' if there is a change to a library API.
# Default: '[user]'
change_logs: [user]

View File

@ -0,0 +1,25 @@
# Use this changelog template to create an entry for release notes.
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type: bug_fix
# The name of the component, or a single word describing the area of concern, (e.g. otlpreceiver)
component: confighttp
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: Reuse zstd Reader objects
# One or more tracking issues or pull requests related to the change
issues: [11824]
# (Optional) One or more lines of additional information to render under the primary note.
# These lines will be padded with 2 spaces and then inserted directly into the document.
# Use pipe (|) for multiline entries.
subtext:
# Optional: The change log or logs in which this entry should be included.
# e.g. '[user]' or '[user, api]'
# Include 'user' if the change is relevant to end users.
# Include 'api' if there is a change to a library API.
# Default: '[user]'
change_logs: [user]

View File

@ -4,6 +4,7 @@ on:
types:
- opened
- synchronize
- ready_for_review
permissions: read-all
@ -12,7 +13,7 @@ jobs:
permissions:
pull-requests: write
runs-on: ubuntu-24.04
if: ${{ github.actor != 'dependabot[bot]' && github.actor != 'renovate[bot]' && github.repository_owner == 'open-telemetry' }}
if: ${{ github.actor != 'dependabot[bot]' && github.actor != 'renovate[bot]' && github.repository_owner == 'open-telemetry' && github.event.pull_request.draft == false }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

View File

@ -33,7 +33,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.23.10
go-version: oldstable
# Generate apidiff states of Main
- name: Generate-States

View File

@ -31,7 +31,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.23.10
go-version: oldstable
cache: false
- name: Cache Go
id: go-cache

View File

@ -27,7 +27,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.23.10
go-version: oldstable
cache: false
- name: Cache Go
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
@ -56,7 +56,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.23.10
go-version: oldstable
cache: false
- name: Cache Go
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3

View File

@ -23,7 +23,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.23.10
go-version: oldstable
cache: false
- name: Cache Go
id: go-cache
@ -46,7 +46,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.23.10
go-version: oldstable
cache: false
- name: Cache Go
id: go-cache
@ -70,7 +70,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.23.10
go-version: oldstable
cache: false
- name: Cache Go
id: go-cache
@ -95,7 +95,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.23.10
go-version: oldstable
cache: false
- name: Cache Go
id: go-cache
@ -148,7 +148,7 @@ jobs:
strategy:
matrix:
runner: [ubuntu-latest]
go-version: ["~1.24", "~1.23"] # 1.20 needs quotes otherwise it's interpreted as 1.2
go-version: ["stable", "oldstable"]
runs-on: ${{ matrix.runner }}
needs: [setup-environment]
steps:
@ -206,7 +206,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.23.10
go-version: oldstable
cache: false
- name: Cache Go
id: go-cache
@ -254,6 +254,8 @@ jobs:
goarch: arm64
- goos: linux
goarch: ppc64le
- goos: linux
goarch: riscv64
- goos: linux
goarch: arm
goarm: 7
@ -270,7 +272,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.23.10
go-version: oldstable
cache: false
- name: Cache Go
id: go-cache

View File

@ -35,6 +35,6 @@ jobs:
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.23.10
go-version: oldstable
- name: Test
run: make builder-integration-test

View File

@ -9,9 +9,12 @@ on:
paths:
- "cmd/builder/**"
permissions:
contents: read
env:
# renovate: datasource=github-tags depName=goreleaser-pro packageName=goreleaser/goreleaser-pro
GORELEASER_PRO_VERSION: v2.7.0
GORELEASER_PRO_VERSION: v2.11.1
jobs:
snapshot:
@ -31,20 +34,20 @@ jobs:
- name: Copy release files
run: cp -R ./opentelemetry-collector-releases/cmd/builder/. ./.core/cmd/builder/
- uses: sigstore/cosign-installer@3454372f43399081ed03b604cb2d021dabca52bb # v3.8.2
- uses: sigstore/cosign-installer@d58896d6a1865668819e1d91763c7751a165e159 # v3.9.2
- uses: anchore/sbom-action/download-syft@e11c554f704a0b820cbf8c51673f6945e0731532 # v0.20.0
- uses: anchore/sbom-action/download-syft@7b36ad622f042cab6f59a75c2ac24ccb256e9b45 # v0.20.4
- uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
with:
platforms: amd64, arm64,ppc64le
- uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
- uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: "~1.24"
go-version: stable
- name: Check GoReleaser
uses: goreleaser/goreleaser-action@9c156ee8a17a598857849441385a2041ef570552 # v6.3.0

View File

@ -33,7 +33,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.23.10
go-version: oldstable
- name: Cache Go
id: go-cache
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
@ -79,7 +79,7 @@ jobs:
run: make chlog-preview > changelog_preview.md
- name: Link Checker
id: lychee
uses: lycheeverse/lychee-action@82202e5e9c2f4ef1a55a3d02563e1cb6041e5332
uses: lycheeverse/lychee-action@5c4ee84814c983aa7164eaee476f014e53ff3963
with:
args: "--verbose --no-progress ./changelog_preview.md --config .github/lychee.toml"
failIfEmpty: false

View File

@ -47,7 +47,7 @@ jobs:
- name: Link Checker
id: lychee
uses: lycheeverse/lychee-action@82202e5e9c2f4ef1a55a3d02563e1cb6041e5332
uses: lycheeverse/lychee-action@5c4ee84814c983aa7164eaee476f014e53ff3963
with:
args: "--verbose --no-progress ${{needs.changedfiles.outputs.files}} --config .github/lychee.toml"
failIfEmpty: false

View File

@ -24,7 +24,7 @@ jobs:
# This condition is to avoid blocking the PR causing the freeze in the first place.
if: |
(!startsWith(github.event.pull_request.title || github.event.merge_group.head_commit.message, '[chore] Prepare release')) ||
(!(github.event.pull_request.user.login == 'opentelemetrybot' || github.event.merge_group.head_commit.author.name == 'OpenTelemetry Bot'))
(!(github.event.pull_request.user.login == 'otelbot[bot]' || github.event.merge_group.head_commit.author.name == 'otelbot'))
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

View File

@ -25,16 +25,16 @@ jobs:
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.23.10
go-version: oldstable
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # v3.29.0
uses: github/codeql-action/init@51f77329afa6477de8c49fc9c7046c15b9a4e79d # v3.29.5
with:
languages: go
- name: Autobuild
uses: github/codeql-action/autobuild@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # v3.29.0
uses: github/codeql-action/autobuild@51f77329afa6477de8c49fc9c7046c15b9a4e79d # v3.29.5
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # v3.29.0
uses: github/codeql-action/analyze@51f77329afa6477de8c49fc9c7046c15b9a4e79d # v3.29.5

View File

@ -66,7 +66,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.23.10
go-version: oldstable
cache: false
- name: Run tests
run: |

View File

@ -6,6 +6,9 @@ on:
- '.github/workflows/*.yml'
- '.github/workflows/*.yaml'
permissions:
contents: read
jobs:
lint:
runs-on: ubuntu-latest
@ -17,14 +20,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5
with:
go-version: '1.24'
- name: Install Actionlint
run: |
mkdir -p .tools
cd internal/tools
go install github.com/rhysd/actionlint/cmd/actionlint@v1.7.7
mv $(go env GOPATH)/bin/actionlint ../../.tools/actionlint
go-version: stable
- name: Run Actionlint
run: |

View File

@ -15,7 +15,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.23.10
go-version: oldstable
- name: Run benchmark
run: make gobenchmark

View File

@ -1,7 +1,9 @@
name: 'Ping code owners on PRs'
on:
pull_request_target:
types: [labeled]
types:
- labeled
- ready_for_review
permissions: read-all
@ -10,10 +12,10 @@ jobs:
permissions:
pull-requests: write
runs-on: ubuntu-24.04
if: ${{ github.actor != 'dependabot[bot]' && github.actor != 'renovate[bot]' && github.repository_owner == 'open-telemetry' }}
if: ${{ github.actor != 'dependabot[bot]' && github.actor != 'renovate[bot]' && github.repository_owner == 'open-telemetry' && github.event.pull_request.draft == false }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Run ping-codeowners-prs.sh
run: ./.github/workflows/scripts/ping-codeowners-prs.sh
env:

View File

@ -130,14 +130,19 @@ jobs:
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.23.10
go-version: oldstable
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
id: otelbot-token
with:
app-id: ${{ vars.OTELBOT_APP_ID }}
private-key: ${{ secrets.OTELBOT_PRIVATE_KEY }}
# Prepare Core for release.
# - Update CHANGELOG.md file, this is done via chloggen
# - Run make prepare-release PREVIOUS_VERSION=1.0.0 RELEASE_CANDIDATE=1.1.0 MODSET=stable
# - Run make prepare-release PREVIOUS_VERSION=0.52.0 RELEASE_CANDIDATE=0.53.0 MODSET=beta
- name: Prepare release for core
env:
GITHUB_TOKEN: ${{ secrets.OPENTELEMETRYBOT_GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ steps.otelbot-token.outputs.token }}
REPO: open-telemetry/opentelemetry-collector
CANDIDATE_BETA: ${{ inputs.candidate-beta }}
CANDIDATE_STABLE: ${{ inputs.candidate-stable }}

View File

@ -8,6 +8,9 @@ on:
- 'v0.[0-9]+.[0-9]+'
- 'v0.[0-9]+.[0-9]+-*' # Also support release candidates if needed
permissions:
contents: read
jobs:
release-branch:
runs-on: ubuntu-latest
@ -22,12 +25,12 @@ jobs:
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.23.10
go-version: oldstable
- name: Setup Git config
run: |
git config --global user.name "opentelemetrybot"
git config --global user.email "107717825+opentelemetrybot@users.noreply.github.com"
git config --global user.name "otelbot"
git config --global user.email "197425009+otelbot@users.noreply.github.com"
- name: Run release-branch.sh
run: |

View File

@ -64,6 +64,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # v3.29.0
uses: github/codeql-action/upload-sarif@51f77329afa6477de8c49fc9c7046c15b9a4e79d # v3.29.5
with:
sarif_file: results.sarif

View File

@ -4,11 +4,11 @@
# SPDX-License-Identifier: Apache-2.0
# Check for [chore] Prepare release PRs in core repo
BLOCKERS=$( gh pr list -A opentelemetrybot -S "[chore] Prepare release" --json url -q '.[].url' -R "${REPO}" )
BLOCKERS=$( gh pr list -A "otelbot[bot]" -S "[chore] Prepare release" --json url -q '.[].url' -R "${REPO}" )
# Check for [chore] Update core dependencies PRs in opentelemetry-collector-contrib
CONTRIB_REPO="open-telemetry/opentelemetry-collector-contrib"
CONTRIB_BLOCKERS=$( gh pr list -A opentelemetrybot -S "[chore] Update core dependencies" --json url -q '.[].url' -R "${CONTRIB_REPO}" )
CONTRIB_BLOCKERS=$( gh pr list -A "otelbot[bot]" -S "[chore] Update core dependencies" --json url -q '.[].url' -R "${CONTRIB_REPO}" )
# Combine both blockers
BLOCKERS="${BLOCKERS}${BLOCKERS:+ }${CONTRIB_BLOCKERS}"

View File

@ -8,8 +8,8 @@ UPSTREAM_REMOTE_NAME=${UPSTREAM_REMOTE_NAME:-"upstream"} # Your upstream remote
MAIN_BRANCH_NAME=${MAIN_BRANCH_NAME:-"main"}
LOCAL_MAIN_BRANCH_NAME=${LOCAL_MAIN_BRANCH_NAME:-"${MAIN_BRANCH_NAME}"}
# These variables are only used if git user.name and git user.email are not configured
GIT_CONFIG_USER_NAME=${GIT_CONFIG_USER_NAME:-"opentelemetrybot"}
GIT_CONFIG_USER_EMAIL=${GIT_CONFIG_USER_EMAIL:-"107717825+opentelemetrybot@users.noreply.github.com"}
GIT_CONFIG_USER_NAME=${GIT_CONFIG_USER_NAME:-"otelbot"}
GIT_CONFIG_USER_EMAIL=${GIT_CONFIG_USER_EMAIL:-"197425009+otelbot@users.noreply.github.com"}
# --- Extract release information from tag ---
if [[ -z "$GITHUB_REF" ]]; then

View File

@ -22,8 +22,8 @@ fi
make chlog-update VERSION="${RELEASE_VERSION}"
COMMANDS="- make chlog-update VERSION=${RELEASE_VERSION}"
git config user.name opentelemetrybot
git config user.email 107717825+opentelemetrybot@users.noreply.github.com
git config user.name otelbot
git config user.email 197425009+otelbot@users.noreply.github.com
BRANCH="prepare-release-prs/${CANDIDATE_BETA}"
git checkout -b "${BRANCH}"
git add --all

View File

@ -5,6 +5,9 @@ on:
tags:
- "v*"
permissions:
contents: read
jobs:
goreleaser:
runs-on: ubuntu-latest

View File

@ -2,6 +2,9 @@ name: Spell Check
on: [push, pull_request]
permissions:
contents: read
jobs:
spell-check:
runs-on: ubuntu-latest
@ -10,8 +13,9 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Run cSpell
uses: streetsidesoftware/cspell-action@69543c3f9f14d4fcc6004c7bee03c4d366f11d64 # v7.0.1
uses: streetsidesoftware/cspell-action@dcd03dc3e8a59ec2e360d0c62db517baa0b4bb6d # v7.2.0
with:
files: |
**/*.{md,yaml,yml}
config: '.github/workflows/utils/cspell.json'
check_dot_files: true

View File

@ -20,7 +20,7 @@ jobs:
ref: ${{ github.head_ref }}
- uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: 1.23.10
go-version: oldstable
cache: false
- name: Cache Go
id: go-cache
@ -39,8 +39,8 @@ jobs:
- name: go mod tidy
run: |
make gotidy
git config user.name opentelemetrybot
git config user.email 107717825+opentelemetrybot@users.noreply.github.com
git config user.name otelbot
git config user.email 197425009+otelbot@users.noreply.github.com
echo "git diff --exit-code || (git add . && git commit -m \"go mod tidy\" && git push)"
git diff --exit-code || (git add . && git commit -m "go mod tidy" && git push)
- uses: actions-ecosystem/action-remove-labels@2ce5d41b4b6aa8503e285553f75ed56e0a40bae0 # v1.3.0

View File

@ -6,7 +6,7 @@
"Andrzej",
"Anoshin",
"Appy",
"atombender",
"Autobuild",
"Backpressure",
"Baeyens",
"Bebbington",
@ -29,12 +29,14 @@
"Funcs",
"GHSA",
"GOARCH",
"GOARM",
"GOBIN",
"GOCMD",
"GOMEMLIMIT",
"GOPATH",
"GOPROXY",
"Guiton",
"HKLM",
"Helmuth",
"Hostfeature",
"Islamov",
@ -54,6 +56,7 @@
"Mirabella",
"Najaryan",
"Nanos",
"OTELBOT",
"OTEP",
"Olly",
"Owais",
@ -75,6 +78,7 @@
"Unconfigured",
"Unmarshable",
"Unmarshal",
"Unmarshalable",
"Unmarshaller",
"Unmarshallers",
"Vihas",
@ -83,12 +87,16 @@
"adilhusain",
"alibabacloudlogserviceexporter",
"alives",
"anchore",
"andrzej",
"apidiff",
"atombender",
"atoulme",
"attributeprocessor",
"attributesprocessor",
"authextension",
"authtest",
"autobuild",
"backoffs",
"backpressure",
"ballastextension",
@ -96,12 +104,17 @@
"bearertokenauthextension",
"behaviour",
"bogdandrutu",
"braydonk",
"bucketize",
"buildinfo",
"buildx",
"bwalk",
"capabilityconsumer",
"certfile",
"cgroupv",
"checkapi",
"checkdoc",
"checklicense",
"cheung",
"chlog",
"chloggen",
@ -159,6 +172,7 @@
"datapoints",
"debugexporter",
"defaultcomponents",
"dehaansa",
"distro",
"distros",
"djaglowski",
@ -167,6 +181,7 @@
"dokey",
"envmapprovider",
"envprovider",
"eventcreate",
"exampleexporter",
"examplereceiver",
"expandconverter",
@ -184,9 +199,9 @@
"extensionauth",
"extensionauthtest",
"extensioncapabilities",
"extensionhelper",
"extensionmiddleware",
"extensionmiddlewaretest",
"extensionhelper",
"extensiontest",
"extensionz",
"fanout",
@ -207,19 +222,28 @@
"fsnotify",
"funcs",
"gcflags",
"genotelcorecol",
"genpdata",
"genproto",
"goarm",
"gobenchmark",
"godoc",
"gofmt",
"gogenerate",
"goimpi",
"golangci",
"goldendataset",
"goleak",
"golint",
"gomod",
"gomoddownload",
"goporto",
"goproxy",
"goreleaser",
"goroutines",
"gotest",
"gotidy",
"govulncheck",
"groupbyattrprocessor",
"groupbytrace",
"groupbytraceprocessor",
@ -260,6 +284,7 @@
"localhostgate",
"loggingexporter",
"logstest",
"lycheeverse",
"mapconverter",
"mapstructure",
"marshalers",
@ -276,6 +301,7 @@
"metricstransformprocessor",
"middleware",
"mostynb",
"mowies",
"muehle",
"multiclient",
"multimod",
@ -297,13 +323,15 @@
"obsreport",
"obsreporttest",
"oidcauthextension",
"oltp",
"okey",
"oldstable",
"oltp",
"omitempty",
"omnition",
"opencensus",
"opencensusexporter",
"opencensusreceiver",
"otelbot",
"otelcol",
"otelcoltest",
"otelcorecol",
@ -362,13 +390,16 @@
"receiverhelper",
"receiverprofiles",
"receivertest",
"renovatebot",
"resourcedetection",
"resourcedetectionprocessor",
"resourceprocessor",
"resourcetolabel",
"retryable",
"riscv",
"rpcz",
"rrschulze",
"runperf",
"safelist",
"samplereceiver",
"samplingdecision",
@ -384,6 +415,7 @@
"servicetest",
"servicez",
"sfixed",
"shanduur",
"sharedcomponent",
"sigstore",
"someclientid",
@ -404,6 +436,7 @@
"subcomponents",
"subpackages",
"swiatekm",
"syft",
"tailsampling",
"tchannel",
"telemetrygen",
@ -413,8 +446,10 @@
"testfunc",
"testonly",
"testprovider",
"testresults",
"testutil",
"tlsconfig",
"tmpl",
"tocstop",
"tpmrm",
"tracecontext",
@ -431,7 +466,6 @@
"unkeyed",
"unmarshal",
"unmarshalling",
"Unmarshalable",
"unmarshalls",
"unshallow",
"unstarted",
@ -464,5 +498,9 @@
"zpages",
"zpagesextension",
"zstd"
],
"ignorePaths": [
".golangci.yml",
".github/**/*"
]
}
}

View File

@ -8,6 +8,10 @@ formatters:
# simplify code: gofmt with `-s` option, true by default
simplify: true
gofumpt:
# Choose whether to use the extra rules
extra-rules: true
goimports:
# put imports beginning with prefix after 3rd-party packages;
# it's a comma-separated list of prefixes
@ -22,10 +26,13 @@ issues:
linters:
enable:
- asasalint
- copyloopvar
- decorder
- depguard
- errcheck
- errorlint
- fatcontext
- gocritic
- gosec
- govet
@ -78,6 +85,18 @@ linters:
- pkg: go.opentelemetry.io/proto
desc: Use go.opentelemetry.io/collector/pdata instead
gocritic:
disabled-checks:
- commentedOutCode
- deferInLoop
- filepathJoin
- hugeParam
- importShadow
- rangeValCopy
- unnamedResult
- whyNoLint
enable-all: true
gosec:
excludes:
- G104 # FIXME

View File

@ -7,6 +7,35 @@ If you are looking for user-facing changes, check out [CHANGELOG.md](./CHANGELOG
<!-- next version -->
## v1.37.0/v0.131.0
### 🛑 Breaking changes 🛑
- `configgrpc`: Update optional fields to use `configoptional.Optional` field for optional values. (#13252, #13364)
Specifically, the following fields have been updated to `configoptional`:
- `KeepaliveServerConfig.ServerParameters` (`KeepaliveServerParameters` type)
- `KeepaliveServerConfig.EnforcementPolicy` (`KeepaliveEnforcementPolicy` type)
- `xexporterhelper`: Remove deprecated NewProfilesExporter function from xexporterhelper package (#13391)
### 💡 Enhancements 💡
- `consumererror`: Add new "Downstream" error marker (#13234)
This new error wrapper type indicates that the error returned by a component's
`Consume` method is not an internal failure of the component, but instead
was passed through from another component further downstream.
This is used internally by the new pipeline instrumentation feature to
determine the `outcome` of a component call. This wrapper is not intended to
be used by components directly.
- `pdata/pprofile`: Introduce `Equal` method on the `Function` type (#13222)
- `pdata/pprofile`: Introduce `Equal` method on the `Link` type (#13223)
- `pdata/pprofile`: Add new helper method `SetFunction` to set a new function on a line. (#13222)
- `pdata/pprofile`: Add new helper method `SetLink` to set a new link on a sample. (#13223)
- `pdata/pprofile`: Add new helper method `SetString` to set or retrieve the index of a value in the StringTable. (#13225)
<!-- previous-version -->
## v1.36.1/v0.130.1
<!-- previous-version -->

View File

@ -7,6 +7,47 @@ If you are looking for developer-facing changes, check out [CHANGELOG-API.md](./
<!-- next version -->
## v1.37.0/v0.131.0
### 🛑 Breaking changes 🛑
- `confighttp`: Move `confighttp.framedSnappy` feature gate to beta. (#10584)
### 💡 Enhancements 💡
- `exporter/debug`: Move to alpha stability except profiles (#13487)
- `exporterhelper`: Enable `exporter.PersistRequestContext` feature gate by default. (#13437)
Request context is now preserved by default when using persistent queues.
Note that Auth extensions context is not propagated through the persistent queue.
- `pdata`: Use pdatagen to generate marshalJSON without using gogo proto jsonpb. (#13450)
- `otlpreceiver`: Remove usage of gogo proto which uses reflect.Value.MethodByName. Removes one source of disabling DCE. (#12747)
- `exporterhelper`: Fix metrics split logic to consider metrics description into the size. (#13418)
- `service`: New pipeline instrumentation now differentiates internal failures from downstream errors (#13234)
With the telemetry.newPipelineTelemetry feature gate enabled, the "received" and "produced"
metrics related to a component now distinguish between two types of errors:
- "outcome = failure" indicates that the component returned an internal error;
- "outcome = refused" indicates that the component successfully emitted data, but returned an
error coming from a downstream component processing that data.
- `pdata`: Remove usage of text/template from pdata, improves DCE. (#12747)
- `architecture`: New Tier 3 platform riscv64 allowing the collector to be built and distributed for this platform. (#13462)
### 🧰 Bug fixes 🧰
- `exporterhelper`: Prevents the exporter for being stuck when telemetry data is bigger than batch.max_size (#12893)
- `mdatagen`: Fix import paths for mdatagen component (#13069)
- `otlpreceiver`: Error handler correctly fallbacks to content type (#13414)
- `pdata/pprofiles`: Fix profiles JSON unmarshal logic for originalPayload. The bytes have to be base64 encoded. (#13483)
- `xpdata`: Fix unmarshaling JSON for entities, add e2e tests to avoid this in the future. (#13480)
- `service`: Downgrade dependency of prometheus exporter in OTel Go SDK (#13429)
This fixes the bug where collector's internal metrics are emitted with an unexpected suffix in their names when users configure the service::telemetry::metrics::readers with Prometheus
- `service`: Revert Default internal metrics config now enables `otel_scope_` labels (#12939, #13344)
Reverting change temporarily due to prometheus exporter downgrade. This unfortunately re-introduces the bug that instrumentation scope attributes cause errors in Prometheus exporter. See http://github.com/open-telemetry/opentelemetry-collector/issues/12939 for details.
- `builder`: Remove undocumented handling of `DIST_*` environment variables replacements (#13335)
<!-- previous-version -->
## v1.36.1/v0.130.1
### 🧰 Bug fixes 🧰
@ -18,6 +59,25 @@ If you are looking for developer-facing changes, check out [CHANGELOG-API.md](./
## v1.36.0/v0.130.0
### ❗ Known Issues ❗
- Due to a [bug](https://github.com/open-telemetry/opentelemetry-go/issues/7039) in the prometheus exporter, if you are configuring a prometheus exporter, the collector's internal metrics will be emitted with an unexpected suffix in its name. For example, the metric `otelcol_exporter_sent_spans__spans__total` instead of `otelcol_exporter_sent_spans_total`. The workaround is to manually configure `without_units: true` in your prometheus exporter config
```yaml
service:
telemetry:
metrics:
readers:
- pull:
exporter:
prometheus:
host: 0.0.0.0
port: 8888
without_units: true
```
If you are using the collector's default Prometheus exporter for exporting internal metrics you are unaffected.
### 🛑 Breaking changes 🛑
- `exporter/otlp`: Remove deprecated batcher config from OTLP, use queuebatch (#13339)

View File

@ -152,18 +152,16 @@ endif
# Build the Collector executable.
.PHONY: otelcorecol
otelcorecol:
pushd cmd/otelcorecol && CGO_ENABLED=0 $(GOCMD) build -trimpath -o ../../bin/otelcorecol_$(GOOS)_$(GOARCH) \
-tags $(GO_BUILD_TAGS) ./cmd/otelcorecol && popd
pushd cmd/otelcorecol && CGO_ENABLED=0 $(GOCMD) build -trimpath -o ../../bin/otelcorecol_$(GOOS)_$(GOARCH) -tags "grpcnotrace" ./... && popd
.PHONY: genotelcorecol
genotelcorecol: install-tools
pushd cmd/builder/ && $(GOCMD) run ./ --skip-compilation --config ../otelcorecol/builder-config.yaml --output-path ../otelcorecol && popd
$(MAKE) -C cmd/otelcorecol fmt
cd internal/tools && $(GOCMD) install github.com/rhysd/actionlint/cmd/actionlint@v1.7.7
.PHONY: actionlint
actionlint:
./.tools/actionlint -config-file .github/actionlint.yaml -color .github/workflows/*.yml .github/workflows/*.yaml
actionlint: $(ACTIONLINT)
$(ACTIONLINT) -config-file .github/actionlint.yaml -color .github/workflows/*.yml .github/workflows/*.yaml
.PHONY: ocb
ocb:
@ -246,9 +244,9 @@ genproto_sub:
# Generate structs, functions and tests for pdata package. Must be used after any changes
# to proto and after running `make genproto`
genpdata:
pushd pdata/ && $(GOCMD) run ./internal/cmd/pdatagen/main.go && popd
$(MAKE) fmt
genpdata: $(PDATAGEN)
$(PDATAGEN)
$(MAKE) -C pdata fmt
INTERNAL_PROTO_SRC_DIRS := exporter/exporterhelper/internal/queue pdata/xpdata/request/internal
INTERNAL_PROTO_FILES := $(foreach dir,$(INTERNAL_PROTO_SRC_DIRS),$(wildcard $(dir)/*.proto))

View File

@ -24,6 +24,7 @@ CHLOGGEN_CONFIG := .chloggen/config.yaml
# no trailing slash
JUNIT_OUT_DIR ?= $(TOOLS_MOD_DIR)/testresults
ACTIONLINT := $(TOOLS_BIN_DIR)/actionlint
ADDLICENSE := $(TOOLS_BIN_DIR)/addlicense
APIDIFF := $(TOOLS_BIN_DIR)/apidiff
CHECKAPI := $(TOOLS_BIN_DIR)/checkapi
@ -31,11 +32,12 @@ CHECKFILE := $(TOOLS_BIN_DIR)/checkfile
CHLOGGEN := $(TOOLS_BIN_DIR)/chloggen
CROSSLINK := $(TOOLS_BIN_DIR)/crosslink
ENVSUBST := $(TOOLS_BIN_DIR)/envsubst
GITHUBGEN := $(TOOLS_BIN_DIR)/githubgen
GITHUBGEN := $(TOOLS_BIN_DIR)/githubgen
GOFUMPT := $(TOOLS_BIN_DIR)/gofumpt
GOIMPORTS := $(TOOLS_BIN_DIR)/goimports
GOVULNCHECK := $(TOOLS_BIN_DIR)/govulncheck
LINT := $(TOOLS_BIN_DIR)/golangci-lint
PDATAGEN := $(TOOLS_BIN_DIR)/pdatagen
IMPI := $(TOOLS_BIN_DIR)/impi
MISSPELL := $(TOOLS_BIN_DIR)/misspell
MULTIMOD := $(TOOLS_BIN_DIR)/multimod
@ -91,7 +93,7 @@ common/goimports: $(GOIMPORTS)
.PHONY: common/gofumpt
common/gofumpt: $(GOFUMPT)
$(GOFUMPT) -l -w .
$(GOFUMPT) -l -w -extra .
.PHONY: govulncheck
govulncheck: $(GOVULNCHECK)

View File

@ -4,8 +4,8 @@ go 1.23.0
require (
github.com/stretchr/testify v1.10.0
go.opentelemetry.io/collector/consumer v1.36.1
go.opentelemetry.io/collector/pdata v1.36.1
go.opentelemetry.io/collector/consumer v1.37.0
go.opentelemetry.io/collector/pdata v1.37.0
go.uber.org/goleak v1.3.0
)
@ -14,14 +14,14 @@ require (
github.com/gogo/protobuf v1.3.2 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/net v0.39.0 // indirect
golang.org/x/sys v0.32.0 // indirect
golang.org/x/text v0.24.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 // indirect
google.golang.org/grpc v1.73.0 // indirect
golang.org/x/net v0.40.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/text v0.25.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect
google.golang.org/grpc v1.74.2 // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

47
client/go.sum generated
View File

@ -1,8 +1,8 @@
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
@ -25,8 +25,9 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
@ -39,16 +40,16 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ=
go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y=
go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M=
go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE=
go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY=
go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg=
go.opentelemetry.io/otel/sdk/metric v1.35.0 h1:1RriWBmCKgkeHEhM7a2uMjMUfP7MsOF5JpUCaEqEI9o=
go.opentelemetry.io/otel/sdk/metric v1.35.0/go.mod h1:is6XYCUMpcKi+ZsOvfluY5YstFnhW0BidkR+gL+qN+w=
go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs=
go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc=
go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg=
go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E=
go.opentelemetry.io/otel/metric v1.36.0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE=
go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs=
go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs=
go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY=
go.opentelemetry.io/otel/sdk/metric v1.36.0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFwHX4dThiPis=
go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4=
go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w=
go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
@ -62,20 +63,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
@ -84,10 +85,10 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 h1:e0AIkUUhxyBKh6ssZNrAMeqhA7RKUj42346d1y02i2g=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok=
google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4=
google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

View File

@ -5,28 +5,28 @@ This program generates a custom OpenTelemetry Collector binary based on a given
## TL;DR
```console
$ go install go.opentelemetry.io/collector/cmd/builder@v0.109.0
$ go install go.opentelemetry.io/collector/cmd/builder@v0.129.0
$ cat > otelcol-builder.yaml <<EOF
dist:
name: otelcol-custom
description: Local OpenTelemetry Collector binary
output_path: /tmp/dist
exporters:
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alibabacloudlogserviceexporter v0.109.0
- gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.109.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alibabacloudlogserviceexporter v0.129.0
- gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.129.0
receivers:
- gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.109.0
- gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.129.0
processors:
- gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.109.0
- gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.129.0
providers:
- gomod: go.opentelemetry.io/collector/confmap/provider/envprovider v1.15.0
- gomod: go.opentelemetry.io/collector/confmap/provider/fileprovider v1.15.0
- gomod: go.opentelemetry.io/collector/confmap/provider/httpprovider v0.109.0
- gomod: go.opentelemetry.io/collector/confmap/provider/httpsprovider v0.109.0
- gomod: go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.109.0
- gomod: go.opentelemetry.io/collector/confmap/provider/envprovider v1.35.0
- gomod: go.opentelemetry.io/collector/confmap/provider/fileprovider v1.35.0
- gomod: go.opentelemetry.io/collector/confmap/provider/httpprovider v1.35.0
- gomod: go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.35.0
- gomod: go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.35.0
EOF
$ builder --config=otelcol-builder.yaml
$ cat > /tmp/otelcol.yaml <<EOF
@ -36,9 +36,6 @@ receivers:
grpc:
endpoint: localhost:4317
processors:
batch:
exporters:
debug:
@ -47,8 +44,6 @@ service:
traces:
receivers:
- otlp
processors:
- batch
exporters:
- debug
EOF
@ -64,11 +59,11 @@ There are three supported ways to install the builder:
### Official release Docker image
You will find the official docker images at [DockerHub](https://hub.docker.com/r/otel/opentelemetry-collector-builder).
You will find the official docker images at [DockerHub](https://hub.docker.com/r/otel/opentelemetry-collector-builder).
Pull the image via tagged version number (e.g. v0.110.0) or 'latest'. You may also specify platform, although Docker will handle this automatically as it is a multi-platform build.
Pull the image via tagged version number (e.g. `0.129.0`) or 'latest'. You may also specify platform, although Docker will handle this automatically as it is a multi-platform build.
```
```console
docker pull otel/opentelemetry-collector-builder:latest
```
@ -76,15 +71,15 @@ The included builder configuration file/manifest should be replaced by mounting
Assuming you are running this image in your working directory, have a `builder-config.yaml` file located in this folder, the `dist.output_path` item inside your `builder-config.yaml` is set to `./otelcol-dev`, and you wish to output the binary/go module files to a folder named `output`, the command would look as follows:
```
```console
docker run -v "$(pwd)/builder-config.yaml:/build/builder-config.yaml" -v "$(pwd)/output:/build/otelcol-dev" otel/opentelemetry-collector-builder:latest --config=/build/builder-config.yaml
```
Please note that a `--config` flag must be passed to specify your custom manifest.yaml/builder-config.yaml file regardless of where you mount it inside the container, otherwise a default config is used that cannot be changed.
Additional arguments may be passed to ocb on the command line as specified below, but if you wish to do this, you must make sure to pass the `--config` argument, as this is specified as an additional `CMD`, not an entrypoint.
Additional arguments may be passed to ocb on the command line as specified below, but if you wish to do this, you must make sure to pass the `--config` argument, as this is specified as an additional `CMD`, not an entrypoint.
### Official release binaries
### Official release binaries
This is the recommended installation method for the binary. Download the binary for your respective platform from the ["Releases"](https://github.com/open-telemetry/opentelemetry-collector-releases/releases?q=cmd/builder) page.
@ -118,7 +113,7 @@ Use `ocb --help` to learn about which flags are available.
By default, the LDflags are set to `-s -w`, which strips debugging symbols to produce a smaller OpenTelemetry Collector binary. To retain debugging symbols and DWARF debugging data in the binary, override the LDflags as shown:
```console
```console
ocb --ldflags="" --config=builder-config.yaml.
```
@ -164,13 +159,13 @@ dist:
go: "/usr/bin/go" # which Go binary to use to compile the generated sources. Optional.
debug_compilation: false # enabling this causes the builder to keep the debug symbols in the resulting binary. Optional.
exporters:
- gomod: "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alibabacloudlogserviceexporter v0.40.0" # the Go module for the component. Required.
- gomod: "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alibabacloudlogserviceexporter v0.129.0" # the Go module for the component. Required.
import: "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alibabacloudlogserviceexporter" # the import path for the component. Optional.
name: "alibabacloudlogserviceexporter" # package name to use in the generated sources. Optional.
path: "./alibabacloudlogserviceexporter" # in case a local version should be used for the module, the path relative to the current dir, or a full path can be specified. Optional.
replaces:
# a list of "replaces" directives that will be part of the resulting go.mod
- github.com/open-telemetry/opentelemetry-collector-contrib/internal/common => github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.40.0
- github.com/open-telemetry/opentelemetry-collector-contrib/internal/common => github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.128.0
```
The builder also allows setting the scheme to use as the default URI scheme via `conf_resolver.default_uri_scheme`:

View File

@ -10,9 +10,9 @@ require (
github.com/knadh/koanf/providers/env/v2 v2.0.0
github.com/knadh/koanf/providers/file v1.2.0
github.com/knadh/koanf/providers/fs v1.0.0
github.com/knadh/koanf/v2 v2.2.1
github.com/knadh/koanf/v2 v2.2.2
github.com/spf13/cobra v1.9.1
github.com/spf13/pflag v1.0.6
github.com/spf13/pflag v1.0.7
github.com/stretchr/testify v1.10.0
go.uber.org/goleak v1.3.0
go.uber.org/multierr v1.11.0
@ -23,7 +23,7 @@ require (
require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/fsnotify/fsnotify v1.9.0 // indirect
github.com/go-viper/mapstructure/v2 v2.2.1 // indirect
github.com/go-viper/mapstructure/v2 v2.3.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/knadh/koanf/maps v0.1.2 // indirect
github.com/kr/pretty v0.3.1 // indirect

11
cmd/builder/go.sum generated
View File

@ -4,8 +4,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k=
github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss=
github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/go-viper/mapstructure/v2 v2.3.0 h1:27XbWsHIqhbdR5TIC911OfYvgSaW93HM+dX7970Q7jk=
github.com/go-viper/mapstructure/v2 v2.3.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/knadh/koanf/maps v0.1.2 h1:RBfmAW5CnZT+PJ1CVc1QSJKf4Xu9kxfQgYVQSu8hpbo=
@ -18,8 +18,8 @@ github.com/knadh/koanf/providers/file v1.2.0 h1:hrUJ6Y9YOA49aNu/RSYzOTFlqzXSCpmY
github.com/knadh/koanf/providers/file v1.2.0/go.mod h1:bp1PM5f83Q+TOUu10J/0ApLBd9uIzg+n9UgthfY+nRA=
github.com/knadh/koanf/providers/fs v1.0.0 h1:tvn4MrduLgdOSUqqEHULUuIcELXf6xDOpH8GUErpYaY=
github.com/knadh/koanf/providers/fs v1.0.0/go.mod h1:FksHET+xXFNDozvj8ZCdom54OnZ6eGKJtC5FhZJKx/8=
github.com/knadh/koanf/v2 v2.2.1 h1:jaleChtw85y3UdBnI0wCqcg1sj1gPoz6D3caGNHtrNE=
github.com/knadh/koanf/v2 v2.2.1/go.mod h1:PSFru3ufQgTsI7IF+95rf9s8XA1+aHxKuO/W+dPoHEY=
github.com/knadh/koanf/v2 v2.2.2 h1:ghbduIkpFui3L587wavneC9e3WIliCgiCgdxYO/wd7A=
github.com/knadh/koanf/v2 v2.2.2/go.mod h1:abWQc0cBXLSF/PSOMCB/SK+T13NXDsPvOksbpi5e/9Q=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
@ -40,8 +40,9 @@ github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncj
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/pflag v1.0.7 h1:vN6T9TfwStFPFM5XzjsvmzZkLuaLX+HS+0SeFLRgU6M=
github.com/spf13/pflag v1.0.7/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=

View File

@ -18,8 +18,8 @@ import (
)
const (
defaultBetaOtelColVersion = "v0.130.1"
defaultStableOtelColVersion = "v1.36.1"
defaultBetaOtelColVersion = "v0.131.0"
defaultStableOtelColVersion = "v1.37.0"
)
// errMissingGoMod indicates an empty gomod field

View File

@ -128,8 +128,7 @@ func Compile(cfg *Config) error {
}
}
args = append(args, "-ldflags="+ldflags)
args = append(args, "-gcflags="+gcflags)
args = append(args, "-ldflags="+ldflags, "-gcflags="+gcflags)
if cfg.Distribution.BuildTags != "" {
args = append(args, "-tags", cfg.Distribution.BuildTags)

View File

@ -2,7 +2,7 @@
module {{.Distribution.Module}}
go 1.22
go 1.23
require (
{{- range .ConfmapConverters}}

View File

@ -5,7 +5,6 @@ package internal // import "go.opentelemetry.io/collector/cmd/builder/internal"
import (
"fmt"
"strings"
"github.com/knadh/koanf/parsers/yaml"
"github.com/knadh/koanf/providers/env/v2"
@ -116,14 +115,7 @@ func initConfig(flags *flag.FlagSet) (*builder.Config, error) {
}
// handle env variables
if err = k.Load(env.Provider(".", env.Opt{
TransformFunc: func(key string, value string) (string, any) {
// Only values from the `dist.` group can be set,
// and the subfields in `dist.` contain `_` in their names.
// All other fields are arrays and the koanf env provider doesn't provide a straightforward way to set arrays.
return strings.Replace(strings.ToLower(key), "dist_", "dist.", 1), value
},
}), nil); err != nil {
if err = k.Load(env.Provider(".", env.Opt{}), nil); err != nil {
return nil, fmt.Errorf("failed to load environment variables: %w", err)
}

View File

@ -10,29 +10,29 @@ dist:
module: go.opentelemetry.io/collector/cmd/otelcorecol
name: otelcorecol
description: Local OpenTelemetry Collector binary, testing only.
version: 0.130.1-dev
version: 0.131.0-dev
receivers:
- gomod: go.opentelemetry.io/collector/receiver/nopreceiver v0.130.1
- gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.130.1
- gomod: go.opentelemetry.io/collector/receiver/nopreceiver v0.131.0
- gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.131.0
exporters:
- gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.130.1
- gomod: go.opentelemetry.io/collector/exporter/nopexporter v0.130.1
- gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.130.1
- gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.130.1
- gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.131.0
- gomod: go.opentelemetry.io/collector/exporter/nopexporter v0.131.0
- gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.131.0
- gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.131.0
extensions:
- gomod: go.opentelemetry.io/collector/extension/memorylimiterextension v0.130.1
- gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.130.1
- gomod: go.opentelemetry.io/collector/extension/memorylimiterextension v0.131.0
- gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.131.0
processors:
- gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.130.1
- gomod: go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.130.1
- gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.131.0
- gomod: go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.131.0
connectors:
- gomod: go.opentelemetry.io/collector/connector/forwardconnector v0.130.1
- gomod: go.opentelemetry.io/collector/connector/forwardconnector v0.131.0
providers:
- gomod: go.opentelemetry.io/collector/confmap/provider/envprovider v1.36.1
- gomod: go.opentelemetry.io/collector/confmap/provider/fileprovider v1.36.1
- gomod: go.opentelemetry.io/collector/confmap/provider/httpprovider v1.36.1
- gomod: go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.36.1
- gomod: go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.36.1
- gomod: go.opentelemetry.io/collector/confmap/provider/envprovider v1.37.0
- gomod: go.opentelemetry.io/collector/confmap/provider/fileprovider v1.37.0
- gomod: go.opentelemetry.io/collector/confmap/provider/httpprovider v1.37.0
- gomod: go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.37.0
- gomod: go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.37.0

View File

@ -4,10 +4,10 @@ dist:
go: ${GOBIN}
extensions:
- gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.130.1
- gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.131.0
receivers:
- gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.130.1
- gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.131.0
exporters:
- gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.130.1
- gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.131.0

View File

@ -6,23 +6,23 @@ require (
github.com/google/go-cmp v0.7.0
github.com/spf13/cobra v1.9.1
github.com/stretchr/testify v1.10.0
go.opentelemetry.io/collector/component v1.36.1
go.opentelemetry.io/collector/component/componenttest v0.130.1
go.opentelemetry.io/collector/confmap v1.36.1
go.opentelemetry.io/collector/confmap/provider/fileprovider v1.36.1
go.opentelemetry.io/collector/connector v0.130.1
go.opentelemetry.io/collector/connector/connectortest v0.130.1
go.opentelemetry.io/collector/consumer v1.36.1
go.opentelemetry.io/collector/consumer/consumertest v0.130.1
go.opentelemetry.io/collector/filter v0.130.1
go.opentelemetry.io/collector/pdata v1.36.1
go.opentelemetry.io/collector/pipeline v0.130.1
go.opentelemetry.io/collector/processor v1.36.1
go.opentelemetry.io/collector/processor/processortest v0.130.1
go.opentelemetry.io/collector/receiver v1.36.1
go.opentelemetry.io/collector/receiver/receivertest v0.130.1
go.opentelemetry.io/collector/scraper v0.130.1
go.opentelemetry.io/collector/scraper/scrapertest v0.130.1
go.opentelemetry.io/collector/component v1.37.0
go.opentelemetry.io/collector/component/componenttest v0.131.0
go.opentelemetry.io/collector/confmap v1.37.0
go.opentelemetry.io/collector/confmap/provider/fileprovider v1.37.0
go.opentelemetry.io/collector/connector v0.131.0
go.opentelemetry.io/collector/connector/connectortest v0.131.0
go.opentelemetry.io/collector/consumer v1.37.0
go.opentelemetry.io/collector/consumer/consumertest v0.131.0
go.opentelemetry.io/collector/filter v0.131.0
go.opentelemetry.io/collector/pdata v1.37.0
go.opentelemetry.io/collector/pipeline v0.131.0
go.opentelemetry.io/collector/processor v1.37.0
go.opentelemetry.io/collector/processor/processortest v0.131.0
go.opentelemetry.io/collector/receiver v1.37.0
go.opentelemetry.io/collector/receiver/receivertest v0.131.0
go.opentelemetry.io/collector/scraper v0.131.0
go.opentelemetry.io/collector/scraper/scrapertest v0.131.0
go.opentelemetry.io/otel v1.37.0
go.opentelemetry.io/otel/metric v1.37.0
go.opentelemetry.io/otel/sdk/metric v1.37.0
@ -36,7 +36,7 @@ require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/go-logr/logr v1.4.3 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-viper/mapstructure/v2 v2.3.0 // indirect
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/google/uuid v1.6.0 // indirect
@ -45,35 +45,35 @@ require (
github.com/json-iterator/go v1.1.12 // indirect
github.com/knadh/koanf/maps v0.1.2 // indirect
github.com/knadh/koanf/providers/confmap v1.0.0 // indirect
github.com/knadh/koanf/v2 v2.2.1 // indirect
github.com/knadh/koanf/v2 v2.2.2 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/spf13/pflag v1.0.6 // indirect
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
go.opentelemetry.io/collector/component/componentstatus v0.130.1 // indirect
go.opentelemetry.io/collector/connector/xconnector v0.130.1 // indirect
go.opentelemetry.io/collector/consumer/consumererror v0.130.1 // indirect
go.opentelemetry.io/collector/consumer/xconsumer v0.130.1 // indirect
go.opentelemetry.io/collector/featuregate v1.36.1 // indirect
go.opentelemetry.io/collector/internal/fanoutconsumer v0.130.1 // indirect
go.opentelemetry.io/collector/internal/telemetry v0.130.1 // indirect
go.opentelemetry.io/collector/pdata/pprofile v0.130.1 // indirect
go.opentelemetry.io/collector/pdata/testdata v0.130.1 // indirect
go.opentelemetry.io/collector/pipeline/xpipeline v0.130.1 // indirect
go.opentelemetry.io/collector/processor/xprocessor v0.130.1 // indirect
go.opentelemetry.io/collector/receiver/xreceiver v0.130.1 // indirect
go.opentelemetry.io/collector/component/componentstatus v0.131.0 // indirect
go.opentelemetry.io/collector/connector/xconnector v0.131.0 // indirect
go.opentelemetry.io/collector/consumer/consumererror v0.131.0 // indirect
go.opentelemetry.io/collector/consumer/xconsumer v0.131.0 // indirect
go.opentelemetry.io/collector/featuregate v1.37.0 // indirect
go.opentelemetry.io/collector/internal/fanoutconsumer v0.131.0 // indirect
go.opentelemetry.io/collector/internal/telemetry v0.131.0 // indirect
go.opentelemetry.io/collector/pdata/pprofile v0.131.0 // indirect
go.opentelemetry.io/collector/pdata/testdata v0.131.0 // indirect
go.opentelemetry.io/collector/pipeline/xpipeline v0.131.0 // indirect
go.opentelemetry.io/collector/processor/xprocessor v0.131.0 // indirect
go.opentelemetry.io/collector/receiver/xreceiver v0.131.0 // indirect
go.opentelemetry.io/contrib/bridges/otelzap v0.12.0 // indirect
go.opentelemetry.io/otel/log v0.13.0 // indirect
go.opentelemetry.io/otel/sdk v1.37.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.yaml.in/yaml/v3 v3.0.4 // indirect
golang.org/x/net v0.39.0 // indirect
golang.org/x/net v0.40.0 // indirect
golang.org/x/sys v0.33.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 // indirect
google.golang.org/grpc v1.73.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect
google.golang.org/grpc v1.74.2 // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

23
cmd/mdatagen/go.sum generated
View File

@ -7,8 +7,8 @@ github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/go-viper/mapstructure/v2 v2.3.0 h1:27XbWsHIqhbdR5TIC911OfYvgSaW93HM+dX7970Q7jk=
github.com/go-viper/mapstructure/v2 v2.3.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
@ -32,8 +32,8 @@ github.com/knadh/koanf/maps v0.1.2 h1:RBfmAW5CnZT+PJ1CVc1QSJKf4Xu9kxfQgYVQSu8hpb
github.com/knadh/koanf/maps v0.1.2/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI=
github.com/knadh/koanf/providers/confmap v1.0.0 h1:mHKLJTE7iXEys6deO5p6olAiZdG5zwp8Aebir+/EaRE=
github.com/knadh/koanf/providers/confmap v1.0.0/go.mod h1:txHYHiI2hAtF0/0sCmcuol4IDcuQbKTybiB1nOcUo1A=
github.com/knadh/koanf/v2 v2.2.1 h1:jaleChtw85y3UdBnI0wCqcg1sj1gPoz6D3caGNHtrNE=
github.com/knadh/koanf/v2 v2.2.1/go.mod h1:PSFru3ufQgTsI7IF+95rf9s8XA1+aHxKuO/W+dPoHEY=
github.com/knadh/koanf/v2 v2.2.2 h1:ghbduIkpFui3L587wavneC9e3WIliCgiCgdxYO/wd7A=
github.com/knadh/koanf/v2 v2.2.2/go.mod h1:abWQc0cBXLSF/PSOMCB/SK+T13NXDsPvOksbpi5e/9Q=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
@ -45,8 +45,9 @@ github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
@ -97,8 +98,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -119,10 +120,10 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 h1:e0AIkUUhxyBKh6ssZNrAMeqhA7RKUj42346d1y02i2g=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok=
google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4=
google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

View File

@ -89,33 +89,38 @@ func run(ymlPath string) error {
if md.Status != nil {
if !slices.Contains(nonComponents, md.Status.Class) {
toGenerate[filepath.Join(tmplDir, "status.go.tmpl")] = filepath.Join(codeDir, "generated_status.go")
if err = generateFile(filepath.Join(tmplDir, "component_test.go.tmpl"),
filepath.Join(ymlDir, "generated_component_test.go"), md, packageName); err != nil {
err = generateFile(filepath.Join(tmplDir, "component_test.go.tmpl"),
filepath.Join(ymlDir, "generated_component_test.go"), md, packageName)
if err != nil {
return err
}
} else {
if _, err = os.Stat(filepath.Join(codeDir, "generated_status.go")); err == nil {
if err = os.Remove(filepath.Join(codeDir, "generated_status.go")); err != nil {
err = os.Remove(filepath.Join(codeDir, "generated_status.go"))
if err != nil {
return err
}
}
if _, err = os.Stat(filepath.Join(ymlDir, "generated_component_test.go")); err == nil {
if err = os.Remove(filepath.Join(ymlDir, "generated_component_test.go")); err != nil {
err = os.Remove(filepath.Join(ymlDir, "generated_component_test.go"))
if err != nil {
return err
}
}
}
if err = generateFile(filepath.Join(tmplDir, "package_test.go.tmpl"),
filepath.Join(ymlDir, "generated_package_test.go"), md, packageName); err != nil {
err = generateFile(filepath.Join(tmplDir, "package_test.go.tmpl"),
filepath.Join(ymlDir, "generated_package_test.go"), md, packageName)
if err != nil {
return err
}
if _, err = os.Stat(filepath.Join(ymlDir, "README.md")); err == nil {
if err = inlineReplace(
err = inlineReplace(
filepath.Join(tmplDir, "readme.md.tmpl"),
filepath.Join(ymlDir, "README.md"),
md, statusStart, statusEnd, md.GeneratedPackageName); err != nil {
md, statusStart, statusEnd, md.GeneratedPackageName)
if err != nil {
return err
}
}
@ -138,22 +143,26 @@ func run(ymlPath string) error {
toGenerate[filepath.Join(tmplDir, "telemetrytest_test.go.tmpl")] = filepath.Join(testDir, "generated_telemetrytest_test.go")
} else {
if _, err = os.Stat(filepath.Join(ymlDir, "generated_telemetry.go")); err == nil {
if err = os.Remove(filepath.Join(ymlDir, "generated_telemetry.go")); err != nil {
err = os.Remove(filepath.Join(ymlDir, "generated_telemetry.go"))
if err != nil {
return err
}
}
if _, err = os.Stat(filepath.Join(ymlDir, "generated_telemetry_test.go")); err == nil {
if err = os.Remove(filepath.Join(ymlDir, "generated_telemetry_test.go")); err != nil {
err = os.Remove(filepath.Join(ymlDir, "generated_telemetry_test.go"))
if err != nil {
return err
}
}
if _, err = os.Stat(filepath.Join(ymlDir, "generated_telemetrytest.go")); err == nil {
if err = os.Remove(filepath.Join(ymlDir, "generated_telemetrytest.go")); err != nil {
err = os.Remove(filepath.Join(ymlDir, "generated_telemetrytest.go"))
if err != nil {
return err
}
}
if _, err = os.Stat(filepath.Join(ymlDir, "generated_telemetrytest_test.go")); err == nil {
if err = os.Remove(filepath.Join(ymlDir, "generated_telemetrytest_test.go")); err != nil {
err = os.Remove(filepath.Join(ymlDir, "generated_telemetrytest_test.go"))
if err != nil {
return err
}
}
@ -198,7 +207,7 @@ func run(ymlPath string) error {
}
for tmpl, dst := range toGenerate {
if err = generateFile(tmpl, dst, md, md.GeneratedPackageName); err != nil {
if err := generateFile(tmpl, dst, md, md.GeneratedPackageName); err != nil {
return err
}
}
@ -348,7 +357,7 @@ func executeTemplate(tmplFile string, md Metadata, goPackage string) ([]byte, er
return buf.Bytes(), nil
}
func inlineReplace(tmplFile string, outputFile string, md Metadata, start string, end string, goPackage string) error {
func inlineReplace(tmplFile, outputFile string, md Metadata, start, end, goPackage string) error {
var readmeContents []byte
var err error
if readmeContents, err = os.ReadFile(outputFile); err != nil { //nolint:gosec
@ -377,7 +386,7 @@ func inlineReplace(tmplFile string, outputFile string, md Metadata, start string
return nil
}
func generateFile(tmplFile string, outputFile string, md Metadata, goPackage string) error {
func generateFile(tmplFile, outputFile string, md Metadata, goPackage string) error {
if err := os.Remove(outputFile); err != nil && !errors.Is(err, fs.ErrNotExist) {
return fmt.Errorf("unable to remove generated file %q: %w", outputFile, err)
}

View File

@ -40,20 +40,24 @@ func LoadMetadata(filePath string) (Metadata, error) {
}
md := Metadata{ShortFolderName: shortFolderName(filePath), Tests: Tests{Host: "componenttest.NewNopHost()"}}
if err = conf.Unmarshal(&md); err != nil {
err = conf.Unmarshal(&md)
if err != nil {
return md, err
}
packageName, err := packageName(filepath.Dir(filePath))
if err != nil {
return md, fmt.Errorf("unable to determine package name: %w", err)
}
md.PackageName = packageName
if md.ScopeName == "" {
md.ScopeName, err = packageName(filepath.Dir(filePath))
if err != nil {
return md, err
}
md.ScopeName = packageName
}
if md.GeneratedPackageName == "" {
md.GeneratedPackageName = "metadata"
}
if err = md.Validate(); err != nil {
if err := md.Validate(); err != nil {
return md, err
}

View File

@ -44,6 +44,7 @@ func TestLoadMetadata(t *testing.T) {
GeneratedPackageName: "metadata",
Type: "sample",
SemConvVersion: "1.9.0",
PackageName: "go.opentelemetry.io/collector/cmd/mdatagen/internal/samplereceiver",
Status: &Status{
DisableCodeCov: true,
Class: "receiver",
@ -409,6 +410,7 @@ func TestLoadMetadata(t *testing.T) {
Parent: "parentComponent",
GeneratedPackageName: "metadata",
ScopeName: "go.opentelemetry.io/collector/cmd/mdatagen/internal/testdata",
PackageName: "go.opentelemetry.io/collector/cmd/mdatagen/internal/testdata",
ShortFolderName: "testdata",
Tests: Tests{Host: "componenttest.NewNopHost()"},
},
@ -419,6 +421,7 @@ func TestLoadMetadata(t *testing.T) {
Type: "custom",
GeneratedPackageName: "customname",
ScopeName: "go.opentelemetry.io/collector/cmd/mdatagen/internal/testdata",
PackageName: "go.opentelemetry.io/collector/cmd/mdatagen/internal/testdata",
ShortFolderName: "testdata",
Tests: Tests{Host: "componenttest.NewNopHost()"},
Status: &Status{
@ -437,6 +440,7 @@ func TestLoadMetadata(t *testing.T) {
Type: "test",
GeneratedPackageName: "metadata",
ScopeName: "go.opentelemetry.io/collector/cmd/mdatagen/internal/testdata",
PackageName: "go.opentelemetry.io/collector/cmd/mdatagen/internal/testdata",
ShortFolderName: "testdata",
Tests: Tests{Host: "componenttest.NewNopHost()"},
Status: &Status{

View File

@ -43,6 +43,8 @@ type Metadata struct {
ShortFolderName string `mapstructure:"-"`
// Tests is the set of tests generated with the component
Tests Tests `mapstructure:"tests"`
// PackageName is the name of the package where the component is defined.
PackageName string `mapstructure:"package_name"`
}
func (md Metadata) GetCodeCovComponentID() string {
@ -318,7 +320,7 @@ func (a Attribute) Name() AttributeName {
func (a Attribute) TestValue() string {
if a.Enum != nil {
return fmt.Sprintf(`"%s"`, a.Enum[0])
return fmt.Sprintf(`%q`, a.Enum[0])
}
switch a.Type.ValueType {
case pcommon.ValueTypeEmpty:

View File

@ -53,10 +53,10 @@ type Stability struct {
}
func (s Stability) String() string {
if len(s.Level) == 0 || strings.EqualFold(s.Level, component.StabilityLevelStable.String()) {
if s.Level == "" || strings.EqualFold(s.Level, component.StabilityLevelStable.String()) {
return ""
}
if len(s.From) > 0 {
if s.From != "" {
return fmt.Sprintf(" [%s since %s]", s.Level, s.From)
}
return fmt.Sprintf(" [%s]", s.Level)

View File

@ -19,6 +19,7 @@ import (
"go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest"
"go.opentelemetry.io/collector/component/componenttest"
"{{ .PackageName }}/internal/{{ .GeneratedPackageName }}"
)
func TestSetupTelemetry(t *testing.T) {

View File

@ -10,31 +10,31 @@ dist:
module: go.opentelemetry.io/collector/cmd/otelcorecol
name: otelcorecol
description: Local OpenTelemetry Collector binary, testing only.
version: 0.130.1-dev
version: 0.131.0-dev
receivers:
- gomod: go.opentelemetry.io/collector/receiver/nopreceiver v0.130.1
- gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.130.1
- gomod: go.opentelemetry.io/collector/receiver/nopreceiver v0.131.0
- gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.131.0
exporters:
- gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.130.1
- gomod: go.opentelemetry.io/collector/exporter/nopexporter v0.130.1
- gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.130.1
- gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.130.1
- gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.131.0
- gomod: go.opentelemetry.io/collector/exporter/nopexporter v0.131.0
- gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.131.0
- gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.131.0
extensions:
- gomod: go.opentelemetry.io/collector/extension/memorylimiterextension v0.130.1
- gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.130.1
- gomod: go.opentelemetry.io/collector/extension/memorylimiterextension v0.131.0
- gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.131.0
processors:
- gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.130.1
- gomod: go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.130.1
- gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.131.0
- gomod: go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.131.0
connectors:
- gomod: go.opentelemetry.io/collector/connector/forwardconnector v0.130.1
- gomod: go.opentelemetry.io/collector/connector/forwardconnector v0.131.0
providers:
- gomod: go.opentelemetry.io/collector/confmap/provider/envprovider v1.36.1
- gomod: go.opentelemetry.io/collector/confmap/provider/fileprovider v1.36.1
- gomod: go.opentelemetry.io/collector/confmap/provider/httpprovider v1.36.1
- gomod: go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.36.1
- gomod: go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.36.1
- gomod: go.opentelemetry.io/collector/confmap/provider/envprovider v1.37.0
- gomod: go.opentelemetry.io/collector/confmap/provider/fileprovider v1.37.0
- gomod: go.opentelemetry.io/collector/confmap/provider/httpprovider v1.37.0
- gomod: go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.37.0
- gomod: go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.37.0
replaces:
- go.opentelemetry.io/collector => ../../

View File

@ -35,8 +35,8 @@ func components() (otelcol.Factories, error) {
return otelcol.Factories{}, err
}
factories.ExtensionModules = make(map[component.Type]string, len(factories.Extensions))
factories.ExtensionModules[memorylimiterextension.NewFactory().Type()] = "go.opentelemetry.io/collector/extension/memorylimiterextension v0.130.1"
factories.ExtensionModules[zpagesextension.NewFactory().Type()] = "go.opentelemetry.io/collector/extension/zpagesextension v0.130.1"
factories.ExtensionModules[memorylimiterextension.NewFactory().Type()] = "go.opentelemetry.io/collector/extension/memorylimiterextension v0.131.0"
factories.ExtensionModules[zpagesextension.NewFactory().Type()] = "go.opentelemetry.io/collector/extension/zpagesextension v0.131.0"
factories.Receivers, err = otelcol.MakeFactoryMap[receiver.Factory](
nopreceiver.NewFactory(),
@ -46,8 +46,8 @@ func components() (otelcol.Factories, error) {
return otelcol.Factories{}, err
}
factories.ReceiverModules = make(map[component.Type]string, len(factories.Receivers))
factories.ReceiverModules[nopreceiver.NewFactory().Type()] = "go.opentelemetry.io/collector/receiver/nopreceiver v0.130.1"
factories.ReceiverModules[otlpreceiver.NewFactory().Type()] = "go.opentelemetry.io/collector/receiver/otlpreceiver v0.130.1"
factories.ReceiverModules[nopreceiver.NewFactory().Type()] = "go.opentelemetry.io/collector/receiver/nopreceiver v0.131.0"
factories.ReceiverModules[otlpreceiver.NewFactory().Type()] = "go.opentelemetry.io/collector/receiver/otlpreceiver v0.131.0"
factories.Exporters, err = otelcol.MakeFactoryMap[exporter.Factory](
debugexporter.NewFactory(),
@ -59,10 +59,10 @@ func components() (otelcol.Factories, error) {
return otelcol.Factories{}, err
}
factories.ExporterModules = make(map[component.Type]string, len(factories.Exporters))
factories.ExporterModules[debugexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/debugexporter v0.130.1"
factories.ExporterModules[nopexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/nopexporter v0.130.1"
factories.ExporterModules[otlpexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/otlpexporter v0.130.1"
factories.ExporterModules[otlphttpexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/otlphttpexporter v0.130.1"
factories.ExporterModules[debugexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/debugexporter v0.131.0"
factories.ExporterModules[nopexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/nopexporter v0.131.0"
factories.ExporterModules[otlpexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/otlpexporter v0.131.0"
factories.ExporterModules[otlphttpexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/otlphttpexporter v0.131.0"
factories.Processors, err = otelcol.MakeFactoryMap[processor.Factory](
batchprocessor.NewFactory(),
@ -72,8 +72,8 @@ func components() (otelcol.Factories, error) {
return otelcol.Factories{}, err
}
factories.ProcessorModules = make(map[component.Type]string, len(factories.Processors))
factories.ProcessorModules[batchprocessor.NewFactory().Type()] = "go.opentelemetry.io/collector/processor/batchprocessor v0.130.1"
factories.ProcessorModules[memorylimiterprocessor.NewFactory().Type()] = "go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.130.1"
factories.ProcessorModules[batchprocessor.NewFactory().Type()] = "go.opentelemetry.io/collector/processor/batchprocessor v0.131.0"
factories.ProcessorModules[memorylimiterprocessor.NewFactory().Type()] = "go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.131.0"
factories.Connectors, err = otelcol.MakeFactoryMap[connector.Factory](
forwardconnector.NewFactory(),
@ -82,7 +82,7 @@ func components() (otelcol.Factories, error) {
return otelcol.Factories{}, err
}
factories.ConnectorModules = make(map[component.Type]string, len(factories.Connectors))
factories.ConnectorModules[forwardconnector.NewFactory().Type()] = "go.opentelemetry.io/collector/connector/forwardconnector v0.130.1"
factories.ConnectorModules[forwardconnector.NewFactory().Type()] = "go.opentelemetry.io/collector/connector/forwardconnector v0.131.0"
return factories, nil
}

View File

@ -4,39 +4,39 @@ module go.opentelemetry.io/collector/cmd/otelcorecol
go 1.23.0
toolchain go1.23.10
toolchain go1.23.11
require (
go.opentelemetry.io/collector/component v1.36.1
go.opentelemetry.io/collector/confmap v1.36.1
go.opentelemetry.io/collector/confmap/provider/envprovider v1.36.1
go.opentelemetry.io/collector/confmap/provider/fileprovider v1.36.1
go.opentelemetry.io/collector/confmap/provider/httpprovider v1.36.1
go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.36.1
go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.36.1
go.opentelemetry.io/collector/connector v0.130.1
go.opentelemetry.io/collector/connector/forwardconnector v0.130.1
go.opentelemetry.io/collector/exporter v0.130.1
go.opentelemetry.io/collector/exporter/debugexporter v0.130.1
go.opentelemetry.io/collector/exporter/nopexporter v0.130.1
go.opentelemetry.io/collector/exporter/otlpexporter v0.130.1
go.opentelemetry.io/collector/exporter/otlphttpexporter v0.130.1
go.opentelemetry.io/collector/extension v1.36.1
go.opentelemetry.io/collector/extension/memorylimiterextension v0.130.1
go.opentelemetry.io/collector/extension/zpagesextension v0.130.1
go.opentelemetry.io/collector/otelcol v0.130.1
go.opentelemetry.io/collector/processor v1.36.1
go.opentelemetry.io/collector/processor/batchprocessor v0.130.1
go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.130.1
go.opentelemetry.io/collector/receiver v1.36.1
go.opentelemetry.io/collector/receiver/nopreceiver v0.130.1
go.opentelemetry.io/collector/receiver/otlpreceiver v0.130.1
go.opentelemetry.io/collector/component v1.37.0
go.opentelemetry.io/collector/confmap v1.37.0
go.opentelemetry.io/collector/confmap/provider/envprovider v1.37.0
go.opentelemetry.io/collector/confmap/provider/fileprovider v1.37.0
go.opentelemetry.io/collector/confmap/provider/httpprovider v1.37.0
go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.37.0
go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.37.0
go.opentelemetry.io/collector/connector v0.131.0
go.opentelemetry.io/collector/connector/forwardconnector v0.131.0
go.opentelemetry.io/collector/exporter v0.131.0
go.opentelemetry.io/collector/exporter/debugexporter v0.131.0
go.opentelemetry.io/collector/exporter/nopexporter v0.131.0
go.opentelemetry.io/collector/exporter/otlpexporter v0.131.0
go.opentelemetry.io/collector/exporter/otlphttpexporter v0.131.0
go.opentelemetry.io/collector/extension v1.37.0
go.opentelemetry.io/collector/extension/memorylimiterextension v0.131.0
go.opentelemetry.io/collector/extension/zpagesextension v0.131.0
go.opentelemetry.io/collector/otelcol v0.131.0
go.opentelemetry.io/collector/processor v1.37.0
go.opentelemetry.io/collector/processor/batchprocessor v0.131.0
go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.131.0
go.opentelemetry.io/collector/receiver v1.37.0
go.opentelemetry.io/collector/receiver/nopreceiver v0.131.0
go.opentelemetry.io/collector/receiver/otlpreceiver v0.131.0
golang.org/x/sys v0.34.0
)
require (
github.com/beorn7/perks v1.0.1 // indirect
github.com/cenkalti/backoff/v5 v5.0.2 // indirect
github.com/cenkalti/backoff/v5 v5.0.3 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/ebitengine/purego v0.8.4 // indirect
@ -46,13 +46,12 @@ require (
github.com/go-logr/logr v1.4.3 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-ole/go-ole v1.2.6 // indirect
github.com/go-viper/mapstructure/v2 v2.3.0 // indirect
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/snappy v1.0.0 // indirect
github.com/google/go-tpm v0.9.5 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 // indirect
github.com/hashicorp/go-version v1.7.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
@ -60,12 +59,12 @@ require (
github.com/klauspost/compress v1.18.0 // indirect
github.com/knadh/koanf/maps v0.1.2 // indirect
github.com/knadh/koanf/providers/confmap v1.0.0 // indirect
github.com/knadh/koanf/v2 v2.2.1 // indirect
github.com/knadh/koanf/v2 v2.2.2 // indirect
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
github.com/mostynb/go-grpc-compression v1.2.3 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/pierrec/lz4/v4 v4.1.22 // indirect
@ -74,7 +73,6 @@ require (
github.com/prometheus/client_golang v1.22.0 // indirect
github.com/prometheus/client_model v0.6.2 // indirect
github.com/prometheus/common v0.65.0 // indirect
github.com/prometheus/otlptranslator v0.0.0-20250717125610-8549f4ab4f8f // indirect
github.com/prometheus/procfs v0.17.0 // indirect
github.com/rs/cors v1.11.1 // indirect
github.com/shirou/gopsutil/v4 v4.25.6 // indirect
@ -85,62 +83,62 @@ require (
github.com/tklauser/numcpus v0.6.1 // indirect
github.com/yusufpapurcu/wmi v1.2.4 // indirect
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
go.opentelemetry.io/collector v0.130.1 // indirect
go.opentelemetry.io/collector/client v1.36.1 // indirect
go.opentelemetry.io/collector/component/componentstatus v0.130.1 // indirect
go.opentelemetry.io/collector/component/componenttest v0.130.1 // indirect
go.opentelemetry.io/collector/config/configauth v0.130.1 // indirect
go.opentelemetry.io/collector/config/configcompression v1.36.1 // indirect
go.opentelemetry.io/collector/config/configgrpc v0.130.1 // indirect
go.opentelemetry.io/collector/config/confighttp v0.130.1 // indirect
go.opentelemetry.io/collector/config/configmiddleware v0.130.1 // indirect
go.opentelemetry.io/collector/config/confignet v1.36.1 // indirect
go.opentelemetry.io/collector/config/configopaque v1.36.1 // indirect
go.opentelemetry.io/collector/config/configoptional v0.130.1 // indirect
go.opentelemetry.io/collector/config/configretry v1.36.1 // indirect
go.opentelemetry.io/collector/config/configtelemetry v0.130.1 // indirect
go.opentelemetry.io/collector/config/configtls v1.36.1 // indirect
go.opentelemetry.io/collector/confmap/xconfmap v0.130.1 // indirect
go.opentelemetry.io/collector/connector/connectortest v0.130.1 // indirect
go.opentelemetry.io/collector/connector/xconnector v0.130.1 // indirect
go.opentelemetry.io/collector/consumer v1.36.1 // indirect
go.opentelemetry.io/collector/consumer/consumererror v0.130.1 // indirect
go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.130.1 // indirect
go.opentelemetry.io/collector/consumer/consumertest v0.130.1 // indirect
go.opentelemetry.io/collector/consumer/xconsumer v0.130.1 // indirect
go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.130.1 // indirect
go.opentelemetry.io/collector/exporter/exportertest v0.130.1 // indirect
go.opentelemetry.io/collector/exporter/xexporter v0.130.1 // indirect
go.opentelemetry.io/collector/extension/extensionauth v1.36.1 // indirect
go.opentelemetry.io/collector/extension/extensioncapabilities v0.130.1 // indirect
go.opentelemetry.io/collector/extension/extensionmiddleware v0.130.1 // indirect
go.opentelemetry.io/collector/extension/extensiontest v0.130.1 // indirect
go.opentelemetry.io/collector/extension/xextension v0.130.1 // indirect
go.opentelemetry.io/collector/featuregate v1.36.1 // indirect
go.opentelemetry.io/collector/internal/fanoutconsumer v0.130.1 // indirect
go.opentelemetry.io/collector/internal/memorylimiter v0.130.1 // indirect
go.opentelemetry.io/collector/internal/sharedcomponent v0.130.1 // indirect
go.opentelemetry.io/collector/internal/telemetry v0.130.1 // indirect
go.opentelemetry.io/collector/pdata v1.36.1 // indirect
go.opentelemetry.io/collector/pdata/pprofile v0.130.1 // indirect
go.opentelemetry.io/collector/pdata/testdata v0.130.1 // indirect
go.opentelemetry.io/collector/pdata/xpdata v0.130.1 // indirect
go.opentelemetry.io/collector/pipeline v0.130.1 // indirect
go.opentelemetry.io/collector/pipeline/xpipeline v0.130.1 // indirect
go.opentelemetry.io/collector/processor/processorhelper v0.130.1 // indirect
go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper v0.130.1 // indirect
go.opentelemetry.io/collector/processor/processortest v0.130.1 // indirect
go.opentelemetry.io/collector/processor/xprocessor v0.130.1 // indirect
go.opentelemetry.io/collector/receiver/receiverhelper v0.130.1 // indirect
go.opentelemetry.io/collector/receiver/receivertest v0.130.1 // indirect
go.opentelemetry.io/collector/receiver/xreceiver v0.130.1 // indirect
go.opentelemetry.io/collector/service v0.130.1 // indirect
go.opentelemetry.io/collector/service/hostcapabilities v0.130.1 // indirect
go.opentelemetry.io/collector v0.131.0 // indirect
go.opentelemetry.io/collector/client v1.37.0 // indirect
go.opentelemetry.io/collector/component/componentstatus v0.131.0 // indirect
go.opentelemetry.io/collector/component/componenttest v0.131.0 // indirect
go.opentelemetry.io/collector/config/configauth v0.131.0 // indirect
go.opentelemetry.io/collector/config/configcompression v1.37.0 // indirect
go.opentelemetry.io/collector/config/configgrpc v0.131.0 // indirect
go.opentelemetry.io/collector/config/confighttp v0.131.0 // indirect
go.opentelemetry.io/collector/config/configmiddleware v0.131.0 // indirect
go.opentelemetry.io/collector/config/confignet v1.37.0 // indirect
go.opentelemetry.io/collector/config/configopaque v1.37.0 // indirect
go.opentelemetry.io/collector/config/configoptional v0.131.0 // indirect
go.opentelemetry.io/collector/config/configretry v1.37.0 // indirect
go.opentelemetry.io/collector/config/configtelemetry v0.131.0 // indirect
go.opentelemetry.io/collector/config/configtls v1.37.0 // indirect
go.opentelemetry.io/collector/confmap/xconfmap v0.131.0 // indirect
go.opentelemetry.io/collector/connector/connectortest v0.131.0 // indirect
go.opentelemetry.io/collector/connector/xconnector v0.131.0 // indirect
go.opentelemetry.io/collector/consumer v1.37.0 // indirect
go.opentelemetry.io/collector/consumer/consumererror v0.131.0 // indirect
go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.131.0 // indirect
go.opentelemetry.io/collector/consumer/consumertest v0.131.0 // indirect
go.opentelemetry.io/collector/consumer/xconsumer v0.131.0 // indirect
go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.131.0 // indirect
go.opentelemetry.io/collector/exporter/exportertest v0.131.0 // indirect
go.opentelemetry.io/collector/exporter/xexporter v0.131.0 // indirect
go.opentelemetry.io/collector/extension/extensionauth v1.37.0 // indirect
go.opentelemetry.io/collector/extension/extensioncapabilities v0.131.0 // indirect
go.opentelemetry.io/collector/extension/extensionmiddleware v0.131.0 // indirect
go.opentelemetry.io/collector/extension/extensiontest v0.131.0 // indirect
go.opentelemetry.io/collector/extension/xextension v0.131.0 // indirect
go.opentelemetry.io/collector/featuregate v1.37.0 // indirect
go.opentelemetry.io/collector/internal/fanoutconsumer v0.131.0 // indirect
go.opentelemetry.io/collector/internal/memorylimiter v0.131.0 // indirect
go.opentelemetry.io/collector/internal/sharedcomponent v0.131.0 // indirect
go.opentelemetry.io/collector/internal/telemetry v0.131.0 // indirect
go.opentelemetry.io/collector/pdata v1.37.0 // indirect
go.opentelemetry.io/collector/pdata/pprofile v0.131.0 // indirect
go.opentelemetry.io/collector/pdata/testdata v0.131.0 // indirect
go.opentelemetry.io/collector/pdata/xpdata v0.131.0 // indirect
go.opentelemetry.io/collector/pipeline v0.131.0 // indirect
go.opentelemetry.io/collector/pipeline/xpipeline v0.131.0 // indirect
go.opentelemetry.io/collector/processor/processorhelper v0.131.0 // indirect
go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper v0.131.0 // indirect
go.opentelemetry.io/collector/processor/processortest v0.131.0 // indirect
go.opentelemetry.io/collector/processor/xprocessor v0.131.0 // indirect
go.opentelemetry.io/collector/receiver/receiverhelper v0.131.0 // indirect
go.opentelemetry.io/collector/receiver/receivertest v0.131.0 // indirect
go.opentelemetry.io/collector/receiver/xreceiver v0.131.0 // indirect
go.opentelemetry.io/collector/service v0.131.0 // indirect
go.opentelemetry.io/collector/service/hostcapabilities v0.131.0 // indirect
go.opentelemetry.io/contrib/bridges/otelzap v0.12.0 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.62.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0 // indirect
go.opentelemetry.io/contrib/otelconf v0.17.0 // indirect
go.opentelemetry.io/contrib/propagators/b3 v1.37.0 // indirect
go.opentelemetry.io/contrib/otelconf v0.16.0 // indirect
go.opentelemetry.io/contrib/propagators/b3 v1.36.0 // indirect
go.opentelemetry.io/contrib/zpages v0.62.0 // indirect
go.opentelemetry.io/otel v1.37.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.13.0 // indirect
@ -150,7 +148,7 @@ require (
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.37.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.37.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.37.0 // indirect
go.opentelemetry.io/otel/exporters/prometheus v0.59.1 // indirect
go.opentelemetry.io/otel/exporters/prometheus v0.58.0 // indirect
go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.13.0 // indirect
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.37.0 // indirect
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.37.0 // indirect
@ -164,14 +162,14 @@ require (
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
go.yaml.in/yaml/v3 v3.0.4 // indirect
golang.org/x/crypto v0.39.0 // indirect
golang.org/x/crypto v0.40.0 // indirect
golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect
golang.org/x/net v0.41.0 // indirect
golang.org/x/text v0.26.0 // indirect
golang.org/x/net v0.42.0 // indirect
golang.org/x/text v0.27.0 // indirect
gonum.org/v1/gonum v0.16.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect
google.golang.org/grpc v1.73.0 // indirect
google.golang.org/grpc v1.74.2 // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
sigs.k8s.io/yaml v1.5.0 // indirect

47
cmd/otelcorecol/go.sum generated
View File

@ -1,7 +1,7 @@
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/cenkalti/backoff/v5 v5.0.2 h1:rIfFVxEf1QsI7E1ZHfp/B4DF/6QBAUhmgkxc0H7Zss8=
github.com/cenkalti/backoff/v5 v5.0.2/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw=
github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM=
github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw=
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
@ -25,8 +25,8 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
github.com/go-viper/mapstructure/v2 v2.3.0 h1:27XbWsHIqhbdR5TIC911OfYvgSaW93HM+dX7970Q7jk=
github.com/go-viper/mapstructure/v2 v2.3.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
@ -45,8 +45,6 @@ github.com/google/go-tpm-tools v0.4.4/go.mod h1:T8jXkp2s+eltnCDIsXR84/MTcVU9Ja7b
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc h1:GN2Lv3MGO7AS6PrRoT6yV5+wkrOpcszoIsO4+4ds248=
github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc/go.mod h1:+JKpmjMGhpgPL+rXZ5nsZieVzvarn86asRlBg4uNGnk=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 h1:X5VWvz21y3gzm9Nw/kaUeku/1+uBhcekkmy4IkffJww=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1/go.mod h1:Zanoh4+gvIgluNqcfMVTJueD4wSS5hT7zTt4Mrutd90=
github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY=
@ -63,8 +61,8 @@ github.com/knadh/koanf/maps v0.1.2 h1:RBfmAW5CnZT+PJ1CVc1QSJKf4Xu9kxfQgYVQSu8hpb
github.com/knadh/koanf/maps v0.1.2/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI=
github.com/knadh/koanf/providers/confmap v1.0.0 h1:mHKLJTE7iXEys6deO5p6olAiZdG5zwp8Aebir+/EaRE=
github.com/knadh/koanf/providers/confmap v1.0.0/go.mod h1:txHYHiI2hAtF0/0sCmcuol4IDcuQbKTybiB1nOcUo1A=
github.com/knadh/koanf/v2 v2.2.1 h1:jaleChtw85y3UdBnI0wCqcg1sj1gPoz6D3caGNHtrNE=
github.com/knadh/koanf/v2 v2.2.1/go.mod h1:PSFru3ufQgTsI7IF+95rf9s8XA1+aHxKuO/W+dPoHEY=
github.com/knadh/koanf/v2 v2.2.2 h1:ghbduIkpFui3L587wavneC9e3WIliCgiCgdxYO/wd7A=
github.com/knadh/koanf/v2 v2.2.2/go.mod h1:abWQc0cBXLSF/PSOMCB/SK+T13NXDsPvOksbpi5e/9Q=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
@ -80,8 +78,9 @@ github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/mostynb/go-grpc-compression v1.2.3 h1:42/BKWMy0KEJGSdWvzqIyOZ95YcR9mLPqKctH7Uo//I=
github.com/mostynb/go-grpc-compression v1.2.3/go.mod h1:AghIxF3P57umzqM9yz795+y1Vjs47Km/Y2FE6ouQ7Lg=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
@ -98,8 +97,6 @@ github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNw
github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE=
github.com/prometheus/common v0.65.0 h1:QDwzd+G1twt//Kwj/Ww6E9FQq1iVMmODnILtW1t2VzE=
github.com/prometheus/common v0.65.0/go.mod h1:0gZns+BLRQ3V6NdaerOhMbwwRbNh9hkGINtQAsP5GS8=
github.com/prometheus/otlptranslator v0.0.0-20250717125610-8549f4ab4f8f h1:QQB6SuvGZjK8kdc2YaLJpYhV8fxauOsjE6jgcL6YJ8Q=
github.com/prometheus/otlptranslator v0.0.0-20250717125610-8549f4ab4f8f/go.mod h1:P8AwMgdD7XEr6QRUJ2QWLpiAZTgTE2UYgjlu3svompI=
github.com/prometheus/procfs v0.17.0 h1:FuLQ+05u4ZI+SS/w9+BWEM2TXiHKsUQ9TADiRH7DuK0=
github.com/prometheus/procfs v0.17.0/go.mod h1:oPQLaDAMRbA+u8H5Pbfq+dl3VDAvHxMUOVhe0wYB2zw=
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
@ -133,10 +130,10 @@ go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.6
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.62.0/go.mod h1:ru6KHrNtNHxM4nD/vd6QrLVWgKhxPYgblq4VAtNawTQ=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0 h1:Hf9xI/XLML9ElpiHVDNwvqI0hIFlzV8dgIr35kV1kRU=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0/go.mod h1:NfchwuyNoMcZ5MLHwPrODwUF1HWCXWrL31s8gSAdIKY=
go.opentelemetry.io/contrib/otelconf v0.17.0 h1:Yh9uifPSe8yiksLshMbeAXGm/ZRmo7LD7Di+/yd1L5w=
go.opentelemetry.io/contrib/otelconf v0.17.0/go.mod h1:8dHKS6uMiZlvmrA7MGUtb4HwnX+ukdF5iS3p2UPKvLE=
go.opentelemetry.io/contrib/propagators/b3 v1.37.0 h1:0aGKdIuVhy5l4GClAjl72ntkZJhijf2wg1S7b5oLoYA=
go.opentelemetry.io/contrib/propagators/b3 v1.37.0/go.mod h1:nhyrxEJEOQdwR15zXrCKI6+cJK60PXAkJ/jRyfhr2mg=
go.opentelemetry.io/contrib/otelconf v0.16.0 h1:mTYGRlZtpc/zDaTaUQSnsZ1hyoRONaS4Od/Ny5++lhE=
go.opentelemetry.io/contrib/otelconf v0.16.0/go.mod h1:gnsljuyDyVDg39vUvXKj0BVCiVaokN3b8N5BL/ab8fQ=
go.opentelemetry.io/contrib/propagators/b3 v1.36.0 h1:xrAb/G80z/l5JL6XlmUMSD1i6W8vXkWrLfmkD3w/zZo=
go.opentelemetry.io/contrib/propagators/b3 v1.36.0/go.mod h1:UREJtqioFu5awNaCR8aEx7MfJROFlAWb6lPaJFbHaG0=
go.opentelemetry.io/contrib/zpages v0.62.0 h1:9fUYTLmrK0x/lweM2uM+BOx069jLx8PxVqWhegGJ9Bo=
go.opentelemetry.io/contrib/zpages v0.62.0/go.mod h1:C8kXoiC1Ytvereztus2R+kqdSa6W/MZ8FfS8Zwj+LiM=
go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ=
@ -155,8 +152,8 @@ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.37.0 h1:EtFWS
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.37.0/go.mod h1:QjUEoiGCPkvFZ/MjK6ZZfNOS6mfVEVKYE99dFhuN2LI=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.37.0 h1:bDMKF3RUSxshZ5OjOTi8rsHGaPKsAt76FaqgvIUySLc=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.37.0/go.mod h1:dDT67G/IkA46Mr2l9Uj7HsQVwsjASyV9SjGofsiUZDA=
go.opentelemetry.io/otel/exporters/prometheus v0.59.1 h1:HcpSkTkJbggT8bjYP+BjyqPWlD17BH9C5CYNKeDzmcA=
go.opentelemetry.io/otel/exporters/prometheus v0.59.1/go.mod h1:0FJL+gjuUoM07xzik3KPBaN+nz/CoB15kV6WLMiXZag=
go.opentelemetry.io/otel/exporters/prometheus v0.58.0 h1:CJAxWKFIqdBennqxJyOgnt5LqkeFRT+Mz3Yjz3hL+h8=
go.opentelemetry.io/otel/exporters/prometheus v0.58.0/go.mod h1:7qo/4CLI+zYSNbv0GMNquzuss2FVZo3OYrGh96n4HNc=
go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.13.0 h1:yEX3aC9KDgvYPhuKECHbOlr5GLwH6KTjLJ1sBSkkxkc=
go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.13.0/go.mod h1:/GXR0tBmmkxDaCUGahvksvp66mx4yh5+cFXgSlhg0vQ=
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.37.0 h1:6VjV6Et+1Hd2iLZEPtdV7vie80Yyqf7oikJLjQ/myi0=
@ -192,8 +189,8 @@ go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM=
golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U=
golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM=
golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY=
golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM=
golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
@ -202,8 +199,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs=
golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -218,8 +215,8 @@ golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA=
golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4=
golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
@ -234,8 +231,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 h1:
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822/go.mod h1:h3c4v36UTKzUiuaOKQ6gr3S+0hovBtUrXzTG/i3+XEc=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 h1:fc6jSaCT0vBduLYZHYrBBNY4dsWuvgyff9noRNDdBeE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok=
google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc=
google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4=
google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

View File

@ -20,7 +20,7 @@ func main() {
info := component.BuildInfo{
Command: "otelcorecol",
Description: "Local OpenTelemetry Collector binary, testing only.",
Version: "0.130.1-dev",
Version: "0.131.0-dev",
}
set := otelcol.CollectorSettings{
@ -38,11 +38,11 @@ func main() {
},
},
ProviderModules: map[string]string{
envprovider.NewFactory().Create(confmap.ProviderSettings{}).Scheme(): "go.opentelemetry.io/collector/confmap/provider/envprovider v1.36.1",
fileprovider.NewFactory().Create(confmap.ProviderSettings{}).Scheme(): "go.opentelemetry.io/collector/confmap/provider/fileprovider v1.36.1",
httpprovider.NewFactory().Create(confmap.ProviderSettings{}).Scheme(): "go.opentelemetry.io/collector/confmap/provider/httpprovider v1.36.1",
httpsprovider.NewFactory().Create(confmap.ProviderSettings{}).Scheme(): "go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.36.1",
yamlprovider.NewFactory().Create(confmap.ProviderSettings{}).Scheme(): "go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.36.1",
envprovider.NewFactory().Create(confmap.ProviderSettings{}).Scheme(): "go.opentelemetry.io/collector/confmap/provider/envprovider v1.37.0",
fileprovider.NewFactory().Create(confmap.ProviderSettings{}).Scheme(): "go.opentelemetry.io/collector/confmap/provider/fileprovider v1.37.0",
httpprovider.NewFactory().Create(confmap.ProviderSettings{}).Scheme(): "go.opentelemetry.io/collector/confmap/provider/httpprovider v1.37.0",
httpsprovider.NewFactory().Create(confmap.ProviderSettings{}).Scheme(): "go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.37.0",
yamlprovider.NewFactory().Create(confmap.ProviderSettings{}).Scheme(): "go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.37.0",
},
ConverterModules: []string{},
}

View File

@ -4,8 +4,8 @@ go 1.23.0
require (
github.com/stretchr/testify v1.10.0
go.opentelemetry.io/collector/component v1.36.1
go.opentelemetry.io/collector/pipeline v0.130.1
go.opentelemetry.io/collector/component v1.37.0
go.opentelemetry.io/collector/pipeline v0.131.0
)
require (
@ -15,11 +15,14 @@ require (
github.com/gogo/protobuf v1.3.2 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/hashicorp/go-version v1.7.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
go.opentelemetry.io/collector/featuregate v1.36.1 // indirect
go.opentelemetry.io/collector/internal/telemetry v0.130.1 // indirect
go.opentelemetry.io/collector/pdata v1.36.1 // indirect
go.opentelemetry.io/collector/featuregate v1.37.0 // indirect
go.opentelemetry.io/collector/internal/telemetry v0.131.0 // indirect
go.opentelemetry.io/collector/pdata v1.37.0 // indirect
go.opentelemetry.io/contrib/bridges/otelzap v0.12.0 // indirect
go.opentelemetry.io/otel v1.37.0 // indirect
go.opentelemetry.io/otel/log v0.13.0 // indirect
@ -28,11 +31,11 @@ require (
go.opentelemetry.io/otel/trace v1.37.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/net v0.39.0 // indirect
golang.org/x/net v0.40.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/text v0.24.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 // indirect
google.golang.org/grpc v1.73.0 // indirect
golang.org/x/text v0.25.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect
google.golang.org/grpc v1.74.2 // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@ -1,3 +1,4 @@
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
@ -11,20 +12,31 @@ github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY=
github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@ -62,8 +74,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -74,8 +86,8 @@ golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
@ -84,10 +96,10 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 h1:e0AIkUUhxyBKh6ssZNrAMeqhA7RKUj42346d1y02i2g=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok=
google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4=
google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

View File

@ -106,8 +106,8 @@ func Test_ReportStatus(t *testing.T) {
}
var (
_ = (component.Host)(nil)
_ = (Reporter)(nil)
_ = component.Host(nil)
_ = Reporter(nil)
)
type reporter struct {
@ -122,7 +122,7 @@ func (r *reporter) Report(_ *Event) {
r.reportStatusCalled = true
}
var _ = (component.Host)(nil)
var _ = component.Host(nil)
type host struct {
reportStatusCalled bool

View File

@ -4,8 +4,8 @@ go 1.23.0
require (
github.com/stretchr/testify v1.10.0
go.opentelemetry.io/collector/component v1.36.1
go.opentelemetry.io/collector/pdata v1.36.1
go.opentelemetry.io/collector/component v1.37.0
go.opentelemetry.io/collector/pdata v1.37.0
go.opentelemetry.io/otel/metric v1.37.0
go.opentelemetry.io/otel/sdk v1.37.0
go.opentelemetry.io/otel/sdk/metric v1.37.0
@ -22,18 +22,21 @@ require (
github.com/gogo/protobuf v1.3.2 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/hashicorp/go-version v1.7.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
go.opentelemetry.io/collector/featuregate v1.36.1 // indirect
go.opentelemetry.io/collector/internal/telemetry v0.130.1 // indirect
go.opentelemetry.io/collector/featuregate v1.37.0 // indirect
go.opentelemetry.io/collector/internal/telemetry v0.131.0 // indirect
go.opentelemetry.io/contrib/bridges/otelzap v0.12.0 // indirect
go.opentelemetry.io/otel v1.37.0 // indirect
go.opentelemetry.io/otel/log v0.13.0 // indirect
golang.org/x/net v0.39.0 // indirect
golang.org/x/net v0.40.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/text v0.24.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 // indirect
google.golang.org/grpc v1.73.0 // indirect
golang.org/x/text v0.25.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect
google.golang.org/grpc v1.74.2 // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@ -1,3 +1,4 @@
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
@ -11,20 +12,31 @@ github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY=
github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@ -62,8 +74,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -74,8 +86,8 @@ golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
@ -84,10 +96,10 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 h1:e0AIkUUhxyBKh6ssZNrAMeqhA7RKUj42346d1y02i2g=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok=
google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4=
google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

View File

@ -4,7 +4,7 @@ go 1.23.0
require (
github.com/stretchr/testify v1.10.0
go.opentelemetry.io/collector/internal/telemetry v0.130.1
go.opentelemetry.io/collector/internal/telemetry v0.131.0
go.uber.org/goleak v1.3.0
)
@ -15,10 +15,13 @@ require (
github.com/gogo/protobuf v1.3.2 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/hashicorp/go-version v1.7.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
go.opentelemetry.io/collector/featuregate v1.36.1 // indirect
go.opentelemetry.io/collector/pdata v1.36.1 // indirect
go.opentelemetry.io/collector/featuregate v1.37.0 // indirect
go.opentelemetry.io/collector/pdata v1.37.0 // indirect
go.opentelemetry.io/contrib/bridges/otelzap v0.12.0 // indirect
go.opentelemetry.io/otel v1.37.0 // indirect
go.opentelemetry.io/otel/log v0.13.0 // indirect
@ -27,11 +30,11 @@ require (
go.opentelemetry.io/otel/trace v1.37.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/net v0.39.0 // indirect
golang.org/x/net v0.40.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/text v0.24.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 // indirect
google.golang.org/grpc v1.73.0 // indirect
golang.org/x/text v0.25.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect
google.golang.org/grpc v1.74.2 // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

28
component/go.sum generated
View File

@ -1,3 +1,4 @@
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
@ -11,20 +12,31 @@ github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY=
github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@ -62,8 +74,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -74,8 +86,8 @@ golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
@ -84,10 +96,10 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 h1:e0AIkUUhxyBKh6ssZNrAMeqhA7RKUj42346d1y02i2g=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok=
google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4=
google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

View File

@ -4,6 +4,7 @@
package component // import "go.opentelemetry.io/collector/component"
import (
"encoding"
"errors"
"fmt"
"regexp"
@ -49,7 +50,7 @@ func (t Type) MarshalText() ([]byte, error) {
// - start with an ASCII alphabetic character and
// - can only contain ASCII alphanumeric characters and '_'.
func NewType(ty string) (Type, error) {
if len(ty) == 0 {
if ty == "" {
return Type{}, errors.New("id must not be empty")
}
if !typeRegexp.MatchString(ty) {
@ -71,6 +72,12 @@ func MustNewType(strType string) Type {
return ty
}
var (
_ fmt.Stringer = ID{}
_ encoding.TextMarshaler = ID{}
_ encoding.TextUnmarshaler = (*ID)(nil)
)
// ID represents the identity for a component. It combines two values:
// * type - the Type of the component.
// * name - the name of that component.
@ -100,7 +107,7 @@ func NewIDWithName(typeVal Type, nameVal string) ID {
// MustNewIDWithName builds a Type and returns a new ID with the given Type and name.
// This is equivalent to NewIDWithName(MustNewType(typeVal), nameVal).
// See MustNewType to check the valid values of typeVal.
func MustNewIDWithName(typeVal string, nameVal string) ID {
func MustNewIDWithName(typeVal, nameVal string) ID {
return NewIDWithName(MustNewType(typeVal), nameVal)
}
@ -116,7 +123,7 @@ func (id ID) Name() string {
// MarshalText implements the encoding.TextMarshaler interface.
// This marshals the type and name as one string in the config.
func (id ID) MarshalText() (text []byte, err error) {
func (id ID) MarshalText() ([]byte, error) {
return []byte(id.String()), nil
}

View File

@ -0,0 +1,64 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
package component_test
import (
"fmt"
"go.opentelemetry.io/collector/component"
)
func ExampleNewType() {
t, err := component.NewType("exampleexporter")
if err != nil {
fmt.Println("error:", err)
return
}
fmt.Println(t.String())
// Output:
// exampleexporter
}
func ExampleMustNewType() {
t := component.MustNewType("examplereceiver")
fmt.Println(t.String())
// Output:
// examplereceiver
}
func ExampleNewID() {
t := component.MustNewType("exampleprocessor")
id := component.NewID(t)
fmt.Println(id.String())
// Output:
// exampleprocessor
}
func ExampleMustNewID() {
id := component.MustNewID("examplereceiver")
fmt.Println(id.String())
// Output:
// examplereceiver
}
func ExampleNewIDWithName() {
t := component.MustNewType("exampleexporter")
id := component.NewIDWithName(t, "customname")
fmt.Println(id.String())
// Output:
// exampleexporter/customname
}
func ExampleMustNewIDWithName() {
id := component.MustNewIDWithName("exampleprocessor", "customproc")
fmt.Println(id.String())
// Output:
// exampleprocessor/customproc
}

View File

@ -4,10 +4,10 @@ go 1.23.0
require (
github.com/stretchr/testify v1.10.0
go.opentelemetry.io/collector/component v1.36.1
go.opentelemetry.io/collector/extension v1.36.1
go.opentelemetry.io/collector/extension/extensionauth v1.36.1
go.opentelemetry.io/collector/extension/extensionauth/extensionauthtest v0.130.1
go.opentelemetry.io/collector/component v1.37.0
go.opentelemetry.io/collector/extension v1.37.0
go.opentelemetry.io/collector/extension/extensionauth v1.37.0
go.opentelemetry.io/collector/extension/extensionauth/extensionauthtest v0.131.0
go.uber.org/goleak v1.3.0
)
@ -18,11 +18,14 @@ require (
github.com/gogo/protobuf v1.3.2 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/hashicorp/go-version v1.7.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
go.opentelemetry.io/collector/featuregate v1.36.1 // indirect
go.opentelemetry.io/collector/internal/telemetry v0.130.1 // indirect
go.opentelemetry.io/collector/pdata v1.36.1 // indirect
go.opentelemetry.io/collector/featuregate v1.37.0 // indirect
go.opentelemetry.io/collector/internal/telemetry v0.131.0 // indirect
go.opentelemetry.io/collector/pdata v1.37.0 // indirect
go.opentelemetry.io/contrib/bridges/otelzap v0.12.0 // indirect
go.opentelemetry.io/otel v1.37.0 // indirect
go.opentelemetry.io/otel/log v0.13.0 // indirect
@ -31,11 +34,11 @@ require (
go.opentelemetry.io/otel/trace v1.37.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/net v0.39.0 // indirect
golang.org/x/net v0.40.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/text v0.24.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 // indirect
google.golang.org/grpc v1.73.0 // indirect
golang.org/x/text v0.25.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect
google.golang.org/grpc v1.74.2 // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@ -1,3 +1,4 @@
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
@ -11,20 +12,31 @@ github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY=
github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@ -62,8 +74,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -74,8 +86,8 @@ golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
@ -84,10 +96,10 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 h1:e0AIkUUhxyBKh6ssZNrAMeqhA7RKUj42346d1y02i2g=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok=
google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4=
google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

View File

@ -112,10 +112,6 @@ type ClientConfig struct {
Middlewares []configmiddleware.Config `mapstructure:"middlewares,omitempty"`
}
func ptr[T any](v T) *T {
return &v
}
// NewDefaultClientConfig returns a new instance of ClientConfig with default values.
func NewDefaultClientConfig() ClientConfig {
return ClientConfig{
@ -127,8 +123,8 @@ func NewDefaultClientConfig() ClientConfig {
// KeepaliveServerConfig is the configuration for keepalive.
type KeepaliveServerConfig struct {
ServerParameters *KeepaliveServerParameters `mapstructure:"server_parameters,omitempty"`
EnforcementPolicy *KeepaliveEnforcementPolicy `mapstructure:"enforcement_policy,omitempty"`
ServerParameters configoptional.Optional[KeepaliveServerParameters] `mapstructure:"server_parameters,omitempty"`
EnforcementPolicy configoptional.Optional[KeepaliveEnforcementPolicy] `mapstructure:"enforcement_policy,omitempty"`
// prevent unkeyed literal initialization
_ struct{}
}
@ -136,8 +132,8 @@ type KeepaliveServerConfig struct {
// NewDefaultKeepaliveServerConfig returns a new instance of KeepaliveServerConfig with default values.
func NewDefaultKeepaliveServerConfig() KeepaliveServerConfig {
return KeepaliveServerConfig{
ServerParameters: ptr(NewDefaultKeepaliveServerParameters()),
EnforcementPolicy: ptr(NewDefaultKeepaliveEnforcementPolicy()),
ServerParameters: configoptional.Some(NewDefaultKeepaliveServerParameters()),
EnforcementPolicy: configoptional.Some(NewDefaultKeepaliveEnforcementPolicy()),
}
}
@ -289,8 +285,7 @@ func (gcs *ClientConfig) addHeadersIfAbsent(ctx context.Context) context.Context
existingMd, _ := metadata.FromOutgoingContext(ctx)
for k, v := range gcs.Headers {
if len(existingMd.Get(k)) == 0 {
kv = append(kv, k)
kv = append(kv, string(v))
kv = append(kv, k, string(v))
}
}
return metadata.AppendToOutgoingContext(ctx, kv...)
@ -359,7 +354,7 @@ func (gcs *ClientConfig) getGrpcDialOptions(
}
if gcs.BalancerName != "" {
opts = append(opts, grpc.WithDefaultServiceConfig(fmt.Sprintf(`{"loadBalancingPolicy":"%s"}`, gcs.BalancerName)))
opts = append(opts, grpc.WithDefaultServiceConfig(fmt.Sprintf(`{"loadBalancingPolicy":%q}`, gcs.BalancerName)))
}
if gcs.Authority != "" {
@ -487,8 +482,8 @@ func (gss *ServerConfig) getGrpcServerOptions(
// https://github.com/grpc/grpc-go/blob/120728e1f775e40a2a764341939b78d666b08260/internal/transport/http2_server.go#L184-L200
if gss.Keepalive.HasValue() {
keepaliveConfig := gss.Keepalive.Get()
if keepaliveConfig.ServerParameters != nil {
svrParams := keepaliveConfig.ServerParameters
if keepaliveConfig.ServerParameters.HasValue() {
svrParams := keepaliveConfig.ServerParameters.Get()
opts = append(opts, grpc.KeepaliveParams(keepalive.ServerParameters{
MaxConnectionIdle: svrParams.MaxConnectionIdle,
MaxConnectionAge: svrParams.MaxConnectionAge,
@ -501,8 +496,8 @@ func (gss *ServerConfig) getGrpcServerOptions(
// to apply them over zero/nil values before passing these as grpc.ServerOptions.
// The following shows the server code for applying default grpc.ServerOptions.
// https://github.com/grpc/grpc-go/blob/120728e1f775e40a2a764341939b78d666b08260/internal/transport/http2_server.go#L202-L205
if keepaliveConfig.EnforcementPolicy != nil {
enfPol := keepaliveConfig.EnforcementPolicy
if keepaliveConfig.EnforcementPolicy.HasValue() {
enfPol := keepaliveConfig.EnforcementPolicy.Get()
opts = append(opts, grpc.KeepaliveEnforcementPolicy(keepalive.EnforcementPolicy{
MinTime: enfPol.MinTime,
PermitWithoutStream: enfPol.PermitWithoutStream,
@ -519,12 +514,8 @@ func (gss *ServerConfig) getGrpcServerOptions(
return nil, err
}
uInterceptors = append(uInterceptors, func(ctx context.Context, req any, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp any, err error) {
return authUnaryServerInterceptor(ctx, req, info, handler, authenticator)
})
sInterceptors = append(sInterceptors, func(srv any, ss grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error {
return authStreamServerInterceptor(srv, ss, info, handler, authenticator)
})
uInterceptors = append(uInterceptors, authUnaryServerInterceptor(authenticator))
sInterceptors = append(sInterceptors, authStreamServerInterceptor(authenticator))
}
otelOpts := []otelgrpc.Option{
@ -574,13 +565,13 @@ func getGRPCCompressionName(compressionType configcompression.Type) (string, err
// enhanceWithClientInformation intercepts the incoming RPC, replacing the incoming context with one that includes
// a client.Info, potentially with the peer's address.
func enhanceWithClientInformation(includeMetadata bool) func(ctx context.Context, req any, _ *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (any, error) {
func enhanceWithClientInformation(includeMetadata bool) grpc.UnaryServerInterceptor {
return func(ctx context.Context, req any, _ *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (any, error) {
return handler(contextWithClient(ctx, includeMetadata), req)
}
}
func enhanceStreamWithClientInformation(includeMetadata bool) func(srv any, ss grpc.ServerStream, _ *grpc.StreamServerInfo, handler grpc.StreamHandler) error {
func enhanceStreamWithClientInformation(includeMetadata bool) grpc.StreamServerInterceptor {
return func(srv any, ss grpc.ServerStream, _ *grpc.StreamServerInfo, handler grpc.StreamHandler) error {
return handler(srv, wrapServerStream(contextWithClient(ss.Context(), includeMetadata), ss))
}
@ -605,31 +596,35 @@ func contextWithClient(ctx context.Context, includeMetadata bool) context.Contex
return client.NewContext(ctx, cl)
}
func authUnaryServerInterceptor(ctx context.Context, req any, _ *grpc.UnaryServerInfo, handler grpc.UnaryHandler, server extensionauth.Server) (any, error) {
headers, ok := metadata.FromIncomingContext(ctx)
if !ok {
return nil, errMetadataNotFound
}
func authUnaryServerInterceptor(server extensionauth.Server) grpc.UnaryServerInterceptor {
return func(ctx context.Context, req any, _ *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (any, error) {
headers, ok := metadata.FromIncomingContext(ctx)
if !ok {
return nil, errMetadataNotFound
}
ctx, err := server.Authenticate(ctx, headers)
if err != nil {
return nil, status.Error(codes.Unauthenticated, err.Error())
}
ctx, err := server.Authenticate(ctx, headers)
if err != nil {
return nil, status.Error(codes.Unauthenticated, err.Error())
}
return handler(ctx, req)
return handler(ctx, req)
}
}
func authStreamServerInterceptor(srv any, stream grpc.ServerStream, _ *grpc.StreamServerInfo, handler grpc.StreamHandler, server extensionauth.Server) error {
ctx := stream.Context()
headers, ok := metadata.FromIncomingContext(ctx)
if !ok {
return errMetadataNotFound
}
func authStreamServerInterceptor(server extensionauth.Server) grpc.StreamServerInterceptor {
return func(srv any, stream grpc.ServerStream, _ *grpc.StreamServerInfo, handler grpc.StreamHandler) error {
ctx := stream.Context()
headers, ok := metadata.FromIncomingContext(ctx)
if !ok {
return errMetadataNotFound
}
ctx, err := server.Authenticate(ctx, headers)
if err != nil {
return status.Error(codes.Unauthenticated, err.Error())
}
ctx, err := server.Authenticate(ctx, headers)
if err != nil {
return status.Error(codes.Unauthenticated, err.Error())
}
return handler(srv, wrapServerStream(ctx, stream))
return handler(srv, wrapServerStream(ctx, stream))
}
}

View File

@ -27,9 +27,10 @@ func BenchmarkCompressors(b *testing.B) {
payloads := setupTestPayloads()
compressors := make([]encoding.Compressor, 0)
compressors = append(compressors, encoding.GetCompressor(gzip.Name))
compressors = append(compressors, encoding.GetCompressor(zstd.Name))
compressors = append(compressors, encoding.GetCompressor(snappy.Name))
compressors = append(compressors,
encoding.GetCompressor(gzip.Name),
encoding.GetCompressor(zstd.Name),
encoding.GetCompressor(snappy.Name))
for _, payload := range payloads {
for _, compressor := range compressors {
@ -114,57 +115,60 @@ func setupTestPayloads() []testPayload {
// log payloads
logMarshaler := &logMarshaler{Marshaler: &plog.ProtoMarshaler{}}
payloads = append(payloads, testPayload{
name: "sm_log_request",
message: testdata.GenerateLogs(1),
marshaler: logMarshaler,
})
payloads = append(payloads, testPayload{
name: "md_log_request",
message: testdata.GenerateLogs(2),
marshaler: logMarshaler,
})
payloads = append(payloads, testPayload{
name: "lg_log_request",
message: testdata.GenerateLogs(50),
marshaler: logMarshaler,
})
payloads = append(payloads,
testPayload{
name: "sm_log_request",
message: testdata.GenerateLogs(1),
marshaler: logMarshaler,
},
testPayload{
name: "md_log_request",
message: testdata.GenerateLogs(2),
marshaler: logMarshaler,
},
testPayload{
name: "lg_log_request",
message: testdata.GenerateLogs(50),
marshaler: logMarshaler,
})
// trace payloads
tracesMarshaler := &traceMarshaler{Marshaler: &ptrace.ProtoMarshaler{}}
payloads = append(payloads, testPayload{
name: "sm_trace_request",
message: testdata.GenerateTraces(1),
marshaler: tracesMarshaler,
})
payloads = append(payloads, testPayload{
name: "md_trace_request",
message: testdata.GenerateTraces(2),
marshaler: tracesMarshaler,
})
payloads = append(payloads, testPayload{
name: "lg_trace_request",
message: testdata.GenerateTraces(50),
marshaler: tracesMarshaler,
})
payloads = append(payloads,
testPayload{
name: "sm_trace_request",
message: testdata.GenerateTraces(1),
marshaler: tracesMarshaler,
},
testPayload{
name: "md_trace_request",
message: testdata.GenerateTraces(2),
marshaler: tracesMarshaler,
},
testPayload{
name: "lg_trace_request",
message: testdata.GenerateTraces(50),
marshaler: tracesMarshaler,
})
// metric payloads
metricsMarshaler := &metricsMarshaler{Marshaler: &pmetric.ProtoMarshaler{}}
payloads = append(payloads, testPayload{
name: "sm_metric_request",
message: testdata.GenerateMetrics(1),
marshaler: metricsMarshaler,
})
payloads = append(payloads, testPayload{
name: "md_metric_request",
message: testdata.GenerateMetrics(2),
marshaler: metricsMarshaler,
})
payloads = append(payloads, testPayload{
name: "lg_metric_request",
message: testdata.GenerateMetrics(50),
marshaler: metricsMarshaler,
})
payloads = append(payloads,
testPayload{
name: "sm_metric_request",
message: testdata.GenerateMetrics(1),
marshaler: metricsMarshaler,
},
testPayload{
name: "md_metric_request",
message: testdata.GenerateMetrics(2),
marshaler: metricsMarshaler,
},
testPayload{
name: "lg_metric_request",
message: testdata.GenerateMetrics(50),
marshaler: metricsMarshaler,
})
return payloads
}

View File

@ -90,8 +90,8 @@ func TestNewDefaultKeepaliveEnforcementPolicy(t *testing.T) {
func TestNewDefaultKeepaliveServerConfig(t *testing.T) {
expected := KeepaliveServerConfig{
ServerParameters: ptr(NewDefaultKeepaliveServerParameters()),
EnforcementPolicy: ptr(NewDefaultKeepaliveEnforcementPolicy()),
ServerParameters: configoptional.Some(NewDefaultKeepaliveServerParameters()),
EnforcementPolicy: configoptional.Some(NewDefaultKeepaliveEnforcementPolicy()),
}
result := NewDefaultKeepaliveServerConfig()
assert.Equal(t, expected, result)
@ -391,17 +391,17 @@ func TestAllGrpcServerSettingsExceptAuth(t *testing.T) {
ReadBufferSize: 1024,
WriteBufferSize: 1024,
Keepalive: configoptional.Some(KeepaliveServerConfig{
ServerParameters: &KeepaliveServerParameters{
ServerParameters: configoptional.Some(KeepaliveServerParameters{
MaxConnectionIdle: time.Second,
MaxConnectionAge: time.Second,
MaxConnectionAgeGrace: time.Second,
Time: time.Second,
Timeout: time.Second,
},
EnforcementPolicy: &KeepaliveEnforcementPolicy{
}),
EnforcementPolicy: configoptional.Some(KeepaliveEnforcementPolicy{
MinTime: time.Second,
PermitWithoutStream: true,
},
}),
}),
}
opts, err := gss.getGrpcServerOptions(context.Background(), componenttest.NewNopHost(), componenttest.NewNopTelemetrySettings(), []ToServerOption{})
@ -888,14 +888,16 @@ func TestStreamInterceptorEnhancesClient(t *testing.T) {
inCtx := peer.NewContext(context.Background(), &peer.Peer{
Addr: &net.IPAddr{IP: net.IPv4(1, 1, 1, 1)},
})
var outContext context.Context
stream := &mockedStream{
ctx: inCtx,
}
var handlerCalled bool
handler := func(_ any, stream grpc.ServerStream) error {
outContext = stream.Context()
handlerCalled = true
cl := client.FromContext(stream.Context())
assert.Equal(t, "1.1.1.1", cl.Addr.String())
return nil
}
@ -904,9 +906,7 @@ func TestStreamInterceptorEnhancesClient(t *testing.T) {
// verify
require.NoError(t, err)
cl := client.FromContext(outContext)
assert.Equal(t, "1.1.1.1", cl.Addr.String())
assert.True(t, handlerCalled, "the handler should have been called")
}
type mockedStream struct {
@ -991,9 +991,10 @@ func TestDefaultUnaryInterceptorAuthSucceeded(t *testing.T) {
return nil, nil
}
ctx := metadata.NewIncomingContext(context.Background(), metadata.Pairs("authorization", "some-auth-data"))
interceptor := authUnaryServerInterceptor(newMockAuthServer(authFunc))
// test
res, err := authUnaryServerInterceptor(ctx, nil, &grpc.UnaryServerInfo{}, handler, newMockAuthServer(authFunc))
res, err := interceptor(ctx, nil, &grpc.UnaryServerInfo{}, handler)
// verify
assert.Nil(t, res)
@ -1015,9 +1016,10 @@ func TestDefaultUnaryInterceptorAuthFailure(t *testing.T) {
return nil, nil
}
ctx := metadata.NewIncomingContext(context.Background(), metadata.Pairs("authorization", "some-auth-data"))
interceptor := authUnaryServerInterceptor(newMockAuthServer(authFunc))
// test
res, err := authUnaryServerInterceptor(ctx, nil, &grpc.UnaryServerInfo{}, handler, newMockAuthServer(authFunc))
res, err := interceptor(ctx, nil, &grpc.UnaryServerInfo{}, handler)
// verify
assert.Nil(t, res)
@ -1036,9 +1038,10 @@ func TestDefaultUnaryInterceptorMissingMetadata(t *testing.T) {
assert.FailNow(t, "the handler should not have been called!")
return nil, nil
}
interceptor := authUnaryServerInterceptor(newMockAuthServer(authFunc))
// test
res, err := authUnaryServerInterceptor(context.Background(), nil, &grpc.UnaryServerInfo{}, handler, newMockAuthServer(authFunc))
res, err := interceptor(context.Background(), nil, &grpc.UnaryServerInfo{}, handler)
// verify
assert.Nil(t, res)
@ -1063,13 +1066,13 @@ func TestDefaultStreamInterceptorAuthSucceeded(t *testing.T) {
handlerCalled = true
return nil
}
ctx := metadata.NewIncomingContext(context.Background(), metadata.Pairs("authorization", "some-auth-data"))
streamServer := &mockServerStream{
ctx: ctx,
ctx: metadata.NewIncomingContext(context.Background(), metadata.Pairs("authorization", "some-auth-data")),
}
interceptor := authStreamServerInterceptor(newMockAuthServer(authFunc))
// test
err := authStreamServerInterceptor(nil, streamServer, &grpc.StreamServerInfo{}, handler, newMockAuthServer(authFunc))
err := interceptor(nil, streamServer, &grpc.StreamServerInfo{}, handler)
// verify
require.NoError(t, err)
@ -1089,13 +1092,13 @@ func TestDefaultStreamInterceptorAuthFailure(t *testing.T) {
assert.FailNow(t, "the handler should not have been called on auth failure!")
return nil
}
ctx := metadata.NewIncomingContext(context.Background(), metadata.Pairs("authorization", "some-auth-data"))
streamServer := &mockServerStream{
ctx: ctx,
ctx: metadata.NewIncomingContext(context.Background(), metadata.Pairs("authorization", "some-auth-data")),
}
interceptor := authStreamServerInterceptor(newMockAuthServer(authFunc))
// test
err := authStreamServerInterceptor(nil, streamServer, &grpc.StreamServerInfo{}, handler, newMockAuthServer(authFunc))
err := interceptor(nil, streamServer, &grpc.StreamServerInfo{}, handler)
// verify
require.ErrorContains(t, err, expectedErr.Error()) // unfortunately, grpc errors don't wrap the original ones
@ -1116,9 +1119,10 @@ func TestDefaultStreamInterceptorMissingMetadata(t *testing.T) {
streamServer := &mockServerStream{
ctx: context.Background(),
}
interceptor := authStreamServerInterceptor(newMockAuthServer(authFunc))
// test
err := authStreamServerInterceptor(nil, streamServer, &grpc.StreamServerInfo{}, handler, newMockAuthServer(authFunc))
err := interceptor(nil, streamServer, &grpc.StreamServerInfo{}, handler)
// verify
assert.Equal(t, errMetadataNotFound, err)

View File

@ -5,27 +5,27 @@ go 1.23.0
require (
github.com/mostynb/go-grpc-compression v1.2.3
github.com/stretchr/testify v1.10.0
go.opentelemetry.io/collector/client v1.36.1
go.opentelemetry.io/collector/component v1.36.1
go.opentelemetry.io/collector/component/componenttest v0.130.1
go.opentelemetry.io/collector/config/configauth v0.130.1
go.opentelemetry.io/collector/config/configcompression v1.36.1
go.opentelemetry.io/collector/config/configmiddleware v0.130.1
go.opentelemetry.io/collector/config/confignet v1.36.1
go.opentelemetry.io/collector/config/configopaque v1.36.1
go.opentelemetry.io/collector/config/configoptional v0.130.1
go.opentelemetry.io/collector/config/configtls v1.36.1
go.opentelemetry.io/collector/extension v1.36.1
go.opentelemetry.io/collector/extension/extensionauth v1.36.1
go.opentelemetry.io/collector/extension/extensionauth/extensionauthtest v0.130.1
go.opentelemetry.io/collector/extension/extensionmiddleware v0.130.1
go.opentelemetry.io/collector/extension/extensionmiddleware/extensionmiddlewaretest v0.130.1
go.opentelemetry.io/collector/pdata v1.36.1
go.opentelemetry.io/collector/pdata/testdata v0.130.1
go.opentelemetry.io/collector/client v1.37.0
go.opentelemetry.io/collector/component v1.37.0
go.opentelemetry.io/collector/component/componenttest v0.131.0
go.opentelemetry.io/collector/config/configauth v0.131.0
go.opentelemetry.io/collector/config/configcompression v1.37.0
go.opentelemetry.io/collector/config/configmiddleware v0.131.0
go.opentelemetry.io/collector/config/confignet v1.37.0
go.opentelemetry.io/collector/config/configopaque v1.37.0
go.opentelemetry.io/collector/config/configoptional v0.131.0
go.opentelemetry.io/collector/config/configtls v1.37.0
go.opentelemetry.io/collector/extension v1.37.0
go.opentelemetry.io/collector/extension/extensionauth v1.37.0
go.opentelemetry.io/collector/extension/extensionauth/extensionauthtest v0.131.0
go.opentelemetry.io/collector/extension/extensionmiddleware v0.131.0
go.opentelemetry.io/collector/extension/extensionmiddleware/extensionmiddlewaretest v0.131.0
go.opentelemetry.io/collector/pdata v1.37.0
go.opentelemetry.io/collector/pdata/testdata v0.131.0
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.62.0
go.opentelemetry.io/otel v1.37.0
go.uber.org/goleak v1.3.0
google.golang.org/grpc v1.73.0
google.golang.org/grpc v1.74.2
)
require (
@ -34,7 +34,7 @@ require (
github.com/fsnotify/fsnotify v1.9.0 // indirect
github.com/go-logr/logr v1.4.3 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-viper/mapstructure/v2 v2.3.0 // indirect
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/snappy v0.0.4 // indirect
@ -45,17 +45,17 @@ require (
github.com/klauspost/compress v1.17.9 // indirect
github.com/knadh/koanf/maps v0.1.2 // indirect
github.com/knadh/koanf/providers/confmap v1.0.0 // indirect
github.com/knadh/koanf/v2 v2.2.1 // indirect
github.com/knadh/koanf/v2 v2.2.2 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
go.opentelemetry.io/collector/confmap v1.36.1 // indirect
go.opentelemetry.io/collector/featuregate v1.36.1 // indirect
go.opentelemetry.io/collector/internal/telemetry v0.130.1 // indirect
go.opentelemetry.io/collector/pdata/pprofile v0.130.1 // indirect
go.opentelemetry.io/collector/confmap v1.37.0 // indirect
go.opentelemetry.io/collector/featuregate v1.37.0 // indirect
go.opentelemetry.io/collector/internal/telemetry v0.131.0 // indirect
go.opentelemetry.io/collector/pdata/pprofile v0.131.0 // indirect
go.opentelemetry.io/contrib/bridges/otelzap v0.12.0 // indirect
go.opentelemetry.io/otel/log v0.13.0 // indirect
go.opentelemetry.io/otel/metric v1.37.0 // indirect

View File

@ -12,8 +12,8 @@ github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/go-viper/mapstructure/v2 v2.3.0 h1:27XbWsHIqhbdR5TIC911OfYvgSaW93HM+dX7970Q7jk=
github.com/go-viper/mapstructure/v2 v2.3.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
@ -43,8 +43,8 @@ github.com/knadh/koanf/maps v0.1.2 h1:RBfmAW5CnZT+PJ1CVc1QSJKf4Xu9kxfQgYVQSu8hpb
github.com/knadh/koanf/maps v0.1.2/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI=
github.com/knadh/koanf/providers/confmap v1.0.0 h1:mHKLJTE7iXEys6deO5p6olAiZdG5zwp8Aebir+/EaRE=
github.com/knadh/koanf/providers/confmap v1.0.0/go.mod h1:txHYHiI2hAtF0/0sCmcuol4IDcuQbKTybiB1nOcUo1A=
github.com/knadh/koanf/v2 v2.2.1 h1:jaleChtw85y3UdBnI0wCqcg1sj1gPoz6D3caGNHtrNE=
github.com/knadh/koanf/v2 v2.2.1/go.mod h1:PSFru3ufQgTsI7IF+95rf9s8XA1+aHxKuO/W+dPoHEY=
github.com/knadh/koanf/v2 v2.2.2 h1:ghbduIkpFui3L587wavneC9e3WIliCgiCgdxYO/wd7A=
github.com/knadh/koanf/v2 v2.2.2/go.mod h1:abWQc0cBXLSF/PSOMCB/SK+T13NXDsPvOksbpi5e/9Q=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
@ -56,8 +56,9 @@ github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/mostynb/go-grpc-compression v1.2.3 h1:42/BKWMy0KEJGSdWvzqIyOZ95YcR9mLPqKctH7Uo//I=
github.com/mostynb/go-grpc-compression v1.2.3/go.mod h1:AghIxF3P57umzqM9yz795+y1Vjs47Km/Y2FE6ouQ7Lg=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
@ -133,8 +134,8 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 h1:fc6jSaCT0vBduLYZHYrBBNY4dsWuvgyff9noRNDdBeE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok=
google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc=
google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4=
google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

View File

@ -56,6 +56,7 @@ README](../configtls/README.md).
- [`idle_conn_timeout`](https://golang.org/pkg/net/http/#Transport)
- [`auth`](../configauth/README.md)
- [`disable_keep_alives`](https://golang.org/pkg/net/http/#Transport)
- [`force_attempt_http2`](https://golang.org/pkg/net/http/#Transport)
- [`http2_read_idle_timeout`](https://pkg.go.dev/golang.org/x/net/http2#Transport)
- [`http2_ping_timeout`](https://pkg.go.dev/golang.org/x/net/http2#Transport)
- [`cookies`](https://pkg.go.dev/net/http#CookieJar)

View File

@ -123,7 +123,7 @@ func TestClientMiddlewares(t *testing.T) {
require.NoError(t, err)
// Create a request to the test server
req, err := http.NewRequest(http.MethodGet, server.URL, nil)
req, err := http.NewRequest(http.MethodGet, server.URL, http.NoBody)
require.NoError(t, err)
// Send the request

View File

@ -38,7 +38,7 @@ func contextWithClient(req *http.Request, includeMetadata bool) context.Context
if includeMetadata {
md := req.Header.Clone()
if len(md.Get(client.MetadataHostName)) == 0 && req.Host != "" {
if md.Get(client.MetadataHostName) == "" && req.Host != "" {
md.Add(client.MetadataHostName, req.Host)
}

View File

@ -14,6 +14,7 @@ import (
"fmt"
"io"
"net/http"
"sync"
"github.com/golang/snappy"
"github.com/klauspost/compress/zstd"
@ -25,7 +26,7 @@ import (
var enableFramedSnappy = featuregate.GlobalRegistry().MustRegister(
"confighttp.framedSnappy",
featuregate.StageAlpha,
featuregate.StageBeta,
featuregate.WithRegisterFromVersion("v0.125.0"),
featuregate.WithRegisterDescription("Content encoding 'snappy' will compress/decompress block snappy format while 'x-snappy-framed' will compress/decompress framed snappy format."),
featuregate.WithRegisterReferenceURL("https://github.com/open-telemetry/opentelemetry-collector/issues/10584"),
@ -38,6 +39,25 @@ type compressRoundTripper struct {
compressor *compressor
}
var zstdReaderPool sync.Pool
type pooledZstdReadCloser struct {
inner *zstd.Decoder
}
func (pzrc *pooledZstdReadCloser) Read(dst []byte) (int, error) {
return pzrc.inner.Read(dst)
}
func (pzrc *pooledZstdReadCloser) Close() error {
err := pzrc.inner.Reset(nil)
if err != nil {
return err
}
zstdReaderPool.Put(pzrc.inner)
return nil
}
var availableDecoders = map[string]func(body io.ReadCloser) (io.ReadCloser, error){
"": func(io.ReadCloser) (io.ReadCloser, error) {
// Not a compressed payload. Nothing to do.
@ -51,18 +71,24 @@ var availableDecoders = map[string]func(body io.ReadCloser) (io.ReadCloser, erro
return gr, nil
},
"zstd": func(body io.ReadCloser) (io.ReadCloser, error) {
zr, err := zstd.NewReader(
body,
v := zstdReaderPool.Get()
var zr *zstd.Decoder
var err error
if v == nil {
// NOTE(tigrannajaryan):
// Concurrency 1 disables async decoding. We don't need async decoding, it is pointless
// for our use-case (a server accepting decoding http requests).
// Disabling async improves performance (I benchmarked it previously when working
// on https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/23257).
zstd.WithDecoderConcurrency(1),
)
zr, err = zstd.NewReader(body, zstd.WithDecoderConcurrency(1))
} else {
zr = v.(*zstd.Decoder)
err = zr.Reset(body)
}
if err != nil {
return nil, err
}
return zr.IOReadCloser(), nil
return &pooledZstdReadCloser{inner: zr}, nil
},
"zlib": func(body io.ReadCloser) (io.ReadCloser, error) {
zr, err := zlib.NewReader(body)

View File

@ -396,7 +396,7 @@ func TestHTTPContentCompressionRequestWithNilBody(t *testing.T) {
}))
defer srv.Close()
req, err := http.NewRequest(http.MethodGet, srv.URL, nil)
req, err := http.NewRequest(http.MethodGet, srv.URL, http.NoBody)
require.NoError(t, err, "failed to create request to test handler")
client := srv.Client()
@ -505,10 +505,15 @@ func TestDecompressorAvoidDecompressionBomb(t *testing.T) {
compress: compressZlib,
},
{
name: "x-snappy-framed",
name: "x-snappy-framed",
encoding: "x-snappy-framed",
compress: compressSnappyFramed,
},
{
name: "x-snappy-not-framed",
encoding: "x-snappy-framed",
compress: compressSnappyFramed,
framedSnappyEnabled: true,
framedSnappyEnabled: false,
},
{
name: "snappy",

View File

@ -119,10 +119,15 @@ type ClientConfig struct {
// Cookies configures the cookie management of the HTTP client.
Cookies CookiesConfig `mapstructure:"cookies,omitempty"`
// Enabling ForceAttemptHTTP2 forces the HTTP transport to use the HTTP/2 protocol.
// By default, this is set to true.
// NOTE: HTTP/2 does not support settings such as MaxConnsPerHost, MaxIdleConnsPerHost and MaxIdleConns.
ForceAttemptHTTP2 bool `mapstructure:"force_attempt_http2,omitempty"`
// Middlewares are used to add custom functionality to the HTTP client.
// Middleware handlers are called in the order they appear in this list,
// with the first middleware becoming the outermost handler.
Middlewares []configmiddleware.Config `mapstructure:"middleware,omitempty"`
Middlewares []configmiddleware.Config `mapstructure:"middlewares,omitempty"`
}
// CookiesConfig defines the configuration of the HTTP client regarding cookies served by the server.
@ -141,9 +146,10 @@ func NewDefaultClientConfig() ClientConfig {
defaultTransport := http.DefaultTransport.(*http.Transport)
return ClientConfig{
Headers: map[string]configopaque.String{},
MaxIdleConns: defaultTransport.MaxIdleConns,
IdleConnTimeout: defaultTransport.IdleConnTimeout,
Headers: map[string]configopaque.String{},
MaxIdleConns: defaultTransport.MaxIdleConns,
IdleConnTimeout: defaultTransport.IdleConnTimeout,
ForceAttemptHTTP2: true,
}
}
@ -184,6 +190,7 @@ func (hcs *ClientConfig) ToClient(ctx context.Context, host component.Host, sett
transport.MaxIdleConnsPerHost = hcs.MaxIdleConnsPerHost
transport.MaxConnsPerHost = hcs.MaxConnsPerHost
transport.IdleConnTimeout = hcs.IdleConnTimeout
transport.ForceAttemptHTTP2 = hcs.ForceAttemptHTTP2
// Setting the Proxy URL
if hcs.ProxyURL != "" {
@ -205,7 +212,7 @@ func (hcs *ClientConfig) ToClient(ctx context.Context, host component.Host, sett
transport2.PingTimeout = hcs.HTTP2PingTimeout
}
clientTransport := (http.RoundTripper)(transport)
clientTransport := http.RoundTripper(transport)
// Apply middlewares in reverse order so they execute in
// forward order. The first middleware runs after authentication.
@ -372,7 +379,7 @@ type ServerConfig struct {
// Middlewares are used to add custom functionality to the HTTP server.
// Middleware handlers are called in the order they appear in this list,
// with the first middleware becoming the outermost handler.
Middlewares []configmiddleware.Config `mapstructure:"middleware,omitempty"`
Middlewares []configmiddleware.Config `mapstructure:"middlewares,omitempty"`
}
// NewDefaultServerConfig returns ServerConfig type object with default values.

View File

@ -28,9 +28,12 @@ import (
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/config/configauth"
"go.opentelemetry.io/collector/config/configcompression"
"go.opentelemetry.io/collector/config/configmiddleware"
"go.opentelemetry.io/collector/config/configopaque"
"go.opentelemetry.io/collector/config/configoptional"
"go.opentelemetry.io/collector/config/configtls"
"go.opentelemetry.io/collector/confmap/confmaptest"
"go.opentelemetry.io/collector/confmap/xconfmap"
"go.opentelemetry.io/collector/extension"
"go.opentelemetry.io/collector/extension/extensionauth"
"go.opentelemetry.io/collector/extension/extensionauth/extensionauthtest"
@ -98,6 +101,28 @@ func TestAllHTTPClientSettings(t *testing.T) {
},
shouldError: false,
},
{
name: "all_valid_settings_http2_enabled",
settings: ClientConfig{
Endpoint: "localhost:1234",
TLS: configtls.ClientConfig{
Insecure: false,
},
ReadBufferSize: 1024,
WriteBufferSize: 512,
MaxIdleConns: maxIdleConns,
MaxIdleConnsPerHost: maxIdleConnsPerHost,
MaxConnsPerHost: maxConnsPerHost,
ForceAttemptHTTP2: true,
IdleConnTimeout: idleConnTimeout,
Compression: "",
DisableKeepAlives: true,
Cookies: CookiesConfig{Enabled: true},
HTTP2ReadIdleTimeout: idleConnTimeout,
HTTP2PingTimeout: http2PingTimeout,
},
shouldError: false,
},
{
name: "all_valid_settings_with_none_compression",
settings: ClientConfig{
@ -696,8 +721,9 @@ func TestHttpReception(t *testing.T) {
}
hcs := &ClientConfig{
Endpoint: prefix + ln.Addr().String(),
TLS: *tt.tlsClientCreds,
Endpoint: prefix + ln.Addr().String(),
TLS: *tt.tlsClientCreds,
ForceAttemptHTTP2: true,
}
client, errClient := hcs.ToClient(context.Background(), componenttest.NewNopHost(), nilProvidersSettings)
@ -864,7 +890,7 @@ func TestHttpCorsWithSettings(t *testing.T) {
require.NotNil(t, srv)
rec := httptest.NewRecorder()
req := httptest.NewRequest(http.MethodOptions, "/", nil)
req := httptest.NewRequest(http.MethodOptions, "/", http.NoBody)
req.Header.Set("Origin", "http://localhost")
req.Header.Set("Access-Control-Request-Method", http.MethodPost)
srv.Handler.ServeHTTP(rec, req)
@ -928,8 +954,8 @@ func TestHttpServerHeaders(t *testing.T) {
}
}
func verifyCorsResp(t *testing.T, url string, origin string, set configoptional.Optional[CORSConfig], extraHeader bool, wantStatus int, wantAllowed bool) {
req, err := http.NewRequest(http.MethodOptions, url, nil)
func verifyCorsResp(t *testing.T, url, origin string, set configoptional.Optional[CORSConfig], extraHeader bool, wantStatus int, wantAllowed bool) {
req, err := http.NewRequest(http.MethodOptions, url, http.NoBody)
require.NoError(t, err, "Error creating trace OPTIONS request: %v", err)
req.Header.Set("Origin", origin)
if extraHeader {
@ -964,7 +990,7 @@ func verifyCorsResp(t *testing.T, url string, origin string, set configoptional.
}
func verifyHeadersResp(t *testing.T, url string, expected map[string]configopaque.String) {
req, err := http.NewRequest(http.MethodGet, url, nil)
req, err := http.NewRequest(http.MethodGet, url, http.NoBody)
require.NoError(t, err, "Error creating request")
resp, err := http.DefaultClient.Do(req)
@ -1010,7 +1036,7 @@ func TestHttpClientHeaders(t *testing.T) {
Headers: tt.headers,
}
client, _ := setting.ToClient(context.Background(), componenttest.NewNopHost(), componenttest.NewNopTelemetrySettings())
req, err := http.NewRequest(http.MethodGet, setting.Endpoint, nil)
req, err := http.NewRequest(http.MethodGet, setting.Endpoint, http.NoBody)
require.NoError(t, err)
_, err = client.Do(req)
assert.NoError(t, err)
@ -1046,7 +1072,7 @@ func TestHttpClientHostHeader(t *testing.T) {
Headers: tt.headers,
}
client, _ := setting.ToClient(context.Background(), componenttest.NewNopHost(), componenttest.NewNopTelemetrySettings())
req, err := http.NewRequest(http.MethodGet, setting.Endpoint, nil)
req, err := http.NewRequest(http.MethodGet, setting.Endpoint, http.NoBody)
require.NoError(t, err)
_, err = client.Do(req)
assert.NoError(t, err)
@ -1179,7 +1205,7 @@ func TestServerAuth(t *testing.T) {
require.NoError(t, err)
// tt
srv.Handler.ServeHTTP(&httptest.ResponseRecorder{}, httptest.NewRequest(http.MethodGet, "/", nil))
srv.Handler.ServeHTTP(&httptest.ResponseRecorder{}, httptest.NewRequest(http.MethodGet, "/", http.NoBody))
// verify
assert.True(t, handlerCalled)
@ -1223,7 +1249,7 @@ func TestFailedServerAuth(t *testing.T) {
// tt
response := &httptest.ResponseRecorder{}
srv.Handler.ServeHTTP(response, httptest.NewRequest(http.MethodGet, "/", nil))
srv.Handler.ServeHTTP(response, httptest.NewRequest(http.MethodGet, "/", http.NoBody))
// verify
assert.Equal(t, http.StatusUnauthorized, response.Result().StatusCode)
@ -1261,7 +1287,7 @@ func TestFailedServerAuthWithErrorHandler(t *testing.T) {
// tt
response := &httptest.ResponseRecorder{}
srv.Handler.ServeHTTP(response, httptest.NewRequest(http.MethodGet, "/", nil))
srv.Handler.ServeHTTP(response, httptest.NewRequest(http.MethodGet, "/", http.NoBody))
// verify
assert.Equal(t, http.StatusInternalServerError, response.Result().StatusCode)
@ -1290,7 +1316,7 @@ func TestServerWithErrorHandler(t *testing.T) {
// tt
response := &httptest.ResponseRecorder{}
req, err := http.NewRequest(http.MethodGet, srv.Addr, nil)
req, err := http.NewRequest(http.MethodGet, srv.Addr, http.NoBody)
require.NoError(t, err, "Error creating request: %v", err)
req.Header.Set("Content-Encoding", "something-invalid")
@ -1447,7 +1473,7 @@ func TestAuthWithQueryParams(t *testing.T) {
require.NoError(t, err)
// tt
srv.Handler.ServeHTTP(&httptest.ResponseRecorder{}, httptest.NewRequest(http.MethodGet, "/?auth=1", nil))
srv.Handler.ServeHTTP(&httptest.ResponseRecorder{}, httptest.NewRequest(http.MethodGet, "/?auth=1", http.NoBody))
// verify
assert.True(t, handlerCalled)
@ -1633,3 +1659,154 @@ func TestHTTPServerTelemetry_Tracing(t *testing.T) {
})
}
}
// TestUnmarshalYAMLWithMiddlewares tests that the "middlewares" field is correctly
// parsed from YAML configurations (fixing the bug where "middleware" was used instead)
func TestUnmarshalYAMLWithMiddlewares(t *testing.T) {
cm, err := confmaptest.LoadConf(filepath.Join("testdata", "middlewares.yaml"))
require.NoError(t, err)
// Test client configuration
var clientConfig ClientConfig
clientSub, err := cm.Sub("client")
require.NoError(t, err)
require.NoError(t, clientSub.Unmarshal(&clientConfig))
// Validate the client configuration using reflection-based validation
require.NoError(t, xconfmap.Validate(&clientConfig), "Client configuration should be valid")
assert.Equal(t, "http://localhost:4318/v1/traces", clientConfig.Endpoint)
require.Len(t, clientConfig.Middlewares, 2)
assert.Equal(t, component.MustNewID("fancy_middleware"), clientConfig.Middlewares[0].ID)
assert.Equal(t, component.MustNewID("careful_middleware"), clientConfig.Middlewares[1].ID)
// Test server configuration
var serverConfig ServerConfig
serverSub, err := cm.Sub("server")
require.NoError(t, err)
require.NoError(t, serverSub.Unmarshal(&serverConfig))
// Validate the server configuration using reflection-based validation
require.NoError(t, xconfmap.Validate(&serverConfig), "Server configuration should be valid")
assert.Equal(t, "0.0.0.0:4318", serverConfig.Endpoint)
require.Len(t, serverConfig.Middlewares, 2)
assert.Equal(t, component.MustNewID("careful_middleware"), serverConfig.Middlewares[0].ID)
assert.Equal(t, component.MustNewID("support_middleware"), serverConfig.Middlewares[1].ID)
}
// TestUnmarshalYAMLComprehensiveConfig tests the complete configuration example
// to ensure all fields including middlewares are parsed correctly
func TestUnmarshalYAMLComprehensiveConfig(t *testing.T) {
cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml"))
require.NoError(t, err)
// Test client configuration
var clientConfig ClientConfig
clientSub, err := cm.Sub("client")
require.NoError(t, err)
require.NoError(t, clientSub.Unmarshal(&clientConfig))
// Validate the client configuration using reflection-based validation
require.NoError(t, xconfmap.Validate(&clientConfig), "Client configuration should be valid")
// Verify basic fields
assert.Equal(t, "http://example.com:4318/v1/traces", clientConfig.Endpoint)
assert.Equal(t, "http://proxy.example.com:8080", clientConfig.ProxyURL)
assert.Equal(t, 30*time.Second, clientConfig.Timeout)
assert.Equal(t, 4096, clientConfig.ReadBufferSize)
assert.Equal(t, 4096, clientConfig.WriteBufferSize)
assert.Equal(t, configcompression.TypeGzip, clientConfig.Compression)
// Verify TLS configuration
assert.False(t, clientConfig.TLS.Insecure)
assert.Equal(t, "/path/to/client.crt", clientConfig.TLS.CertFile)
assert.Equal(t, "/path/to/client.key", clientConfig.TLS.KeyFile)
assert.Equal(t, "/path/to/ca.crt", clientConfig.TLS.CAFile)
assert.Equal(t, "example.com", clientConfig.TLS.ServerName)
// Verify headers
expectedHeaders := map[string]configopaque.String{
"User-Agent": "OpenTelemetry-Collector/1.0",
"X-Custom-Header": "custom-value",
}
assert.Equal(t, expectedHeaders, clientConfig.Headers)
// Verify middlewares
require.Len(t, clientConfig.Middlewares, 2)
assert.Equal(t, component.MustNewID("middleware1"), clientConfig.Middlewares[0].ID)
assert.Equal(t, component.MustNewID("middleware2"), clientConfig.Middlewares[1].ID)
// Test server configuration
var serverConfig ServerConfig
serverSub, err := cm.Sub("server")
require.NoError(t, err)
require.NoError(t, serverSub.Unmarshal(&serverConfig))
// Validate the server configuration using reflection-based validation
require.NoError(t, xconfmap.Validate(&serverConfig), "Server configuration should be valid")
// Verify basic fields
assert.Equal(t, "0.0.0.0:4318", serverConfig.Endpoint)
assert.Equal(t, 30*time.Second, serverConfig.ReadTimeout)
assert.Equal(t, 10*time.Second, serverConfig.ReadHeaderTimeout)
assert.Equal(t, 30*time.Second, serverConfig.WriteTimeout)
assert.Equal(t, 120*time.Second, serverConfig.IdleTimeout)
assert.Equal(t, int64(33554432), serverConfig.MaxRequestBodySize)
assert.True(t, serverConfig.IncludeMetadata)
// Verify TLS configuration
assert.Equal(t, "/path/to/server.crt", serverConfig.TLS.Get().CertFile)
assert.Equal(t, "/path/to/server.key", serverConfig.TLS.Get().KeyFile)
assert.Equal(t, "/path/to/ca.crt", serverConfig.TLS.Get().CAFile)
assert.Equal(t, "/path/to/client-ca.crt", serverConfig.TLS.Get().ClientCAFile)
// Verify CORS configuration
expectedOrigins := []string{"https://example.com", "https://*.test.com"}
assert.Equal(t, expectedOrigins, serverConfig.CORS.Get().AllowedOrigins)
corsHeaders := []string{"Content-Type", "Accept"}
assert.Equal(t, corsHeaders, serverConfig.CORS.Get().AllowedHeaders)
assert.Equal(t, 7200, serverConfig.CORS.Get().MaxAge)
// Verify response headers
expectedResponseHeaders := map[string]configopaque.String{
"Server": "OpenTelemetry-Collector",
"X-Flavor": "apple",
}
assert.Equal(t, expectedResponseHeaders, serverConfig.ResponseHeaders)
// Verify compression algorithms
expectedAlgorithms := []string{"", "gzip", "zstd", "zlib", "snappy", "deflate"}
assert.Equal(t, expectedAlgorithms, serverConfig.CompressionAlgorithms)
// Verify middlewares
require.Len(t, serverConfig.Middlewares, 3)
assert.Equal(t, component.MustNewID("server_middleware1"), serverConfig.Middlewares[0].ID)
assert.Equal(t, component.MustNewID("server_middleware2"), serverConfig.Middlewares[1].ID)
assert.Equal(t, component.MustNewID("server_middleware3"), serverConfig.Middlewares[2].ID)
}
// TestMiddlewaresFieldCompatibility tests that the new "middlewares" field name
// is used instead of the old "middleware" name, ensuring the bug is fixed
func TestMiddlewaresFieldCompatibility(t *testing.T) {
// Test that we can create a config with middlewares using the new field name
clientConfig := ClientConfig{
Endpoint: "http://localhost:4318",
Middlewares: []configmiddleware.Config{
{ID: component.MustNewID("test_middleware")},
},
}
assert.Equal(t, "http://localhost:4318", clientConfig.Endpoint)
assert.Len(t, clientConfig.Middlewares, 1)
assert.Equal(t, component.MustNewID("test_middleware"), clientConfig.Middlewares[0].ID)
serverConfig := ServerConfig{
Endpoint: "0.0.0.0:4318",
Middlewares: []configmiddleware.Config{
{ID: component.MustNewID("server_middleware")},
},
}
assert.Equal(t, "0.0.0.0:4318", serverConfig.Endpoint)
assert.Len(t, serverConfig.Middlewares, 1)
assert.Equal(t, component.MustNewID("server_middleware"), serverConfig.Middlewares[0].ID)
}

View File

@ -8,26 +8,26 @@ require (
github.com/pierrec/lz4/v4 v4.1.22
github.com/rs/cors v1.11.1
github.com/stretchr/testify v1.10.0
go.opentelemetry.io/collector/client v1.36.1
go.opentelemetry.io/collector/component v1.36.1
go.opentelemetry.io/collector/component/componenttest v0.130.1
go.opentelemetry.io/collector/config/configauth v0.130.1
go.opentelemetry.io/collector/config/configcompression v1.36.1
go.opentelemetry.io/collector/config/configmiddleware v0.130.1
go.opentelemetry.io/collector/config/configopaque v1.36.1
go.opentelemetry.io/collector/config/configoptional v0.130.1
go.opentelemetry.io/collector/config/configtls v1.36.1
go.opentelemetry.io/collector/extension v1.36.1
go.opentelemetry.io/collector/extension/extensionauth v1.36.1
go.opentelemetry.io/collector/extension/extensionauth/extensionauthtest v0.130.1
go.opentelemetry.io/collector/extension/extensionmiddleware v0.130.1
go.opentelemetry.io/collector/extension/extensionmiddleware/extensionmiddlewaretest v0.130.1
go.opentelemetry.io/collector/featuregate v1.36.1
go.opentelemetry.io/collector/client v1.37.0
go.opentelemetry.io/collector/component v1.37.0
go.opentelemetry.io/collector/component/componenttest v0.131.0
go.opentelemetry.io/collector/config/configauth v0.131.0
go.opentelemetry.io/collector/config/configcompression v1.37.0
go.opentelemetry.io/collector/config/configmiddleware v0.131.0
go.opentelemetry.io/collector/config/configopaque v1.37.0
go.opentelemetry.io/collector/config/configoptional v0.131.0
go.opentelemetry.io/collector/config/configtls v1.37.0
go.opentelemetry.io/collector/extension v1.37.0
go.opentelemetry.io/collector/extension/extensionauth v1.37.0
go.opentelemetry.io/collector/extension/extensionauth/extensionauthtest v0.131.0
go.opentelemetry.io/collector/extension/extensionmiddleware v0.131.0
go.opentelemetry.io/collector/extension/extensionmiddleware/extensionmiddlewaretest v0.131.0
go.opentelemetry.io/collector/featuregate v1.37.0
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0
go.opentelemetry.io/otel v1.37.0
go.uber.org/goleak v1.3.0
go.uber.org/zap v1.27.0
golang.org/x/net v0.41.0
golang.org/x/net v0.42.0
)
require (
@ -37,22 +37,26 @@ require (
github.com/fsnotify/fsnotify v1.9.0 // indirect
github.com/go-logr/logr v1.4.3 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-viper/mapstructure/v2 v2.3.0 // indirect
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/google/go-tpm v0.9.5 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/hashicorp/go-version v1.7.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/knadh/koanf/maps v0.1.2 // indirect
github.com/knadh/koanf/providers/confmap v1.0.0 // indirect
github.com/knadh/koanf/v2 v2.2.1 // indirect
github.com/knadh/koanf/v2 v2.2.2 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
go.opentelemetry.io/collector/confmap v1.36.1 // indirect
go.opentelemetry.io/collector/internal/telemetry v0.130.1 // indirect
go.opentelemetry.io/collector/pdata v1.36.1 // indirect
go.opentelemetry.io/collector/confmap v1.37.0
go.opentelemetry.io/collector/confmap/xconfmap v0.131.0
go.opentelemetry.io/collector/internal/telemetry v0.131.0 // indirect
go.opentelemetry.io/collector/pdata v1.37.0 // indirect
go.opentelemetry.io/contrib/bridges/otelzap v0.12.0 // indirect
go.opentelemetry.io/otel/log v0.13.0 // indirect
go.opentelemetry.io/otel/metric v1.37.0 // indirect
@ -61,11 +65,11 @@ require (
go.opentelemetry.io/otel/trace v1.37.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.yaml.in/yaml/v3 v3.0.4 // indirect
golang.org/x/crypto v0.39.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/text v0.26.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 // indirect
google.golang.org/grpc v1.73.0 // indirect
golang.org/x/crypto v0.40.0 // indirect
golang.org/x/sys v0.34.0 // indirect
golang.org/x/text v0.27.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect
google.golang.org/grpc v1.74.2 // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
@ -109,3 +113,5 @@ replace go.opentelemetry.io/collector/featuregate => ../../featuregate
replace go.opentelemetry.io/collector/extension/extensionmiddleware/extensionmiddlewaretest => ../../extension/extensionmiddleware/extensionmiddlewaretest
replace go.opentelemetry.io/collector/confmap => ../../confmap
replace go.opentelemetry.io/collector/confmap/xconfmap => ../../confmap/xconfmap

View File

@ -1,3 +1,4 @@
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
@ -13,8 +14,8 @@ github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/go-viper/mapstructure/v2 v2.3.0 h1:27XbWsHIqhbdR5TIC911OfYvgSaW93HM+dX7970Q7jk=
github.com/go-viper/mapstructure/v2 v2.3.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
@ -29,6 +30,7 @@ github.com/google/go-tpm v0.9.5 h1:ocUmnDebX54dnW+MQWGQRbdaAcJELsa6PqZhJ48KwVU=
github.com/google/go-tpm v0.9.5/go.mod h1:h9jEsEECg7gtLis0upRBQU+GhYVH6jMjrFxI8u6bVUY=
github.com/google/go-tpm-tools v0.4.4 h1:oiQfAIkc6xTy9Fl5NKTeTJkBTlXdHsxAofmQyxBKY98=
github.com/google/go-tpm-tools v0.4.4/go.mod h1:T8jXkp2s+eltnCDIsXR84/MTcVU9Ja7bh3Mit0pa4AY=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY=
@ -43,8 +45,8 @@ github.com/knadh/koanf/maps v0.1.2 h1:RBfmAW5CnZT+PJ1CVc1QSJKf4Xu9kxfQgYVQSu8hpb
github.com/knadh/koanf/maps v0.1.2/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI=
github.com/knadh/koanf/providers/confmap v1.0.0 h1:mHKLJTE7iXEys6deO5p6olAiZdG5zwp8Aebir+/EaRE=
github.com/knadh/koanf/providers/confmap v1.0.0/go.mod h1:txHYHiI2hAtF0/0sCmcuol4IDcuQbKTybiB1nOcUo1A=
github.com/knadh/koanf/v2 v2.2.1 h1:jaleChtw85y3UdBnI0wCqcg1sj1gPoz6D3caGNHtrNE=
github.com/knadh/koanf/v2 v2.2.1/go.mod h1:PSFru3ufQgTsI7IF+95rf9s8XA1+aHxKuO/W+dPoHEY=
github.com/knadh/koanf/v2 v2.2.2 h1:ghbduIkpFui3L587wavneC9e3WIliCgiCgdxYO/wd7A=
github.com/knadh/koanf/v2 v2.2.2/go.mod h1:abWQc0cBXLSF/PSOMCB/SK+T13NXDsPvOksbpi5e/9Q=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
@ -53,10 +55,12 @@ github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa1
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/pierrec/lz4/v4 v4.1.22 h1:cKFw6uJDK+/gfw5BcDL0JL5aBsAFdsIT18eRtLj7VIU=
github.com/pierrec/lz4/v4 v4.1.22/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
@ -65,6 +69,8 @@ github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA=
github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@ -100,28 +106,28 @@ go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM=
golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U=
golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM=
golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs=
golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA=
golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4=
golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
@ -130,10 +136,10 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 h1:e0AIkUUhxyBKh6ssZNrAMeqhA7RKUj42346d1y02i2g=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok=
google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4=
google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

View File

@ -112,7 +112,7 @@ func TestServerMiddleware(t *testing.T) {
require.NoError(t, err)
// Create a test request
req := httptest.NewRequest(http.MethodGet, "/", nil)
req := httptest.NewRequest(http.MethodGet, "/", http.NoBody)
// Create a response recorder
rec := httptest.NewRecorder()

111
config/confighttp/testdata/config.yaml vendored Normal file
View File

@ -0,0 +1,111 @@
# Comprehensive HTTP configuration example showing all available options
# with middleware configurations (using the new "middlewares" field)
# HTTP Client Configuration
client:
# The target URL to send data to
endpoint: "http://example.com:4318/v1/traces"
# Proxy URL setting for the collector
proxy_url: "http://proxy.example.com:8080"
# TLS configuration
tls:
insecure: false
cert_file: "/path/to/client.crt"
key_file: "/path/to/client.key"
ca_file: "/path/to/ca.crt"
server_name_override: "example.com"
insecure_skip_verify: false
# HTTP client buffer sizes
read_buffer_size: 4096
write_buffer_size: 4096
# Request timeout
timeout: 30s
# Custom headers
headers:
"User-Agent": "OpenTelemetry-Collector/1.0"
"X-Custom-Header": "custom-value"
# Compression setting
compression: "gzip"
# Disable HTTP/2
disable_keep_alives: false
http2_read_idle_timeout: 10s
http2_ping_timeout: 15s
# Maximum idle connections
max_idle_conns: 100
max_idle_conns_per_host: 10
max_conns_per_host: 50
idle_conn_timeout: 90s
# Authentication configuration
auth:
authenticator: "oauth2client"
# Cookies configuration
cookies:
enabled: true
# Middlewares configuration (note: plural "middlewares")
middlewares:
- id: "middleware1"
- id: "middleware2"
# HTTP Server Configuration
server:
# Network endpoint configuration
endpoint: "0.0.0.0:4318"
# TLS configuration
tls:
cert_file: "/path/to/server.crt"
key_file: "/path/to/server.key"
ca_file: "/path/to/ca.crt"
client_ca_file: "/path/to/client-ca.crt"
reload_interval: 24h
# CORS configuration
cors:
allowed_origins:
- "https://example.com"
- "https://*.test.com"
allowed_headers:
- "Content-Type"
- "Accept"
max_age: 7200
# Authentication configuration
auth:
authenticator: "basic"
# Server timeouts
read_timeout: 30s
read_header_timeout: 10s
write_timeout: 30s
idle_timeout: 120s
# Maximum request size
max_request_body_size: 33554432 # 32MB
# Include metadata in the context
include_metadata: true
# Response headers to add to every response
response_headers:
"Server": "OpenTelemetry-Collector"
"X-Flavor": "apple"
# Compression algorithms supported by the server
compression_algorithms: ["", "gzip", "zstd", "zlib", "snappy", "deflate"]
# Middlewares configuration (note: plural "middlewares")
middlewares:
- id: "server_middleware1"
- id: "server_middleware2"
- id: "server_middleware3"

View File

@ -0,0 +1,13 @@
# Simple middleware-focused test configuration
client:
endpoint: "http://localhost:4318/v1/traces"
middlewares:
- id: "fancy_middleware"
- id: "careful_middleware"
server:
endpoint: "0.0.0.0:4318"
middlewares:
- id: "careful_middleware"
- id: "support_middleware"

View File

@ -4,8 +4,8 @@ go 1.23.0
require (
github.com/stretchr/testify v1.10.0
go.opentelemetry.io/collector/component/componenttest v0.130.1
go.opentelemetry.io/collector/config/confighttp v0.130.1
go.opentelemetry.io/collector/component/componenttest v0.131.0
go.opentelemetry.io/collector/config/confighttp v0.131.0
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0
go.opentelemetry.io/otel/sdk v1.37.0
go.opentelemetry.io/otel/trace v1.37.0
@ -18,37 +18,40 @@ require (
github.com/fsnotify/fsnotify v1.9.0 // indirect
github.com/go-logr/logr v1.4.3 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-viper/mapstructure/v2 v2.3.0 // indirect
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/snappy v1.0.0 // indirect
github.com/google/go-tpm v0.9.5 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/hashicorp/go-version v1.7.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/klauspost/compress v1.18.0 // indirect
github.com/knadh/koanf/maps v0.1.2 // indirect
github.com/knadh/koanf/providers/confmap v1.0.0 // indirect
github.com/knadh/koanf/v2 v2.2.1 // indirect
github.com/knadh/koanf/v2 v2.2.2 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
github.com/pierrec/lz4/v4 v4.1.22 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/rs/cors v1.11.1 // indirect
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
go.opentelemetry.io/collector/client v1.36.1 // indirect
go.opentelemetry.io/collector/component v1.36.1 // indirect
go.opentelemetry.io/collector/config/configauth v0.130.1 // indirect
go.opentelemetry.io/collector/config/configcompression v1.36.1 // indirect
go.opentelemetry.io/collector/config/configmiddleware v0.130.1 // indirect
go.opentelemetry.io/collector/config/configopaque v1.36.1 // indirect
go.opentelemetry.io/collector/config/configoptional v0.130.1 // indirect
go.opentelemetry.io/collector/config/configtls v1.36.1 // indirect
go.opentelemetry.io/collector/confmap v1.36.1 // indirect
go.opentelemetry.io/collector/extension/extensionauth v1.36.1 // indirect
go.opentelemetry.io/collector/extension/extensionmiddleware v0.130.1 // indirect
go.opentelemetry.io/collector/featuregate v1.36.1 // indirect
go.opentelemetry.io/collector/internal/telemetry v0.130.1 // indirect
go.opentelemetry.io/collector/pdata v1.36.1 // indirect
go.opentelemetry.io/collector/client v1.37.0 // indirect
go.opentelemetry.io/collector/component v1.37.0 // indirect
go.opentelemetry.io/collector/config/configauth v0.131.0 // indirect
go.opentelemetry.io/collector/config/configcompression v1.37.0 // indirect
go.opentelemetry.io/collector/config/configmiddleware v0.131.0 // indirect
go.opentelemetry.io/collector/config/configopaque v1.37.0 // indirect
go.opentelemetry.io/collector/config/configoptional v0.131.0 // indirect
go.opentelemetry.io/collector/config/configtls v1.37.0 // indirect
go.opentelemetry.io/collector/confmap v1.37.0 // indirect
go.opentelemetry.io/collector/extension/extensionauth v1.37.0 // indirect
go.opentelemetry.io/collector/extension/extensionmiddleware v0.131.0 // indirect
go.opentelemetry.io/collector/featuregate v1.37.0 // indirect
go.opentelemetry.io/collector/internal/telemetry v0.131.0 // indirect
go.opentelemetry.io/collector/pdata v1.37.0 // indirect
go.opentelemetry.io/contrib/bridges/otelzap v0.12.0 // indirect
go.opentelemetry.io/otel v1.37.0 // indirect
go.opentelemetry.io/otel/log v0.13.0 // indirect
@ -57,12 +60,12 @@ require (
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
go.yaml.in/yaml/v3 v3.0.4 // indirect
golang.org/x/crypto v0.39.0 // indirect
golang.org/x/net v0.41.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/text v0.26.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 // indirect
google.golang.org/grpc v1.73.0 // indirect
golang.org/x/crypto v0.40.0 // indirect
golang.org/x/net v0.42.0 // indirect
golang.org/x/sys v0.34.0 // indirect
golang.org/x/text v0.27.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect
google.golang.org/grpc v1.74.2 // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
@ -108,3 +111,5 @@ replace go.opentelemetry.io/collector/config/configmiddleware => ../../configmid
replace go.opentelemetry.io/collector/extension/extensionmiddleware/extensionmiddlewaretest => ../../../extension/extensionmiddleware/extensionmiddlewaretest
replace go.opentelemetry.io/collector/confmap => ../../../confmap
replace go.opentelemetry.io/collector/confmap/xconfmap => ../../../confmap/xconfmap

View File

@ -1,3 +1,4 @@
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
@ -13,8 +14,8 @@ github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/go-viper/mapstructure/v2 v2.3.0 h1:27XbWsHIqhbdR5TIC911OfYvgSaW93HM+dX7970Q7jk=
github.com/go-viper/mapstructure/v2 v2.3.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
@ -29,6 +30,7 @@ github.com/google/go-tpm v0.9.5 h1:ocUmnDebX54dnW+MQWGQRbdaAcJELsa6PqZhJ48KwVU=
github.com/google/go-tpm v0.9.5/go.mod h1:h9jEsEECg7gtLis0upRBQU+GhYVH6jMjrFxI8u6bVUY=
github.com/google/go-tpm-tools v0.4.4 h1:oiQfAIkc6xTy9Fl5NKTeTJkBTlXdHsxAofmQyxBKY98=
github.com/google/go-tpm-tools v0.4.4/go.mod h1:T8jXkp2s+eltnCDIsXR84/MTcVU9Ja7bh3Mit0pa4AY=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY=
@ -43,8 +45,8 @@ github.com/knadh/koanf/maps v0.1.2 h1:RBfmAW5CnZT+PJ1CVc1QSJKf4Xu9kxfQgYVQSu8hpb
github.com/knadh/koanf/maps v0.1.2/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI=
github.com/knadh/koanf/providers/confmap v1.0.0 h1:mHKLJTE7iXEys6deO5p6olAiZdG5zwp8Aebir+/EaRE=
github.com/knadh/koanf/providers/confmap v1.0.0/go.mod h1:txHYHiI2hAtF0/0sCmcuol4IDcuQbKTybiB1nOcUo1A=
github.com/knadh/koanf/v2 v2.2.1 h1:jaleChtw85y3UdBnI0wCqcg1sj1gPoz6D3caGNHtrNE=
github.com/knadh/koanf/v2 v2.2.1/go.mod h1:PSFru3ufQgTsI7IF+95rf9s8XA1+aHxKuO/W+dPoHEY=
github.com/knadh/koanf/v2 v2.2.2 h1:ghbduIkpFui3L587wavneC9e3WIliCgiCgdxYO/wd7A=
github.com/knadh/koanf/v2 v2.2.2/go.mod h1:abWQc0cBXLSF/PSOMCB/SK+T13NXDsPvOksbpi5e/9Q=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
@ -53,10 +55,12 @@ github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa1
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/pierrec/lz4/v4 v4.1.22 h1:cKFw6uJDK+/gfw5BcDL0JL5aBsAFdsIT18eRtLj7VIU=
github.com/pierrec/lz4/v4 v4.1.22/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
@ -65,6 +69,8 @@ github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA=
github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@ -100,28 +106,28 @@ go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM=
golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U=
golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM=
golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs=
golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA=
golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4=
golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
@ -130,10 +136,10 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 h1:e0AIkUUhxyBKh6ssZNrAMeqhA7RKUj42346d1y02i2g=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok=
google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4=
google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

View File

@ -48,7 +48,7 @@ func TestServerWithOtelHTTPOptions(t *testing.T) {
for _, path := range []string{"/path", "/foobar"} {
response := &httptest.ResponseRecorder{}
req, err := http.NewRequest(http.MethodGet, srv.Addr+path, nil)
req, err := http.NewRequest(http.MethodGet, srv.Addr+path, http.NoBody)
require.NoError(t, err)
srv.Handler.ServeHTTP(response, req)
assert.Equal(t, http.StatusOK, response.Result().StatusCode)

View File

@ -4,11 +4,11 @@ go 1.23.0
require (
github.com/stretchr/testify v1.10.0
go.opentelemetry.io/collector/component v1.36.1
go.opentelemetry.io/collector/extension v1.36.1
go.opentelemetry.io/collector/extension/extensionmiddleware v0.130.1
go.opentelemetry.io/collector/extension/extensionmiddleware/extensionmiddlewaretest v0.130.1
google.golang.org/grpc v1.73.0
go.opentelemetry.io/collector/component v1.37.0
go.opentelemetry.io/collector/extension v1.37.0
go.opentelemetry.io/collector/extension/extensionmiddleware v0.131.0
go.opentelemetry.io/collector/extension/extensionmiddleware/extensionmiddlewaretest v0.131.0
google.golang.org/grpc v1.74.2
)
require (
@ -18,11 +18,14 @@ require (
github.com/gogo/protobuf v1.3.2 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/hashicorp/go-version v1.7.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
go.opentelemetry.io/collector/featuregate v1.36.1 // indirect
go.opentelemetry.io/collector/internal/telemetry v0.130.1 // indirect
go.opentelemetry.io/collector/pdata v1.36.1 // indirect
go.opentelemetry.io/collector/featuregate v1.37.0 // indirect
go.opentelemetry.io/collector/internal/telemetry v0.131.0 // indirect
go.opentelemetry.io/collector/pdata v1.37.0 // indirect
go.opentelemetry.io/contrib/bridges/otelzap v0.12.0 // indirect
go.opentelemetry.io/otel v1.37.0 // indirect
go.opentelemetry.io/otel/log v0.13.0 // indirect
@ -31,10 +34,10 @@ require (
go.opentelemetry.io/otel/trace v1.37.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/net v0.39.0 // indirect
golang.org/x/net v0.40.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/text v0.24.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 // indirect
golang.org/x/text v0.25.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@ -1,3 +1,4 @@
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
@ -11,20 +12,31 @@ github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY=
github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@ -62,8 +74,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -74,8 +86,8 @@ golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
@ -84,10 +96,10 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 h1:e0AIkUUhxyBKh6ssZNrAMeqhA7RKUj42346d1y02i2g=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok=
google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4=
google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

View File

@ -4,22 +4,22 @@ go 1.23.0
require (
github.com/stretchr/testify v1.10.0
go.opentelemetry.io/collector/confmap v1.36.1
go.opentelemetry.io/collector/confmap v1.37.0
go.uber.org/goleak v1.3.0
)
require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/go-viper/mapstructure/v2 v2.3.0 // indirect
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/hashicorp/go-version v1.7.0 // indirect
github.com/knadh/koanf/maps v0.1.2 // indirect
github.com/knadh/koanf/providers/confmap v1.0.0 // indirect
github.com/knadh/koanf/v2 v2.2.1 // indirect
github.com/knadh/koanf/v2 v2.2.2 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
go.opentelemetry.io/collector/featuregate v1.36.1 // indirect
go.opentelemetry.io/collector/featuregate v1.37.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
go.yaml.in/yaml/v3 v3.0.4 // indirect

View File

@ -1,7 +1,7 @@
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/go-viper/mapstructure/v2 v2.3.0 h1:27XbWsHIqhbdR5TIC911OfYvgSaW93HM+dX7970Q7jk=
github.com/go-viper/mapstructure/v2 v2.3.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY=
@ -10,8 +10,8 @@ github.com/knadh/koanf/maps v0.1.2 h1:RBfmAW5CnZT+PJ1CVc1QSJKf4Xu9kxfQgYVQSu8hpb
github.com/knadh/koanf/maps v0.1.2/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI=
github.com/knadh/koanf/providers/confmap v1.0.0 h1:mHKLJTE7iXEys6deO5p6olAiZdG5zwp8Aebir+/EaRE=
github.com/knadh/koanf/providers/confmap v1.0.0/go.mod h1:txHYHiI2hAtF0/0sCmcuol4IDcuQbKTybiB1nOcUo1A=
github.com/knadh/koanf/v2 v2.2.1 h1:jaleChtw85y3UdBnI0wCqcg1sj1gPoz6D3caGNHtrNE=
github.com/knadh/koanf/v2 v2.2.1/go.mod h1:PSFru3ufQgTsI7IF+95rf9s8XA1+aHxKuO/W+dPoHEY=
github.com/knadh/koanf/v2 v2.2.2 h1:ghbduIkpFui3L587wavneC9e3WIliCgiCgdxYO/wd7A=
github.com/knadh/koanf/v2 v2.2.2/go.mod h1:abWQc0cBXLSF/PSOMCB/SK+T13NXDsPvOksbpi5e/9Q=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=

View File

@ -3,7 +3,7 @@ module go.opentelemetry.io/collector/config/configretry
go 1.23.0
require (
github.com/cenkalti/backoff/v5 v5.0.2
github.com/cenkalti/backoff/v5 v5.0.3
github.com/stretchr/testify v1.10.0
go.uber.org/goleak v1.3.0
)

View File

@ -1,5 +1,5 @@
github.com/cenkalti/backoff/v5 v5.0.2 h1:rIfFVxEf1QsI7E1ZHfp/B4DF/6QBAUhmgkxc0H7Zss8=
github.com/cenkalti/backoff/v5 v5.0.2/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw=
github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM=
github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=

View File

@ -440,7 +440,7 @@ func TestLoadTLSServerConfigFailing(t *testing.T) {
assert.NotNil(t, firstClient)
}
func overwriteClientCA(t *testing.T, targetFilePath string, testdataFileName string) {
func overwriteClientCA(t *testing.T, targetFilePath, testdataFileName string) {
targetFile, err := os.OpenFile(filepath.Clean(targetFilePath), os.O_RDWR, 0o600)
require.NoError(t, err)

View File

@ -7,7 +7,7 @@ require (
github.com/fsnotify/fsnotify v1.9.0
github.com/google/go-tpm v0.9.5
github.com/stretchr/testify v1.10.0
go.opentelemetry.io/collector/config/configopaque v1.36.1
go.opentelemetry.io/collector/config/configopaque v1.37.0
)
require (

View File

@ -25,7 +25,7 @@ type TPMConfig struct {
_ struct{}
}
func (c TPMConfig) tpmCertificate(keyPem []byte, certPem []byte, openTPM func() (transport.TPMCloser, error)) (tls.Certificate, error) {
func (c TPMConfig) tpmCertificate(keyPem, certPem []byte, openTPM func() (transport.TPMCloser, error)) (tls.Certificate, error) {
tpm, err := openTPM()
if err != nil {
return tls.Certificate{}, err

Some files were not shown because too many files have changed in this diff Show More