Skip to content

otelconf: move experimental types to otelconf/x#8529

Merged
dmathieu merged 13 commits intoopen-telemetry:mainfrom
codeboten:codeboten/otelconf-x
Apr 3, 2026
Merged

otelconf: move experimental types to otelconf/x#8529
dmathieu merged 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.42971% with 105 lines in your changes missing coverage. Please review.
✅ Project coverage is 83.5%. Comparing base (8ddaece) to head (d51080a).
⚠️ Report is 1 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.go 89.0% 5 Missing and 5 partials ⚠️
otelconf/x/config_common.go 92.3% 8 Missing and 2 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.2%   83.5%   +1.3%     
=======================================
  Files        183     192      +9     
  Lines      13920   15578   +1658     
=======================================
+ Hits       11445   13015   +1570     
- Misses      2067    2116     +49     
- Partials     408     447     +39     
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 2 files with indirect coverage changes

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

@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
@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

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>
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 15055af to 651d815 Compare April 1, 2026 19:56
codeboten and others added 8 commits April 1, 2026 13:07
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>
Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com>
@dmathieu dmathieu merged commit f202c3f into open-telemetry:main Apr 3, 2026
29 checks passed
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

4 participants