Skip to content

[CONFIGURATION] Decouple SDK includes from builder interface classes - #4355

Merged
marcalff merged 2 commits into
open-telemetry:mainfrom
dbarker:config_fwd_decl_sdk_types
Aug 4, 2026
Merged

[CONFIGURATION] Decouple SDK includes from builder interface classes#4355
marcalff merged 2 commits into
open-telemetry:mainfrom
dbarker:config_fwd_decl_sdk_types

Conversation

@dbarker

@dbarker dbarker commented Aug 4, 2026

Copy link
Copy Markdown
Member

Contributes to #4352

Follow up to #4335 to continue breaking dependencies between configuration_core and the SDK signal libraries.

The goal is to decouple the abstract builder headers from the SDK component headers. After this change, including an abstract builder header no longer pulls in the SDK headers of the component it builds. The SDK type is forward declared. The requirement for the complete type is deferred to the translation units that implement or invoke a builder, which by definition already include the concrete SDK header and link that signal's library.

This makes the contract for configuration_core more explicit in that it provides the
abstract builder headers without transitively providing the SDK signal headers.

Changes

  • Replace SDK component includes with forward declarations in the abstract builder headers

For significant contributions please make sure you have completed the following items:

  • CHANGELOG.md updated for non-trivial changes
  • Unit tests have been added
  • Changes in public API reviewed

@codecov

codecov Bot commented Aug 4, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.86%. Comparing base (41cf715) to head (c9d84f1).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #4355   +/-   ##
=======================================
  Coverage   80.86%   80.86%           
=======================================
  Files         450      450           
  Lines       19216    19216           
=======================================
  Hits        15537    15537           
  Misses       3679     3679           
Files with missing lines Coverage Δ
...figuration/extension_log_record_exporter_builder.h 100.00% <ø> (ø)
...iguration/extension_push_metric_exporter_builder.h 100.00% <ø> (ø)
...dk/configuration/extension_span_exporter_builder.h 100.00% <ø> (ø)
...sdk/configuration/periodic_metric_reader_builder.h 100.00% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dbarker
dbarker marked this pull request as ready for review August 4, 2026 16:22
@dbarker
dbarker requested a review from a team as a code owner August 4, 2026 16:22

@marcalff marcalff left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM

@marcalff
marcalff enabled auto-merge (squash) August 4, 2026 18:51
@marcalff
marcalff merged commit dfca162 into open-telemetry:main Aug 4, 2026
69 of 70 checks passed
@dbarker
dbarker deleted the config_fwd_decl_sdk_types branch August 4, 2026 22:14
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.

2 participants