builder: avoid duplicate CLI error logging in generated main#14317
Conversation
|
|
axw
left a comment
There was a problem hiding this comment.
LGTM, I suggest adding a comment to make it clear that we're intentionally not logging the error though.
|
@Syedowais312 can you please add a changelog entry? It's a small change, but still worthy of an enhancement changelog IMO. |
|
@axw I’ve added a changelog entry and a comment in |
| - `cmd/mdatagen`: Add lint/ordering validation for metadata.yaml (#13781) | ||
| - `pdata/xpdata`: Refactor JSON marshaling and unmarshaling to use `pcommon.Value` instead of `AnyValue`. (#13837) | ||
| - `pkg/exporterhelper`: Expose `MergeCtx` in exporterhelper's queue batch settings` (#13742) | ||
| - `cmd/builder`: Avoid duplicate CLI error logging in generated collector binaries by relying on cobra's error handling. (#14317) |
There was a problem hiding this comment.
@Syedowais312 we shouldn't update this file directly, please see https://github.com/open-telemetry/opentelemetry-collector/blob/main/CONTRIBUTING.md#adding-a-changelog-entry
18b3e17 to
70644ec
Compare
|
@axw Thanks for the pointer ,fixed the chloggen entry by removing empty optional fields, validated with make |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #14317 +/- ##
=======================================
Coverage 92.10% 92.10%
=======================================
Files 668 668
Lines 41379 41379
=======================================
Hits 38114 38114
Misses 2227 2227
Partials 1038 1038 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
LGTM, thanks @Syedowais312. CI is failing because the generated code in otelcorecol will need changing.
|
Thank you for your contribution @Syedowais312! 🎉 We would like to hear from you about your experience contributing to OpenTelemetry by taking a few minutes to fill out this survey. |
…lemetry#14317) ### Problem When running an invalid CLI command (for example `otelcorecol foo`), Cobra already prints a user-facing error message. However, the builder-generated `main.go` also logs the same error using `log.Fatalf`, which results in duplicate error output. ### Solution This change updates the builder template to: - remove `log.Fatalf` from `main()` - exit with a non-zero status using `os.Exit(1)` - allow Cobra to fully own CLI error output ### Result **Before** ``` Error: unknown command "foo" for "otelcorecol" Run 'otelcorecol --help' for usage. collector server run finished with error: unknown command "foo" for "otelcorecol" ``` **After** ``` Error: unknown command "foo" for "otelcorecol" Run 'otelcorecol --help' for usage. ``` ### Notes - Change is limited to `cmd/builder/internal/builder/templates/main.go.tmpl` - No behavior change for successful execution paths - Exit code behavior remains unchanged **Closes:** open-telemetry#14302
…lemetry#14317) ### Problem When running an invalid CLI command (for example `otelcorecol foo`), Cobra already prints a user-facing error message. However, the builder-generated `main.go` also logs the same error using `log.Fatalf`, which results in duplicate error output. ### Solution This change updates the builder template to: - remove `log.Fatalf` from `main()` - exit with a non-zero status using `os.Exit(1)` - allow Cobra to fully own CLI error output ### Result **Before** ``` Error: unknown command "foo" for "otelcorecol" Run 'otelcorecol --help' for usage. collector server run finished with error: unknown command "foo" for "otelcorecol" ``` **After** ``` Error: unknown command "foo" for "otelcorecol" Run 'otelcorecol --help' for usage. ``` ### Notes - Change is limited to `cmd/builder/internal/builder/templates/main.go.tmpl` - No behavior change for successful execution paths - Exit code behavior remains unchanged **Closes:** open-telemetry#14302
This PR contains the following updates: | Package | Type | Update | Change | Pending | |---|---|---|---|---| | [go.opentelemetry.io/collector/component](https://github.com/open-telemetry/opentelemetry-collector) | require | minor | `v1.45.0` → `v1.50.0` | `v1.51.0` | | [go.opentelemetry.io/collector/component/componenttest](https://github.com/open-telemetry/opentelemetry-collector) | require | minor | `v0.139.0` → `v0.144.0` | `v0.145.0` | | [go.opentelemetry.io/collector/confmap](https://github.com/open-telemetry/opentelemetry-collector) | require | minor | `v1.45.0` → `v1.50.0` | `v1.51.0` | | [go.opentelemetry.io/collector/consumer](https://github.com/open-telemetry/opentelemetry-collector) | require | minor | `v1.45.0` → `v1.50.0` | `v1.51.0` | | [go.opentelemetry.io/collector/consumer/consumertest](https://github.com/open-telemetry/opentelemetry-collector) | require | minor | `v0.139.0` → `v0.144.0` | `v0.145.0` | | [go.opentelemetry.io/collector/pdata](https://github.com/open-telemetry/opentelemetry-collector) | require | minor | `v1.45.0` → `v1.50.0` | `v1.51.0` | | [go.opentelemetry.io/collector/processor](https://github.com/open-telemetry/opentelemetry-collector) | require | minor | `v1.45.0` → `v1.50.0` | `v1.51.0` | | [go.opentelemetry.io/collector/processor/processortest](https://github.com/open-telemetry/opentelemetry-collector) | require | minor | `v0.139.0` → `v0.144.0` | `v0.145.0` | | [go.uber.org/zap](https://github.com/uber-go/zap) | require | patch | `v1.27.0` → `v1.27.1` | | --- ### Release Notes <details> <summary>open-telemetry/opentelemetry-collector (go.opentelemetry.io/collector/component)</summary> ### [`v1.50.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1500v01440) ##### 🛑 Breaking changes 🛑 - `pkg/exporterhelper`: Change verbosity level for otelcol\_exporter\_queue\_batch\_send\_size metric to detailed. ([#​14278](open-telemetry/opentelemetry-collector#14278)) - `pkg/service`: Remove deprecated `telemetry.disableHighCardinalityMetrics` feature gate. ([#​14373](open-telemetry/opentelemetry-collector#14373)) - `pkg/service`: Remove deprecated `service.noopTracerProvider` feature gate. ([#​14374](open-telemetry/opentelemetry-collector#14374)) ##### 🚩 Deprecations 🚩 - `exporter/otlp_grpc`: Rename `otlp` exporter to `otlp_grpc` exporter and add deprecated alias `otlp`. ([#​14403](open-telemetry/opentelemetry-collector#14403)) - `exporter/otlp_http`: Rename `otlphttp` exporter to `otlp_http` exporter and add deprecated alias `otlphttp`. ([#​14396](open-telemetry/opentelemetry-collector#14396)) ##### 💡 Enhancements 💡 - `cmd/builder`: Avoid duplicate CLI error logging in generated collector binaries by relying on cobra's error handling. ([#​14317](open-telemetry/opentelemetry-collector#14317)) - `cmd/mdatagen`: Add the ability to disable attributes at the metric level and re-aggregate data points based off of these new dimensions ([#​10726](open-telemetry/opentelemetry-collector#10726)) - `cmd/mdatagen`: Add optional `display_name` and `description` fields to metadata.yaml for human-readable component names ([#​14114](open-telemetry/opentelemetry-collector#14114)) The `display_name` field allows components to specify a human-readable name in metadata.yaml. When provided, this name is used as the title in generated README files. The `description` field allows components to include a brief description in generated README files. - `cmd/mdatagen`: Validate stability level for entities ([#​14425](open-telemetry/opentelemetry-collector#14425)) - `pkg/xexporterhelper`: Reenable batching for profiles ([#​14313](open-telemetry/opentelemetry-collector#14313)) - `receiver/nop`: add profiles signal support ([#​14253](open-telemetry/opentelemetry-collector#14253)) ##### 🧰 Bug fixes 🧰 - `pkg/exporterhelper`: Fix reference count bug in partition batcher ([#​14444](open-telemetry/opentelemetry-collector#14444)) <!-- previous-version --> ### [`v1.49.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1490v01430) ##### 💡 Enhancements 💡 - `all`: Update semconv import to 1.38.0 ([#​14305](open-telemetry/opentelemetry-collector#14305)) - `exporter/nop`: Add profiles support to nop exporter ([#​14331](open-telemetry/opentelemetry-collector#14331)) - `pkg/pdata`: Optimize the size and pointer bytes for pdata structs ([#​14339](open-telemetry/opentelemetry-collector#14339)) - `pkg/pdata`: Avoid using interfaces/oneof like style for optional fields ([#​14333](open-telemetry/opentelemetry-collector#14333)) <!-- previous-version --> ### [`v1.48.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1480v01420) ##### 💡 Enhancements 💡 - `exporter/debug`: Add logging of dropped attributes, events, and links counts in detailed verbosity ([#​14202](open-telemetry/opentelemetry-collector#14202)) - `extension/memory_limiter`: The memorylimiter extension can be used as an HTTP/GRPC middleware. ([#​14081](open-telemetry/opentelemetry-collector#14081)) - `pkg/config/configgrpc`: Statically validate gRPC endpoint ([#​10451](open-telemetry/opentelemetry-collector#10451)) This validation was already done in the OTLP exporter. It will now be applied to any gRPC client. - `pkg/service`: Add support to disabling adding resource attributes as zap fields in internal logging ([#​13869](open-telemetry/opentelemetry-collector#13869)) Note that this does not affect logs exported through OTLP. <!-- previous-version --> ### [`v1.47.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1470v01410) ##### 🛑 Breaking changes 🛑 - `pkg/config/confighttp`: Use configoptional.Optional for confighttp.ClientConfig.Cookies field ([#​14021](open-telemetry/opentelemetry-collector#14021)) ##### 💡 Enhancements 💡 - `pkg/config/confighttp`: Setting `compression_algorithms` to an empty list now disables automatic decompression, ignoring Content-Encoding ([#​14131](open-telemetry/opentelemetry-collector#14131)) - `pkg/service`: Update semantic conventions from internal telemetry to v1.37.0 ([#​14232](open-telemetry/opentelemetry-collector#14232)) - `pkg/xscraper`: Implement xscraper for Profiles. ([#​13915](open-telemetry/opentelemetry-collector#13915)) ##### 🧰 Bug fixes 🧰 - `pkg/config/configoptional`: Ensure that configoptional.None values resulting from unmarshaling are equivalent to configoptional.Optional zero value. ([#​14218](open-telemetry/opentelemetry-collector#14218)) <!-- previous-version --> ### [`v1.46.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1460v01400) ##### 💡 Enhancements 💡 - `cmd/mdatagen`: `metadata.yaml` now supports an optional `entities` section to organize resource attributes into logical entities with identity and description attributes ([#​14051](open-telemetry/opentelemetry-collector#14051)) When entities are defined, mdatagen generates `AssociateWith{EntityType}()` methods on ResourceBuilder that associate resources with entity types using the entity refs API. The entities section is backward compatible - existing metadata.yaml files without entities continue to work as before. - `cmd/mdatagen`: Add semconv reference for metrics ([#​13920](open-telemetry/opentelemetry-collector#13920)) - `connector/forward`: Add support for Profiles to Profiles ([#​14092](open-telemetry/opentelemetry-collector#14092)) - `exporter/debug`: Disable sending queue by default ([#​14138](open-telemetry/opentelemetry-collector#14138)) The recently added sending queue configuration in Debug exporter was enabled by default and had a problematic default size of 1. This change disables the sending queue by default. Users can enable and configure the sending queue if needed. - `pkg/config/configoptional`: Mark `configoptional.AddEnabledField` as beta ([#​14021](open-telemetry/opentelemetry-collector#14021)) - `pkg/otelcol`: This feature has been improved and tested; secure-by-default redacts configopaque values ([#​12369](open-telemetry/opentelemetry-collector#12369)) ##### 🧰 Bug fixes 🧰 - `all`: Ensure service service.instance.id is the same for all the signals when it is autogenerated. ([#​14140](open-telemetry/opentelemetry-collector#14140)) <!-- previous-version --> </details> <details> <summary>uber-go/zap (go.uber.org/zap)</summary> ### [`v1.27.1`](https://github.com/uber-go/zap/releases/tag/v1.27.1) [Compare Source](uber-go/zap@v1.27.0...v1.27.1) Enhancements: - [#​1501][]: prevent `Object` from panicking on nils - [#​1511][]: Fix a race condition in `WithLazy`. Thanks to [@​rabbbit](https://github.com/rabbbit), [@​alshopov](https://github.com/alshopov), [@​jquirke](https://github.com/jquirke), [@​arukiidou](https://github.com/arukiidou) for their contributions to this release. [#​1501]: uber-go/zap#1501 [#​1511]: uber-go/zap#1511 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xMC41IiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Reviewed-on: https://gitea.t000-n.de/t.behrendt/tracebasedlogsampler/pulls/25 Reviewed-by: t.behrendt <t.behrendt@noreply.localhost> Co-authored-by: Renovate Bot <renovate@t00n.de> Co-committed-by: Renovate Bot <renovate@t00n.de>
Cobra already prints the user-facing error and usage on Execute() failure. Using cobra.CheckErr(cmd.Execute()) causes duplicate error output. This change aligns cmd/builder and cmd/mdatagen with the previously accepted pattern (PR #14317): let Cobra own CLI messaging and have main() only control the exit code.
* chore(deps): update module github.com/mattn/go-runewidth to v0.0.19 (#14380)
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/mattn/go-runewidth](https://github.com/mattn/go-runewidth)
| `v0.0.17` → `v0.0.19` |

|

|
---
> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.
---
### Release Notes
<details>
<summary>mattn/go-runewidth (github.com/mattn/go-runewidth)</summary>
###
[`v0.0.19`](https://github.com/mattn/go-runewidth/compare/v0.0.18...v0.0.19)
[Compare
Source](https://github.com/mattn/go-runewidth/compare/v0.0.18...v0.0.19)
###
[`v0.0.18`](https://github.com/mattn/go-runewidth/compare/v0.0.17...v0.0.18)
[Compare
Source](https://github.com/mattn/go-runewidth/compare/v0.0.17...v0.0.18)
</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:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
* chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 0a764e5 (#14365)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
|
[google.golang.org/genproto/googleapis/rpc](https://github.com/googleapis/go-genproto)
| indirect | digest | `ab9386a` → `0a764e5` |
---
> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.
---
### Configuration
📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any
time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
Co-authored-by: Yang Song <songy23@users.noreply.github.com>
* chore(deps): update module github.com/spf13/pflag to v1.0.10 (#14383)
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [github.com/spf13/pflag](https://github.com/spf13/pflag) |
`v1.0.9` → `v1.0.10` |

|

|
---
> [!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.10`](https://github.com/spf13/pflag/releases/tag/v1.0.10)
[Compare
Source](https://github.com/spf13/pflag/compare/v1.0.9...v1.0.10)
#### What's Changed
- fix deprecation comment for (FlagSet.)ParseErrorsWhitelist by
[@​thaJeztah](https://github.com/thaJeztah) in
[#​447](https://github.com/spf13/pflag/pull/447)
- remove uses of errors.Is, which requires go1.13, move go1.16/go1.21
tests to separate file by
[@​thaJeztah](https://github.com/thaJeztah) in
[#​448](https://github.com/spf13/pflag/pull/448)
#### New Contributors
- [@​thaJeztah](https://github.com/thaJeztah) made their
first contribution in
[#​447](https://github.com/spf13/pflag/pull/447)
**Full Changelog**:
<https://github.com/spf13/pflag/compare/v1.0.9...v1.0.10>
</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:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update module github.com/stretchr/objx to v0.5.3 (#14384)
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [github.com/stretchr/objx](https://github.com/stretchr/objx)
| `v0.5.2` → `v0.5.3` |

|

|
---
> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.
---
### Release Notes
<details>
<summary>stretchr/objx (github.com/stretchr/objx)</summary>
###
[`v0.5.3`](https://github.com/stretchr/objx/releases/tag/v0.5.3)
[Compare
Source](https://github.com/stretchr/objx/compare/v0.5.2...v0.5.3)
#### What's Changed
- Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by
[@​dependabot](https://github.com/dependabot)\[bot] in
[#​150](https://github.com/stretchr/objx/pull/150)
- Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 by
[@​dependabot](https://github.com/dependabot)\[bot] in
[#​152](https://github.com/stretchr/objx/pull/152)
- Add syntax highlighting in README by
[@​JakeRoggenbuck](https://github.com/JakeRoggenbuck) in
[#​153](https://github.com/stretchr/objx/pull/153)
- Bump actions/checkout from 4 to 5 by
[@​dependabot](https://github.com/dependabot)\[bot] in
[#​155](https://github.com/stretchr/objx/pull/155)
- Bump github.com/stretchr/testify from 1.10.0 to 1.11.0 by
[@​dependabot](https://github.com/dependabot)\[bot] in
[#​156](https://github.com/stretchr/objx/pull/156)
- Bump github.com/stretchr/testify from 1.11.0 to 1.11.1 by
[@​dependabot](https://github.com/dependabot)\[bot] in
[#​157](https://github.com/stretchr/objx/pull/157)
- Remove codeclimate integration by
[@​hanzei](https://github.com/hanzei) in
[#​160](https://github.com/stretchr/objx/pull/160)
- Bump actions/setup-go from 5 to 6 by
[@​dependabot](https://github.com/dependabot)\[bot] in
[#​158](https://github.com/stretchr/objx/pull/158)
- Extend test coverage to include go 1.25 by
[@​hanzei](https://github.com/hanzei) in
[#​161](https://github.com/stretchr/objx/pull/161)
- Remove duplicate module cache from CI by
[@​hanzei](https://github.com/hanzei) in
[#​162](https://github.com/stretchr/objx/pull/162)
- Replace `testify` assertions with custom testing helpers by
[@​emilien-puget](https://github.com/emilien-puget) in
[#​159](https://github.com/stretchr/objx/pull/159)
#### New Contributors
- [@​JakeRoggenbuck](https://github.com/JakeRoggenbuck)
made their first contribution in
[#​153](https://github.com/stretchr/objx/pull/153)
- [@​emilien-puget](https://github.com/emilien-puget)
made their first contribution in
[#​159](https://github.com/stretchr/objx/pull/159)
**Full Changelog**:
<https://github.com/stretchr/objx/compare/v0.5.2...v0.5.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:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update module go.yaml.in/yaml/v2 to v2.4.3 (#14386)
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [go.yaml.in/yaml/v2](https://github.com/yaml/go-yaml) |
`v2.4.2` → `v2.4.3` |

|

|
---
> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.
---
### Release Notes
<details>
<summary>yaml/go-yaml (go.yaml.in/yaml/v2)</summary>
###
[`v2.4.3`](https://github.com/yaml/go-yaml/compare/v2.4.2...v2.4.3)
[Compare
Source](https://github.com/yaml/go-yaml/compare/v2.4.2...v2.4.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:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* [chore][processor/memorylimiter] Add hard limit recommendations to readme (#14356)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Updates a few things in the readme:
* Offer general guidance for how to configure the memory limiter
processor depending on the host environment.
* Add a note that receivers may consume memory before the processor can
reject the data.
* Other small touchups
* chore(deps): update module google.golang.org/protobuf to v1.36.11 (#14387)
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[google.golang.org/protobuf](https://github.com/protocolbuffers/protobuf-go)
| `v1.36.8` → `v1.36.11` |

|

|
|
[google.golang.org/protobuf](https://github.com/protocolbuffers/protobuf-go)
| `v1.36.10` → `v1.36.11` |

|

|
---
> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.
---
### Release Notes
<details>
<summary>protocolbuffers/protobuf-go
(google.golang.org/protobuf)</summary>
###
[`v1.36.11`](https://github.com/protocolbuffers/protobuf-go/releases/tag/v1.36.11)
[Compare
Source](https://github.com/protocolbuffers/protobuf-go/compare/v1.36.10...v1.36.11)
**Full Changelog**:
<https://github.com/protocolbuffers/protobuf-go/compare/v1.36.10...v1.36.11>
User-visible changes:
[CL/726780](https://go-review.googlesource.com/c/protobuf/+/726780):
encoding/prototext: Support URL chars in type URLs in text-format.
Bug fixes:
[CL/728680](https://go-review.googlesource.com/c/protobuf/+/728680):
internal/impl: check recursion limit in lazy decoding validation
[CL/711015](https://go-review.googlesource.com/c/protobuf/+/711015):
reflect/protodesc: fix handling of import options in dynamic builds
Maintenance:
[CL/728681](https://go-review.googlesource.com/c/protobuf/+/728681):
reflect/protodesc: add support for edition unstable
[CL/727960](https://go-review.googlesource.com/c/protobuf/+/727960):
all: add EDITION\_UNSTABLE support
[CL/727940](https://go-review.googlesource.com/c/protobuf/+/727940):
types: regenerate using latest protobuf v33.2 release
[CL/727140](https://go-review.googlesource.com/c/protobuf/+/727140):
internal/testprotos/lazy: convert .proto files to editions
[CL/723440](https://go-review.googlesource.com/c/protobuf/+/723440):
cmd/protoc-gen-go: add missing annotations for few generated protobuf
symbols.
[CL/720980](https://go-review.googlesource.com/c/protobuf/+/720980):
internal/filedesc: remove duplicative Message.unmarshalOptions
[CL/716360](https://go-review.googlesource.com/c/protobuf/+/716360):
internal/encoding/tag: use proto3 defaults if proto3
[CL/716520](https://go-review.googlesource.com/c/protobuf/+/716520):
proto: un-flake TestHasExtensionNoAlloc
[CL/713342](https://go-review.googlesource.com/c/protobuf/+/713342):
compiler/protogen: properly filter option dependencies in go-protobuf
plugin.
[CL/711200](https://go-review.googlesource.com/c/protobuf/+/711200):
proto: add test for oneofs containing messages with required fields
[CL/710855](https://go-review.googlesource.com/c/protobuf/+/710855):
proto: add explicit test for a non-nil but empty byte slice
###
[`v1.36.10`](https://github.com/protocolbuffers/protobuf-go/releases/tag/v1.36.10)
[Compare
Source](https://github.com/protocolbuffers/protobuf-go/compare/v1.36.9...v1.36.10)
**Full Changelog**:
<https://github.com/protocolbuffers/protobuf-go/compare/v1.36.9...v1.36.10>
Bug fixes:
[CL/704415](https://go-review.googlesource.com/c/protobuf/+/704415):
reflect/protodesc: edition-2024-specific properties should not be lost
when converting FileDescriptorProto to protoreflect.FileDescriptor
Maintenance:
[CL/708555](https://go-review.googlesource.com/c/protobuf/+/708555):
internal/race\_test: add missing impl.LazyEnabled() t.Skip
[CL/703295](https://go-review.googlesource.com/c/protobuf/+/703295):
proto: add more invalid group encoding test cases
[CL/703276](https://go-review.googlesource.com/c/protobuf/+/703276):
internal/impl: verify lazy unmarshal on Deterministic encoding
[CL/703275](https://go-review.googlesource.com/c/protobuf/+/703275):
internal/impl: stop using deprecated .Field in lazy\_test.go
[CL/702795](https://go-review.googlesource.com/c/protobuf/+/702795):
all: update to latest github.com/google/go-cmp
###
[`v1.36.9`](https://github.com/protocolbuffers/protobuf-go/releases/tag/v1.36.9)
[Compare
Source](https://github.com/protocolbuffers/protobuf-go/compare/v1.36.8...v1.36.9)
**Full Changelog**:
<https://github.com/protocolbuffers/protobuf-go/compare/v1.36.8...v1.36.9>
User-visible changes:
[CL/699715](https://go-review.googlesource.com/c/protobuf/+/699715):
cmd/protoc-gen-go: add test for "import option" directive
[CL/699115](https://go-review.googlesource.com/c/protobuf/+/699115):
internal/editionssupport: declare support for edition 2024
[CL/697595](https://go-review.googlesource.com/c/protobuf/+/697595):
editions: Fix spelling mistake in panic message
</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:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update module github.com/shirou/gopsutil/v4 to v4.25.12 (#14388)
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/shirou/gopsutil/v4](https://github.com/shirou/gopsutil)
| `v4.25.11` → `v4.25.12` |

|

|
---
> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.
---
### Release Notes
<details>
<summary>shirou/gopsutil (github.com/shirou/gopsutil/v4)</summary>
###
[`v4.25.12`](https://github.com/shirou/gopsutil/releases/tag/v4.25.12)
[Compare
Source](https://github.com/shirou/gopsutil/compare/v4.25.11...v4.25.12)
<!-- Release notes generated using configuration in .github/release.yml
at v4.25.12 -->
#### What's Changed
##### cpu
- \[cpu]\[linux]: fix ":" in CPU ModelName by
[@​shirou](https://github.com/shirou) in
[#​1960](https://github.com/shirou/gopsutil/pull/1960)
- \[cpu]\[linux]: add riscv cpu parser by
[@​mengzhuo](https://github.com/mengzhuo) in
[#​1970](https://github.com/shirou/gopsutil/pull/1970)
- \[cpu]\[darwin]: release pCoreRef in each iteration by
[@​uubulb](https://github.com/uubulb) in
[#​1971](https://github.com/shirou/gopsutil/pull/1971)
- \[darwin]: wrap library functions as struct methods by
[@​uubulb](https://github.com/uubulb) in
[#​1976](https://github.com/shirou/gopsutil/pull/1976)
##### disk
- Fixes
[#​1284](https://github.com/shirou/gopsutil/issues/1284)
by [@​johnnybubonic](https://github.com/johnnybubonic) in
[#​1931](https://github.com/shirou/gopsutil/pull/1931)
- fix disk.Partition cut off after first disk by
[@​sni](https://github.com/sni) in
[#​1975](https://github.com/shirou/gopsutil/pull/1975)
- \[disk]\[windows]: add virtual drive for TestGetLogicalDrives by
[@​shirou](https://github.com/shirou) in
[#​1977](https://github.com/shirou/gopsutil/pull/1977)
- Add missing mount flags (local, protect) by
[@​Kerlenton](https://github.com/Kerlenton) in
[#​1968](https://github.com/shirou/gopsutil/pull/1968)
##### host
- Replace AIX uptime function with ps etimes-based implementation by
[@​Dylan-M](https://github.com/Dylan-M) in
[#​1967](https://github.com/shirou/gopsutil/pull/1967)
##### mem
- feat(mem): Add support for Percpu by
[@​pvlltvk](https://github.com/pvlltvk) in
[#​1972](https://github.com/shirou/gopsutil/pull/1972)
##### process
- Add NumFDs implementation for Darwin by
[@​Kerlenton](https://github.com/Kerlenton) in
[#​1965](https://github.com/shirou/gopsutil/pull/1965)
- \[sensors]\[darwin]: retrieve sensor information in one function call
by [@​uubulb](https://github.com/uubulb) in
[#​1973](https://github.com/shirou/gopsutil/pull/1973)
#### New Contributors
- [@​Kerlenton](https://github.com/Kerlenton) made their
first contribution in
[#​1965](https://github.com/shirou/gopsutil/pull/1965)
- [@​sni](https://github.com/sni) made their first
contribution in
[#​1975](https://github.com/shirou/gopsutil/pull/1975)
- [@​pvlltvk](https://github.com/pvlltvk) made their
first contribution in
[#​1972](https://github.com/shirou/gopsutil/pull/1972)
- [@​mengzhuo](https://github.com/mengzhuo) made their
first contribution in
[#​1970](https://github.com/shirou/gopsutil/pull/1970)
**Full Changelog**:
<https://github.com/shirou/gopsutil/compare/v4.25.11...v4.25.12>
</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:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update module go.uber.org/zap to v1.27.1 (#14385)
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [go.uber.org/zap](https://github.com/uber-go/zap) | `v1.27.0`
→ `v1.27.1` |

|

|
---
> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.
---
### Release Notes
<details>
<summary>uber-go/zap (go.uber.org/zap)</summary>
###
[`v1.27.1`](https://github.com/uber-go/zap/releases/tag/v1.27.1)
[Compare
Source](https://github.com/uber-go/zap/compare/v1.27.0...v1.27.1)
Enhancements:
- [#​1501][]: prevent `Object` from panicking on nils
- [#​1511][]: Fix a race condition in `WithLazy`.
Thanks to [@​rabbbit](https://github.com/rabbbit),
[@​alshopov](https://github.com/alshopov),
[@​jquirke](https://github.com/jquirke),
[@​arukiidou](https://github.com/arukiidou) for their
contributions to this release.
[#​1501]: https://github.com/uber-go/zap/pull/1501
[#​1511]: https://github.com/uber-go/zap/pull/1511
</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:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* [chore] Disable noisy indirect dependency updates with Renovate (#14391)
Rolling back
https://github.com/open-telemetry/opentelemetry-collector/pull/14345
Enabling indirect updates does not fully eliminate the need for the
tidy-dependencies job, but it generates a large number of noisy PRs for
every indirect dependency.
We can wait for the resolution of
https://github.com/renovatebot/renovate/issues/12999 and see whether it
helps instead.
* [chore] Fix small issues in renovate.json (#14390)
- Fix google.golang.org grouping. The url is wrong, it's hosted on
github, use package names instead
- Remove trailing comma to have valid json
* [receiver/nop]: add profiles signal support (#14253)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Adds support for `profiles` in the nop receiver.
* Reenable profiles batching (#14313)
With the introduction of `MergeTo` into profiles, we can now reenable
profiles batching! 🥳
Closes
https://github.com/open-telemetry/opentelemetry-collector/issues/13106
* chore: split service metric views into an internal package (#14392)
Those metric views are getting quite frequent updates, and start
becoming less and less trivial to have within a single file.
This splits them into their own internal submodule, so we can start
splitting them into their own submethods as needed later on.
* [chore] [docs] Add component naming guidelines (#14389)
Document the new `lower_snake_case` naming convention for OpenTelemetry
Collector components in the coding guidelines as result of discussion in
#14208.
* Add support for deprecated component type aliases (#14349)
Related to
https://github.com/open-telemetry/opentelemetry-collector/issues/14208
This change allows component authors to register one optional deprecated
alias per component type, enabling smooth migrations when renaming
components. When an alias is used in configuration, the collector will
automatically resolve it to the original component and log a deprecation
warning.
Changes:
- Add `WithDeprecatedTypeAlias` factory option to experimental modules
(xreceiver, xexporter, xprocessor, xconnector)
- Generate alias expansion code in builder template that:
- Populates factory maps with aliases pointing to original factories
- Updates module information maps for aliased types
- Validates that aliases don't conflict with existing component types
- Add deprecation warnings that log when an alias is used: "Using
deprecated alias <alias>; use <original> instead"
Extensions are left aside for now.
* [mdatagen] Add optional display_name field to metadata.yaml (#14115)
## Description
This PR adds an optional `display_name` field to metadata.yaml for
human-readable component names, as requested in #14114.
## Changes
- Added `display_name` field to metadata-schema.yaml
- Updated Metadata struct to include DisplayName field
- Implemented automatic capitalization of type field when display_name
not provided
- Modified readme.md.tmpl to generate README titles from display_name
- Fixed unused import issue in config_test.go.tmpl
- Added test cases for display_name handling
- Regenerated internal test code and README files
## Implementation
Following the implementation guide from @mx-psi:
1. Added the field to the Metadata struct
2. Added title generation section to readme.md.tmpl template
3. Added comprehensive tests covering both explicit and default display
names
4. Verified functionality with OTLP receiver (tested locally)
## Behavior
- When `display_name` is set in metadata.yaml, it will be used as the
README title
- When not set, the component type will be automatically capitalized
(e.g., "otlp" becomes "Otlp")
- Fully backward compatible - existing components without display_name
continue to work
## Testing
- Unit tests added for display_name loading
- Default value generation tested
- Generated test files verified
- CI checks passing (gotidy, misspell, multimod-verify, crosslink)
Fixes #14114
Co-authored-by: SteveYi <steveyiyo@steveyi.net>
---------
Co-authored-by: Pablo Baeyens <pablo.baeyens@datadoghq.com>
* Add metadata.yaml to consumertest (#14252)
This makes consumertest a component, as it can need changelog entries.
* Update release tracking issue to match the actual release docs (#14250)
The release tracking issue is a bit misleading, as not all actions are
actually performed by the collector release manager.
And some actions don't really reflect the release docs.
This splits the core/contrib/releases releases per their respective
managers.
I've also updated the "like" issue to a more recent one.
* Change verbosity level for otelcol_exporter_queue_batch_send_size metric (#14279)
<!-- Issue number if applicable -->
#### Link to tracking issue
Fixes #14278
---------
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* [chore] use the same modernize as golanglint (#14175)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
This PR ensures we use the same modernize package as
[golanglint](https://github.com/golangci/golangci-lint/blob/main/pkg/golinters/modernize/modernize.go#L10)
---------
Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>
Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
* [chore] move from DialContext to NewClient (#13663)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Use grpc.NewClient instead of grpc.DialContext
<!-- Issue number if applicable -->
#### Link to tracking issue
Fixes #13632
<!--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: sivchari <shibuuuu5@gmail.com>
* [chore][receiver/otlp] Add sequential logs benchmark (#14398)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Adds two benchmarks for receiving OTLP logs over HTTP (proto) and gRPC.
The goal is to have reliable but not necessarily realistic benchmarks.
As such this benchmark does not test concurrent requests (which is
important and we should do on a different PR).
If these look okay and prove to be non-flaky enough on main, I will add
benchmarks for the other stable signals as well.
<!-- Issue number if applicable -->
#### Link to tracking issue
Updates #14111
Updates #12979
* builder: avoid duplicate CLI error logging in generated main (#14317)
### Problem
When running an invalid CLI command (for example `otelcorecol foo`),
Cobra already prints a user-facing error message.
However, the builder-generated `main.go` also logs the same error using
`log.Fatalf`, which results in duplicate error output.
### Solution
This change updates the builder template to:
- remove `log.Fatalf` from `main()`
- exit with a non-zero status using `os.Exit(1)`
- allow Cobra to fully own CLI error output
### Result
**Before**
```
Error: unknown command "foo" for "otelcorecol"
Run 'otelcorecol --help' for usage.
collector server run finished with error: unknown command "foo" for "otelcorecol"
```
**After**
```
Error: unknown command "foo" for "otelcorecol"
Run 'otelcorecol --help' for usage.
```
### Notes
- Change is limited to
`cmd/builder/internal/builder/templates/main.go.tmpl`
- No behavior change for successful execution paths
- Exit code behavior remains unchanged
**Closes:** #14302
* [exporter/otlphttp] rename to `otlp_http` with deprecated alias `otlphttp` (#14397)
Part of
https://github.com/open-telemetry/opentelemetry-collector/issues/14396
* [chore] Simplify experimental factory wrappers (#14395)
Removes unnecessary `factoryOpts` wrapper structs from all x-prefixed
components, simplifying factory option handling by applying options
directly to the factory.
* [xscraperhelper] init package (#14235)
#### Description
Along with `scraper/xscraper` this package is needed to enable OTel
Profiling signal receivers, such as
[receiver/pprofreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver).
#### 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: Florian Lehner <dev@der-flo.net>
Signed-off-by: Florian Lehner <florian.lehner@elastic.co>
* [chore] [consumer/consumererror/xconsumererror] Add metadata yaml (#14182)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
This PR adds a metadata yaml file to the
`consumer/consumererror/xconsumererror` component, allowing it to be
referenced in changelogs.
<!-- Issue number if applicable -->
#### Link to tracking issue
Allows #14152 to progress.
<!--Describe what testing was performed and which tests were added.-->
#### Testing
Tried it first in that PR before opening as a separate PR.
<!--Describe the documentation added.-->
#### Documentation
<!--Please delete paragraphs that you did not use before submitting.-->
Co-authored-by: Damien Mathieu <42@dmathieu.com>
Co-authored-by: Pablo Baeyens <pablo.baeyens@datadoghq.com>
* [consumer/consumertest] Add ProfileCount() (#14251)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
In #14239 `(Profiles)ProfileCount() int` was introduced. Provide this
function also in consumertests for other tests.
<!-- 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: Florian Lehner <florian.lehner@elastic.co>
* [mdatagen] Enable configurable attributes for metrics (#14281)
Reopens
[13900](https://github.com/open-telemetry/opentelemetry-collector/pull/13900)
#### Description
Modified `cmd/mdatagen` to allow for two new fields in the configuration
yaml of metrics. These new configuration options will allow for a user
to enable or disable attributes (i.e. reduce dimensionality of metrics
being generated) from their collector configuration. The modified
`MetricsBuilder` generated by `mdatagen` does not record disabled
attributes and automatically re-aggregates metrics based on the
resulting enabled set of attributes. There are four different
aggregation strategies supported (`sum, average, min, and max`) which
can be specified as a setting in `config.yaml`.
The changes to the config.yaml are:
```yaml
receiver:
someMetricReceiver:
...
metrics:
...
attributes: [<list of attributes to include for metric at runtime>] # new
aggregation_strategy: <sum|avg|min|max> # new
```
Attribute `requirement_level` takes president over this re-aggregation
and any metric attribute with a `requirement_level` of `required` cannot
be disabled in this way. For more information on `requirement_level`
please see
[13913](https://github.com/open-telemetry/opentelemetry-collector/pull/13913)
The set of attributes provided by the user _must_ be contained in the
set of attributes defined in the metadata.yaml, including an attribute
which is not defined in the metrics `metadata` file will fail. Also,
attempting to omit an attribute defined as `requirement_level: required`
will cause the configuration to fail and the collector not to start.
Omitting the field entirely will default to the defined set of metric
attributes in the `metadata` file with a requirement level of
`recommended` or above.
Due to its large scope and foundational nature, a featuregate has been
added for this change. This gate is represented by a new field in the
`metadata.yaml`, `reaggregation_enabled: <bool>`. Setting this to `true`
will enable the new codegen with spatial reaggregation features.
<!-- Issue number if applicable -->
#### Link to tracking issue
Fixes
[10726](https://github.com/open-telemetry/opentelemetry-collector/issues/10726)
<!--Describe what testing was performed and which tests were added.-->
#### Testing
Generated tests have been updated to test new aggregation behavior.
<!--Describe the documentation added.-->
#### Documentation
ran `make gogenerate`
ran `make generate`
<!--Please delete paragraphs that you did not use before submitting.-->
* [chore] Reuse logStabilityLevel in extension factory (#14406)
* [xextension] Add deprecated type alias support for extensions (#14405)
Add support for deprecated component type aliases to extensions,
following the implementation started in #14349
The new `xextension.WithDeprecatedTypeAlias` factory option allows
extension authors to register deprecated type aliases using:
```go
xextension.NewFactory(
newType,
createDefaultConfig,
createExtension,
component.StabilityLevelAlpha,
xextension.WithDeprecatedTypeAlias(oldType),
)
* Update All go.opentelemetry.io/collector packages to v0.143.0 (#14418)
> **Note:** This PR body was truncated due to platform limits.
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[go.opentelemetry.io/collector/component/componenttest](https://github.com/open-telemetry/opentelemetry-collector)
| `v0.0.0-00010101000000-000000000000` → `v0.143.0` |

|

|
|
[go.opentelemetry.io/collector/pipeline/xpipeline](https://github.com/open-telemetry/opentelemetry-collector)
| `v0.141.0` → `v0.143.0` |

|

|
|
[go.opentelemetry.io/collector/scraper/scraperhelper](https://github.com/open-telemetry/opentelemetry-collector)
| `v0.141.0` → `v0.143.0` |

|

|
|
[go.opentelemetry.io/collector/scraper/xscraper](https://github.com/open-telemetry/opentelemetry-collector)
| `v0.0.0-20251128160438-7012862e3615` → `v0.143.0` |

|

|
---
> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.
---
### Release Notes
<details>
<summary>open-telemetry/opentelemetry-collector
(go.opentelemetry.io/collector/component/componenttest)</summary>
###
[`v0.143.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1490v01430)
[Compare
Source](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.142.0...v0.143.0)
##### 💡 Enhancements 💡
- `all`: Update semconv import to 1.38.0
([#​14305](https://github.com/open-telemetry/opentelemetry-collector/issues/14305))
- `exporter/nop`: Add profiles support to nop exporter
([#​14331](https://github.com/open-telemetry/opentelemetry-collector/issues/14331))
- `pkg/pdata`: Optimize the size and pointer bytes for pdata structs
([#​14339](https://github.com/open-telemetry/opentelemetry-collector/issues/14339))
- `pkg/pdata`: Avoid using interfaces/oneof like style for optional
fields
([#​14333](https://github.com/open-telemetry/opentelemetry-collector/issues/14333))
<!-- previous-version -->
###
[`v0.142.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1480v01420)
[Compare
Source](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.141.0...v0.142.0)
##### 💡 Enhancements 💡
- `exporter/debug`: Add logging of dropped attributes, events, and links
counts in detailed verbosity
([#​14202](https://github.com/open-telemetry/opentelemetry-collector/issues/14202))
- `extension/memory_limiter`: The memorylimiter extension can be used as
an HTTP/GRPC middleware.
([#​14081](https://github.com/open-telemetry/opentelemetry-collector/issues/14081))
- `pkg/config/configgrpc`: Statically validate gRPC endpoint
([#​10451](https://github.com/open-telemetry/opentelemetry-collector/issues/10451))
This validation was already done in the OTLP exporter. It will now be
applied to any gRPC client.
- `pkg/service`: Add support to disabling adding resource attributes as
zap fields in internal logging
([#​13869](https://github.com/open-telemetry/opentelemetry-collector/issues/13869))
Note that this does not affect logs exported through OTLP.
<!-- previous-version -->
###
[`v0.141.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1470v01410)
[Compare
Source](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.140.0...v0.141.0)
##### 🛑 Breaking changes 🛑
- `pkg/config/confighttp`: Use configoptional.Optional for
confighttp.ClientConfig.Cookies field
([#​14021](https://github.com/open-telemetry/opentelemetry-collector/issues/14021))
##### 💡 Enhancements 💡
- `pkg/config/confighttp`: Setting `compression_algorithms` to an empty
list now disables automatic decompression, ignoring Content-Encoding
([#​14131](https://github.com/open-telemetry/opentelemetry-collector/issues/14131))
- `pkg/service`: Update semantic conventions from internal telemetry to
v1.37.0
([#​14232](https://github.com/open-telemetry/opentelemetry-collector/issues/14232))
- `pkg/xscraper`: Implement xscraper for Profiles.
([#​13915](https://github.com/open-telemetry/opentelemetry-collector/issues/13915))
##### 🧰 Bug fixes 🧰
- `pkg/config/configoptional`: Ensure that configoptional.None values
resulting from unmarshaling are equivalent to configoptional.Optional
zero value.
([#​14218](https://github.com/open-telemetry/opentelemetry-collector/issues/14218))
<!-- previous-version -->
###
[`v0.140.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1460v01400)
[Compare
Source](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.139.0...v0.140.0)
##### 💡 Enhancements 💡
- `cmd/mdatagen`: `metadata.yaml` now supports an optional `entities`
section to organize resource attributes into logical entities with
identity and description attributes
([#​14051](https://github.com/open-telemetry/opentelemetry-collector/issues/14051))
When entities are defined, mdatagen generates
`AssociateWith{EntityType}()` methods on ResourceBuilder
that associate resources with entity types using the entity refs API.
The entities section is backward
compatible - existing metadata.yaml files without entities continue to
work as before.
- `cmd/mdatagen`: Add semconv reference for metrics
([#​13920](https://github.com/open-telemetry/opentelemetry-collector/issues/13920))
- `connector/forward`: Add support for Profiles to Profiles
([#​14092](https://github.com/open-telemetry/opentelemetry-collector/issues/14092))
- `exporter/debug`: Disable sending queue by default
([#​14138](https://github.com/open-telemetry/opentelemetry-collector/issues/14138))
The recently added sending queue configuration in Debug exporter was
enabled by default and had a problematic default size of 1.
This change disables the sending queue by default.
Users can enable and configure the sending queue if needed.
- `pkg/config/configoptional`: Mark `configoptional.AddEnabledField` as
beta
([#​14021](https://github.com/open-telemetry/opentelemetry-collector/issues/14021))
- `pkg/otelcol`: This feature has been improved and tested;
secure-by-default redacts configopaque values
([#​12369](https://github.com/open-telemetry/opentelemetry-collector/issues/12369))
##### 🧰 Bug fixes 🧰
- `all`: Ensure service service.instance.id is the same for all the
signals when it is autogenerated.
([#​14140](https://github.com/open-telemetry/opentelemetry-collector/issues/14140))
<!-- previous-version -->
###
[`v0.139.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1450v01390)
[Compare
Source](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.138.0...v0.139.0)
##### 🛑 Breaking changes 🛑
- `cmd/mdatagen`: Make stability.level a required field for metrics
([#​14070](https://github.com/open-telemetry/opentelemetry-collector/issues/14070))
- `cmd/mdatagen`: Replace `optional` field with `requirement_level`
field for attributes in metadata schema
([#​13913](https://github.com/open-telemetry/opentelemetry-collector/issues/13913))
The `optional` boolean field for attributes has been replaced with a
`requirement_level` field that accepts enum values: `required`,
`conditionally_required`, `recommended`, or `opt_in`.
- `required`: attribute is always included and cannot be excluded
- `conditionally_required`: attribute is included by default when
certain conditions are met (replaces `optional: true`)
- `recommended`: attribute is included by default but can be disabled
via configuration (replaces `optional: false`)
- `opt_in`: attribute is not included unless explicitly enabled in user
config
When `requirement_level` is not specified, it defaults to `recommended`.
- `pdata/pprofile`: Remove deprecated `PutAttribute` helper method
([#​14082](https://github.com/open-telemetry/opentelemetry-collector/issues/14082))
- `pdata/pprofile`: Remove deprecated `PutLocation` helper method
([#​14082](https://github.com/open-telemetry/opentelemetry-collector/issues/14082))
##### 💡 Enhancements 💡
- `all`: Add FIPS and non-FIPS implementations for allowed TLS curves
([#​13990](https://github.com/open-telemetry/opentelemetry-collector/issues/13990))
- `cmd/builder`: Set CGO\_ENABLED=0 by default, add the `cgo_enabled`
configuration to enable it.
([#​10028](https://github.com/open-telemetry/opentelemetry-collector/issues/10028))
- `pkg/config/configgrpc`: Errors of type status.Status returned from an
Authenticator extension are being propagated as is to the upstream
client.
([#​14005](https://github.com/open-telemetry/opentelemetry-collector/issues/14005))
- `pkg/config/configoptional`: Adds new `configoptional.AddEnabledField`
feature gate that allows users to explicitly disable a
`configoptional.Optional` through a new `enabled` field.
([#​14021](https://github.com/open-telemetry/opentelemetry-collector/issues/14021))
- `pkg/exporterhelper`: Replace usage of gogo proto for persistent queue
metadata
([#​14079](https://github.com/open-telemetry/opentelemetry-collector/issues/14079))
- `pkg/pdata`: Remove usage of gogo proto and generate the structs with
pdatagen
([#​14078](https://github.com/open-telemetry/opentelemetry-collector/issues/14078))
##### 🧰 Bug fixes 🧰
- `exporter/debug`: add queue configuration
([#​14101](https://github.com/open-telemetry/opentelemetry-collector/issues/14101))
<!-- previous-version -->
###
[`v0.138.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1440v01380)
[Compare
Source](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.137.0...v0.138.0)
##### 🛑 Breaking changes 🛑
- `all`: Remove deprecated type `TracesConfig`
([#​14036](https://github.com/open-telemetry/opentelemetry-collector/issues/14036))
- `pkg/exporterhelper`: Add default values for `sending_queue::batch`
configuration.
([#​13766](https://github.com/open-telemetry/opentelemetry-collector/issues/13766))
Setting `sending_queue::batch` to an empty value now results in the same
setup as the default batch processor configuration.
- `all`: Add unified print-config command with mode support (redacted,
unredacted), json support (unstable), and validation support.
([#​11775](https://github.com/open-telemetry/opentelemetry-collector/issues/11775))
This replaces the `print-initial-config` command. See the `service`
package README for more details. The original command name
`print-initial-config` remains an alias, to be retired with the feature
flag.
##### 💡 Enhancements 💡
- `all`: Add `keep_alives_enabled` option to ServerConfig to control
HTTP keep-alives for all components that create an HTTP server.
([#​13783](https://github.com/open-telemetry/opentelemetry-collector/issues/13783))
- `pkg/otelcol`: Avoid unnecessary mutex in collector logs, replace by
atomic pointer
([#​14008](https://github.com/open-telemetry/opentelemetry-collector/issues/14008))
- `cmd/mdatagen`: Add lint/ordering validation for metadata.yaml
([#​13781](https://github.com/open-telemetry/opentelemetry-collector/issues/13781))
- `pdata/xpdata`: Refactor JSON marshaling and unmarshaling to use
`pcommon.Value` instead of `AnyValue`.
([#​13837](https://github.com/open-telemetry/opentelemetry-collector/issues/13837))
- `pkg/exporterhelper`: Expose `MergeCtx` in exporterhelper's queue
batch settings\`
([#​13742](https://github.com/open-telemetry/opentelemetry-collector/issues/13742))
##### 🧰 Bug fixes 🧰
- `all`: Fix zstd decoder data corruption due to decoder pooling for all
components that create an HTTP server.
([#​13954](https://github.com/open-telemetry/opentelemetry-collector/issues/13954))
- `pkg/otelcol`: Remove UB when taking internal logs and move them to
the final zapcore.Core
([#​14009](https://github.com/open-telemetry/opentelemetry-collector/issues/14009))
This can happen because of a race on accessing `logsTaken`.
- `pkg/confmap`: Fix a potential race condition in confmap by closing
the providers first.
([#​14018](https://github.com/open-telemetry/opentelemetry-collector/issues/14018))
<!-- previous-version -->
###
[`v0.137.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1430v01370)
[Compare
Source](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.136.0...v0.137.0)
##### 💡 Enhancements 💡
- `cmd/mdatagen`: Improve validation for resource attribute `enabled`
field in metadata files
([#​12722](https://github.com/open-telemetry/opentelemetry-collector/issues/12722))
Resource attributes now require an explicit `enabled` field in
metadata.yaml files, while regular attributes
are prohibited from having this field. This improves validation and
prevents configuration errors.
- `all`: Changelog entries will now have their component field checked
against a list of valid components.
([#​13924](https://github.com/open-telemetry/opentelemetry-collector/issues/13924))
This will ensure a more standardized changelog format which makes it
easier to parse.
- `pkg/pdata`: Mark featuregate pdata.useCustomProtoEncoding as stable
([#​13883](https://github.com/open-telemetry/opentelemetry-collector/issues/13883))
<!-- previous-version -->
###
[`v0.136.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1420v01360)
[Compare
Source](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.135.0...v0.136.0)
##### 💡 Enhancements 💡
- `xpdata`: Add Serialization and Deserialization of AnyValue
([#​12826](https://github.com/open-telemetry/opentelemetry-collector/issues/12826))
- `debugexporter`: add support for batching
([#​13791](https://github.com/open-telemetry/opentelemetry-collector/issues/13791))
The default queue size is 1
- `configtls`: Add early validation for TLS server configurations to
fail fast when certificates are missing instead of failing at runtime.
([#​13130](https://github.com/open-telemetry/opentelemetry-collector/issues/13130),
[#​13245](https://github.com/open-telemetry/opentelemetry-collector/issues/13245))
- `mdatagen`: Expose stability level in generated metric documentation
([#​13748](https://github.com/open-telemetry/opentelemetry-collector/issues/13748))
- `internal/tools`: Add support for modernize in Makefile
([#​13796](https://github.com/open-telemetry/opentelemetry-collector/issues/13796))
##### 🧰 Bug fixes 🧰
- `otelcol`: Fix a potential deadlock during collector shutdown.
([#​13740](https://github.com/open-telemetry/opentelemetry-collector/issues/13740))
- `otlpexporter`: fix the validation of unix socket endpoints
([#​13826](https://github.com/open-telemetry/opentelemetry-collector/issues/13826))
<!-- previous-version -->
###
[`v0.135.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1410v01350)
[Compare
Source](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.134.0...v0.135.0)
##### 💡 Enhancements 💡
- `exporterhelper`: Add new `exporter_queue_batch_send_size` and
`exporter_queue_batch_send_size_bytes` metrics, showing the size of
telemetry batches from the exporter.
([#​12894](https://github.com/open-telemetry/opentelemetry-collector/issues/12894))
<!-- previous-version -->
###
[`v0.134.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1400v01340)
[Compare
Source](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.133.0...v0.134.0)
##### 💡 Enhancements 💡
- `pdata`: Add custom grpc/encoding that replaces proto and calls into
the custom marshal/unmarshal logic in pdata.
([#​13631](https://github.com/open-telemetry/opentelemetry-collector/issues/13631))
This change should not affect other gRPC calls since it fallbacks to the
default grpc/proto encoding if requests are not pdata/otlp requests.
- `pdata`: Avoid copying the pcommon.Map when same origin
([#​13731](https://github.com/open-telemetry/opentelemetry-collector/issues/13731))
This is a very large improvement if using OTTL with map functions since
it will avoid a map copy.
- `exporterhelper`: Respect `num_consumers` when batching and
partitioning are enabled.
([#​13607](https://github.com/open-telemetry/opentelemetry-collector/issues/13607))
##### 🧰 Bug fixes 🧰
- `pdata`: Correctly parse OTLP payloads containing non-packed repeated
primitive fields
([#​13727](https://github.com/open-telemetry/opentelemetry-collector/issues/13727),
[#​13730](https://github.com/open-telemetry/opentelemetry-collector/issues/13730))
This bug prevented the Collector from ingesting most Histogram,
ExponentialHistogram,
and Profile payloads.
<!-- previous-version -->
###
[`v0.133.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1390v01330)
[Compare
Source](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.132.0...v0.133.0)
##### 🛑 Breaking changes 🛑
- `all`: Increase minimum Go version to 1.24
([#​13627](https://github.com/open-telemetry/opentelemetry-collector/issues/13627))
##### 💡 Enhancements 💡
- `otlphttpexporter`: Add `profiles_endpoint` configuration option to
allow custom endpoint for profiles data export
([#​13504](https://github.com/open-telemetry/opentelemetry-collector/issues/13504))
The `profiles_endpoint` configuration follows the same pattern as
`traces_endpoint`, `metrics_endpoint`, and `logs_endpoint`.
When specified, profiles data will be sent to the custom URL instead of
the default `{endpoint}/v1development/profiles`.
- `pdata`: Add support for local memory pooling for data objects.
([#​13678](https://github.com/open-telemetry/opentelemetry-collector/issues/13678))
This is still an early experimental (alpha) feature. Do not recommended
to be used production. To enable use
"--featuregate=+pdata.useProtoPooling"
- `pdata`: Optimize CopyTo messages to avoid any copy when same source
and destination
([#​13680](https://github.com/open-telemetry/opentelemetry-collector/issues/13680))
- `receiverhelper`: New feature flag to make receiverhelper distinguish
internal vs. downstream errors using new `otelcol_receiver_failed_x` and
`otelcol_receiver_requests` metrics
([#​12207](https://github.com/open-telemetry/opentelemetry-collector/issues/12207),
[#​12802](https://github.com/open-telemetry/opentelemetry-collector/issues/12802))
This is a breaking change for the semantics of the
otelcol\_receiver\_refused\_metric\_points,
otelcol\_receiver\_refused\_log\_records and
otelcol\_receiver\_refused\_spans metrics.
These new metrics and semantics are enabled through the
`receiverhelper.newReceiverMetrics` feature gate.
- `debugexporter`: Add support for entity references in debug exporter
output
([#​13324](https://github.com/open-telemetry/opentelemetry-collector/issues/13324))
- `pdata`: Fix unnecessary allocation of a new state when adding new
values to pcommon.Map
([#​13634](https://github.com/open-telemetry/opentelemetry-collector/issues/13634))
- `service`: Implement refcounting for pipeline data owned memory.
([#​13631](https://github.com/open-telemetry/opentelemetry-collector/issues/13631))
This feature is protected by `--featuregate=+pdata.useProtoPooling`.
- `service`: Add a debug-level log message when a consumer returns an
error.
([#​13357](https://github.com/open-telemetry/opentelemetry-collector/issues/13357))
- `xpdata`: Optimize xpdata/context for persistent queue when only one
value for key
([#​13636](https://github.com/open-telemetry/opentelemetry-collector/issues/13636))
- `otlpreceiver`: Log the listening addresses of the receiver, rather
than the configured endpoints.
([#​13654](https://github.com/open-telemetry/opentelemetry-collector/issues/13654))
- `pdata`: Use the newly added proto marshaler/unmarshaler for the
official proto Marshaler/Unmarshaler
([#​13637](https://github.com/open-telemetry/opentelemetry-collector/issues/13637))
If any problems observed with this consider to disable the featuregate
`--feature-gates=-pdata.useCustomProtoEncoding`
<!-- cspell:ignore MLKEM mlkem -->
- `configtls`: Enable X25519MLKEM768 as per draft-ietf-tls-ecdhe-mlkem
([#​13670](https://github.com/open-telemetry/opentelemetry-collector/issues/13670))
##### 🧰 Bug fixes 🧰
- `exporterhelper`: Prevent uncontrolled goroutines in batcher due to a
incorrect worker pool behaviour.
([#​13689](https://github.com/open-telemetry/opentelemetry-collector/issues/13689))
- `service`: Ensure the insecure configuration is accounted for when
normalizing the endpoint.
([#​13691](https://github.com/open-telemetry/opentelemetry-collector/issues/13691))
- `configoptional`: Allow validating nested types
([#​13579](https://github.com/open-telemetry/opentelemetry-collector/issues/13579))
`configoptional.Optional` now implements `xconfmap.Validator`
- `batchprocessor`: Fix UB in batch processor when trying to read bytes
size after adding request to pipeline
([#​13698](https://github.com/open-telemetry/opentelemetry-collector/issues/13698))
This bug only happens id detailed metrics are enabled and also an async
(sending queue enabled) exporter that mutates data is configure.
<!-- previous-version -->
###
[`v0.132.0`](https://github.com/open-telemetry/opentelemetry-collector/blob/HEAD/CHANGELOG.md#v1380v01320)
[Compare
Source](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.131.0...v0.132.0)
##### 🛑 Breaking changes 🛑
- `componentstatus`: Change the signature of the
componentstatus.NewEvent to accept multiple options.
([#​13210](https://github.com/open-telemetry/opentelemetry-collector/issues/13210))
Changes the signature of the component.NewEvent to accept multiple
EventBuilderOption,
like the new WithAttributes constructor.
##### 🚩 Deprecations 🚩
- `service`: move service.noopTraceProvider feature gate to deprecated
stage
([#​13492](https://github.com/open-telemetry/opentelemetry-collector/issues/13492))
The functionality of the feature gate is available via configuration
with the following telemetry settings:
```
service:
telemetry:
traces:
level: none
```
- `mdatagen`: Remove the deletion of
`generated_component_telemetry_test.go`.
([#​12067](https://github.com/open-telemetry/opentelemetry-collector/issues/12067))
This file used to be generated by mdatagen. Starting with 0.122.0, the
code deletes that file.
It is no longer necessary to delete the file, as code has had time to
upgrade to mdatagen and delete the file.
- `service`: The `telemetry.disableHighCardinalityMetrics` feature gate
is deprecated
([#​13537](https://github.com/open-telemetry/opentelemetry-collector/issues/13537))
The feature gate is now deprecated s…
Problem
When running an invalid CLI command (for example
otelcorecol foo), Cobra already prints a user-facing error message.However, the builder-generated
main.goalso logs the same error usinglog.Fatalf, which results in duplicate error output.Solution
This change updates the builder template to:
log.Fatalffrommain()os.Exit(1)Result
Before
After
Notes
cmd/builder/internal/builder/templates/main.go.tmplCloses: #14302