Skip to content

[CONFIGURATION] File configuration - Tracer/Meter/Logger config#3920

Merged
marcalff merged 5 commits intoopen-telemetry:mainfrom
UMMAN2005:feature/file-config-tracer-meter-logger
Mar 19, 2026
Merged

[CONFIGURATION] File configuration - Tracer/Meter/Logger config#3920
marcalff merged 5 commits intoopen-telemetry:mainfrom
UMMAN2005:feature/file-config-tracer-meter-logger

Conversation

@UMMAN2005
Copy link
Contributor

@UMMAN2005 UMMAN2005 commented Mar 8, 2026

Fixes #3915

Summary

Implements the file configuration types for Tracer, Meter, and Logger as described in #3915.

Changes

  • 9 new configuration model headers: ExperimentalTracerConfig, ExperimentalTracerMatcherAndConfig, ExperimentalTracerConfigurator (and their Meter/Logger equivalents), following the project's one-class-per-header convention.
  • Updated provider configurations: Replaced FIXME comments in TracerProviderConfiguration, MeterProviderConfiguration, and LoggerProviderConfiguration with the new configurator fields.
  • YAML parsing: Added parsing support for the tracer_configurator/development, meter_configurator/development, and logger_configurator/development sections in ConfigurationParser.
  • SDK builder wiring: Implemented CreateTracerConfigurator, CreateMeterConfigurator, CreateLoggerConfigurator in SdkBuilder to construct ScopeConfigurator<T> objects from parsed configuration, including wildcard name matching (? and *).
  • Unit tests: Added tests for each signal's configurator parsing in yaml_trace_test.cc, yaml_metrics_test.cc, and yaml_logs_test.cc.

Types implemented

ExperimentalTracerConfig
ExperimentalTracerConfigurator
ExperimentalTracerMatcherAndConfig
ExperimentalMeterConfig
ExperimentalMeterConfigurator
ExperimentalMeterMatcherAndConfig
ExperimentalLoggerConfig
ExperimentalLoggerConfigurator
ExperimentalLoggerMatcherAndConfig

Test plan

  • Added unit tests for parsing configurator sections (no configurator, default only, default + matchers)
  • CI builds and tests pass on all supported platforms

@UMMAN2005 UMMAN2005 requested a review from a team as a code owner March 8, 2026 17:04
@codecov
Copy link

codecov bot commented Mar 8, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.13%. Comparing base (2d3f5dc) to head (4d16c59).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #3920      +/-   ##
==========================================
+ Coverage   90.05%   90.13%   +0.09%     
==========================================
  Files         226      227       +1     
  Lines        7229     7250      +21     
==========================================
+ Hits         6509     6534      +25     
+ Misses        720      716       -4     
Files with missing lines Coverage Δ
sdk/src/common/wildcard_match.h 100.00% <100.00%> (ø)

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

@UMMAN2005 UMMAN2005 force-pushed the feature/file-config-tracer-meter-logger branch from 61e4ad7 to d71a591 Compare March 9, 2026 08:11
Implement ExperimentalTracerConfig, ExperimentalTracerConfigurator,
ExperimentalTracerMatcherAndConfig and their Meter/Logger equivalents
as defined in the declarative configuration spec.

- Add 9 new configuration model headers (Config, MatcherAndConfig,
  Configurator for each signal)
- Wire configurator fields into TracerProviderConfiguration,
  MeterProviderConfiguration, and LoggerProviderConfiguration
- Implement YAML parsing for the new configuration types in
  ConfigurationParser
- Add ScopeConfigurator creation with wildcard name matching in
  SdkBuilder
- Add unit tests for parsing the new configurator sections

Resolves open-telemetry#3915
@UMMAN2005 UMMAN2005 force-pushed the feature/file-config-tracer-meter-logger branch from d71a591 to a6ad72d Compare March 9, 2026 08:13
Copy link
Member

@marcalff marcalff left a comment

Choose a reason for hiding this comment

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

Nice work, which fits into the existing code.

See preliminary comments.

@marcalff
Copy link
Member

@UMMAN2005

Thanks for the PR, it looks good with a few comments to fix.

Would you have time to address them ? Looking to merge this.

@UMMAN2005
Copy link
Contributor Author

Hi, @marcalff

I have updated code according to comments.

Could you please check it out.

Copy link
Member

@marcalff marcalff left a comment

Choose a reason for hiding this comment

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

Thanks for the patch.

The code itself is spotless, well done.

What remains is the bazel build (we use both CMake and bazel).

@UMMAN2005 UMMAN2005 force-pushed the feature/file-config-tracer-meter-logger branch from 900683f to 11a02d3 Compare March 19, 2026 09:28
@UMMAN2005 UMMAN2005 force-pushed the feature/file-config-tracer-meter-logger branch from 11a02d3 to ecc61ca Compare March 19, 2026 10:58
@marcalff marcalff changed the title Add file configuration types for Tracer, Meter, and Logger [CONFIGURATION] File configuration - Tracer/Meter/Logger config Mar 19, 2026
@marcalff
Copy link
Member

@UMMAN2005

Thanks for all the CI fixes, the last change should do it for IWYU.

Copy link
Member

@marcalff marcalff left a comment

Choose a reason for hiding this comment

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

LGTM, thanks for the yaml feature.

Great work.

@marcalff marcalff merged commit 0ec8bb9 into open-telemetry:main Mar 19, 2026
68 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.

[CONFIGURATION] File configuration - Tracer/Meter/Logger config

3 participants