Repository navigation
Conversation
|
Pull request dashboard statusWaiting on the author · refreshed 2026-11-04 05:18 UTC Respond to 1 review item (e.g. link a commit, explain why not, ask a follow-up):
Status above doesn't look right?
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #8981 +/- ##
============================================
+ Coverage 90.35% 90.42% +0.06%
- Complexity 10984 11078 +94
============================================
Files 1019 1025 +6
Lines 30072 30224 +152
Branches 3927 3943 +16
============================================
+ Hits 27173 27329 +156
+ Misses 1939 1930 -9
- Partials 960 965 +5 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
8478c4d to
0f1785e
Compare
0f1785e to
83f655e
Compare
- Atomically promote DeclarativeConfigProperties and DeclarativeConfigException to io.opentelemetry.api.config in opentelemetry-api. - Retain deprecated backward-compatibility shims for DeclarativeConfigProperties and DeclarativeConfigException in opentelemetry-api-incubator. - Promote ComponentProvider interface to io.opentelemetry.sdk.autoconfigure.spi.declarativeconfig in opentelemetry-sdk-extension-autoconfigure-spi. - Retain deprecated io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider extending the new interface with bidirectional default bridge methods for backward compatibility with external plugins. - Update DeclarativeConfigContext to discover both modern and legacy providers with (type, name) deduplication. - Migrate all repository providers, META-INF/services/ descriptors, and OSGi service loader manifests across exporters, extensions, and declarative config. - Unexempt opentelemetry-exporter-logging from NoSharedInternalCodeTest. - Update opentelemetry-api and autoconfigure-spi jApiCmp baseline diffs.
83f655e to
6a9d67c
Compare
- Restore standalone io.opentelemetry.api.incubator.config.DeclarativeConfigProperties marked @deprecated (scheduled for removal after 1.68.0) to preserve bytecode compatibility without interface inheritance. - Restore standalone io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider marked @deprecated without extending the new stable SPI. - Introduce LegacyYamlDeclarativeConfigProperties in sdk-extensions:declarative-config adapting modern config for legacy component providers. - Delete IncubatorDeclarativeConfigPropertiesAdapter and obsolete dynamic configuration TODO comment on declarativeconfig.ComponentProvider. - Enforce fail-fast duplicate provider checking in DeclarativeConfigContext when multiple providers match (type, name).
jack-berg
left a comment
There was a problem hiding this comment.
Looking good, just two minor nits
Thanks!
FYI @open-telemetry/java-instrumentation-approvers - the package is changing for DeclarativeConfigProperties and DeclarativeConfigException, which will require migration on the instrumentation side. ComponentProvider is also being stabilized.
Since there are some opentelemetry-java-contrib components that implement ComponentProvider, we can't migrate all implementations at once, so this PR retains the old version of ComponentProvider, DeclarativeConfigProperties, DeclarativeConfigException as deprecated for a release cycle to allow migration.
…fig package - Move DeclarativeConfigPropertyUtilTest and InstrumentationConfigUtilTest from io.opentelemetry.api.incubator.config to io.opentelemetry.api.config in api:incubator test source set.
417e5e8 to
5f2c796
Compare
|
Also cc @jkwatson. This adds new public API surface area |
|
Hi @rooks-ns — just a friendly reminder that this pull request is waiting on you. The dashboard status comment has the open items and is kept current.
|
Resolves part of #6970
Description
opentelemetry-api: PromotesDeclarativeConfigPropertiesandDeclarativeConfigExceptiontoio.opentelemetry.api.config.opentelemetry-sdk-extension-autoconfigure-spi: PromotesComponentProvidertoio.opentelemetry.sdk.autoconfigure.spi.declarativeconfig.ComponentProvider.io.opentelemetry.api.incubator.config.DeclarativeConfigPropertiesandDeclarativeConfigExceptionmarked@Deprecated(scheduled for removal after 1.68.0) as standalone classes with zero inheritance to prevent JVM bytecode descriptor mismatches for pre-compiled binaries.io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvidermarked@Deprecated(scheduled for removal after 1.68.0) as a standalone interface without inheritance.DeclarativeConfigContext.loadComponentto discover both modern and legacyComponentProviderimplementations.(type, name).LegacyYamlDeclarativeConfigPropertiesinsdk-extensions:declarative-config.package-info.javaenforcing@ParametersAreNonnullByDefaulttoio.opentelemetry.api.configandio.opentelemetry.sdk.autoconfigure.spi.declarativeconfig.META-INF/services/registrations, and OSGi manifests across exporters, extensions, and declarative config.opentelemetry-exporter-loggingfromNoSharedInternalCodeTest.Notes
ConfigProviderandExtendedOpenTelemetryinapi:incubatorare updated to return the graduatedio.opentelemetry.api.config.DeclarativeConfigProperties.