Skip to content

otelconf: move experimental types to otelconf/x#8529

Open
codeboten wants to merge 13 commits intoopen-telemetry:mainfrom
codeboten:codeboten/otelconf-x
Open

otelconf: move experimental types to otelconf/x#8529
codeboten wants to merge 13 commits intoopen-telemetry:mainfrom
codeboten:codeboten/otelconf-x

Conversation

@codeboten
Copy link
Copy Markdown
Contributor

The otelconf package now only includes the subset of features that are
stable in the configuration schema. The package otelconf/x must be used
for anyone looking to utilize experimental types.

Follow up to #8505

Fixes #8203

@codecov
Copy link
Copy Markdown

codecov bot commented Feb 9, 2026

Codecov Report

❌ Patch coverage is 94.32361% with 107 lines in your changes missing coverage. Please review.
✅ Project coverage is 83.4%. Comparing base (324662a) to head (15055af).
⚠️ Report is 22 commits behind head on main.

Files with missing lines Patch % Lines
otelconf/x/config_json.go 93.9% 18 Missing and 18 partials ⚠️
otelconf/x/metric.go 90.6% 23 Missing and 9 partials ⚠️
otelconf/x/config_yaml.go 95.5% 7 Missing and 8 partials ⚠️
otelconf/x/config_common.go 90.9% 9 Missing and 3 partials ⚠️
otelconf/x/config.go 89.0% 5 Missing and 5 partials ⚠️
otelconf/x/log.go 99.2% 1 Missing ⚠️
otelconf/x/trace.go 99.4% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##            main   #8529     +/-   ##
=======================================
+ Coverage   82.1%   83.4%   +1.2%     
=======================================
  Files        182     191      +9     
  Lines      13756   15416   +1660     
=======================================
+ Hits       11304   12863   +1559     
- Misses      2049    2110     +61     
- Partials     403     443     +40     
Files with missing lines Coverage Δ
otelconf/config_json.go 92.7% <100.0%> (-1.2%) ⬇️
otelconf/config_yaml.go 94.4% <100.0%> (-1.1%) ⬇️
otelconf/log.go 99.2% <ø> (-0.1%) ⬇️
otelconf/metric.go 90.7% <100.0%> (+<0.1%) ⬆️
otelconf/resource.go 100.0% <ø> (ø)
otelconf/trace.go 99.4% <ø> (-0.1%) ⬇️
otelconf/x/propagator.go 100.0% <100.0%> (ø)
otelconf/x/resource.go 100.0% <100.0%> (ø)
otelconf/x/log.go 99.2% <99.2%> (ø)
otelconf/x/trace.go 99.4% <99.4%> (ø)
... and 5 more

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

The otelconf package now only includes the subset of features that are
stable in the configuration schema. The package otelconf/x must be used
for anyone looking to utilize experimental types.

Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com>
Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com>
Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com>
@codeboten codeboten force-pushed the codeboten/otelconf-x branch from 0ba945c to 561b4d7 Compare February 11, 2026 22:24
@codeboten codeboten marked this pull request as ready for review February 11, 2026 22:24
@codeboten codeboten requested review from a team and pellared as code owners February 11, 2026 22:24
Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com>
@codeboten
Copy link
Copy Markdown
Contributor Author

Note to reviewers: the PR contains a lot of code, most of it is duplicated code. The Makefile genjsonschema now puts the initial generated code (including experimental features) in otelconf/x, then generated_config.go is processed by a second sed script to remove experimental features, the results of which land in the root of the otelconf package.

@dashpole
Copy link
Copy Markdown
Contributor

Is there any way to see the parts that are new compared to the base otelconf? Or at least a way to search for them so I can pay more attention there

@codeboten
Copy link
Copy Markdown
Contributor Author

Is there any way to see the parts that are new compared to the base otelconf? Or at least a way to search for them so I can pay more attention there

The changes in otelconf in this PR are all subtractions, you can look at the resulting diff. Or is what you're asking if there's a way to see the diff between otelconf and otelconf/x moving forward?

@dashpole
Copy link
Copy Markdown
Contributor

I see. So all of the added lines of code are a copy without modification (besides being in a new module).

@@ -0,0 +1,69 @@
#!/bin/sed -f
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this leftover from when you generated the /x package, or is this something that we are going to use going forward to manage the differences between otelconf and otelconf/x?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will be used moving forward, it works for now, open to suggestions to improve the flow here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

otelconf: provide strategy for supporting experimental features in schema

3 participants