Enable opentelemetry-api and opentelemetry-instrumentation-annotations even when default-enabled is false#18792
Conversation
67233a6 to
9bd7dcb
Compare
222ea7d to
051868e
Compare
There was a problem hiding this comment.
Pull request overview
This PR introduces a new internal helper, V3PreviewFallbackEnabledInstrumentationModule, that overrides defaultEnabled() to return true when the v3 preview flag (otel.instrumentation.common.v3-preview / declarative instrumentation.common.v3_preview) is enabled, in addition to the normal default-enabled check. The base class is then applied to every javaagent opentelemetry-api-* instrumentation module and to the opentelemetry-instrumentation-annotations-1.16 module, so that once a user opts into v3 preview these modules remain on even if otel.instrumentation.common.default-enabled=false. The helper is annotated @Deprecated for removal in 3.0.0, anticipating that the v3 behavior becomes the default.
Changes:
- Add
V3PreviewFallbackEnabledInstrumentationModulebase class (overrides bothdefaultEnabled()and the deprecateddefaultEnabled(ConfigProperties)). - Re-parent all
OpenTelemetryApi*InstrumentationModuleclasses andAnnotationInstrumentationModuleto the new base, with@SuppressWarnings("deprecation"). - Add tests: distribution-config YAML enables
v3_preview: true, a new test assertsAgentCommonConfig.isV3Preview(), andInstrumentationModuleInstallerTestcovers the fallback path via a mockedConfigProperties.
Reviewed changes
Copilot reviewed 25 out of 25 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| javaagent-extension-api/.../V3PreviewFallbackEnabledInstrumentationModule.java | New deprecated helper base class with v3-preview fallback for defaultEnabled. |
| javaagent-tooling/.../testDistributionConfig/.../AgentDistributionConfigTest.java | New test asserting isV3Preview() reflects YAML config. |
| javaagent-tooling/.../testDistributionConfig/resources/distribution-config.yaml | Adds v3_preview: true under instrumentation/development > java > common. |
| javaagent-tooling/.../InstrumentationModuleInstallerTest.java | Adds unit test of defaultEnabled(config) fallback and a TestInstrumentationModule subclass. |
| instrumentation/opentelemetry-instrumentation-annotations-1.16/.../AnnotationInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
| instrumentation/opentelemetry-api/opentelemetry-api-1.0/.../OpenTelemetryApiInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
| instrumentation/opentelemetry-api/opentelemetry-api-1.10/.../OpenTelemetryApiInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
| instrumentation/opentelemetry-api/opentelemetry-api-1.15/.../OpenTelemetryApiInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
| instrumentation/opentelemetry-api/opentelemetry-api-1.27/.../OpenTelemetryApiInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
| instrumentation/opentelemetry-api/opentelemetry-api-1.31/.../incubator/OpenTelemetryApiInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
| instrumentation/opentelemetry-api/opentelemetry-api-1.32/.../OpenTelemetryApiInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
| instrumentation/opentelemetry-api/opentelemetry-api-1.32/.../incubator/OpenTelemetryApiIncubatorInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
| instrumentation/opentelemetry-api/opentelemetry-api-1.37/.../incubator/OpenTelemetryApiInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
| instrumentation/opentelemetry-api/opentelemetry-api-1.38/.../OpenTelemetryApiInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
| instrumentation/opentelemetry-api/opentelemetry-api-1.38/.../incubator/OpenTelemetryApiIncubatorInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
| instrumentation/opentelemetry-api/opentelemetry-api-1.4/.../OpenTelemetryApiInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
| instrumentation/opentelemetry-api/opentelemetry-api-1.40/.../incubator/OpenTelemetryApiIncubatorInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
| instrumentation/opentelemetry-api/opentelemetry-api-1.42/.../OpenTelemetryApiInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
| instrumentation/opentelemetry-api/opentelemetry-api-1.42/.../incubator/OpenTelemetryApiIncubatorInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
| instrumentation/opentelemetry-api/opentelemetry-api-1.47/.../incubator/OpenTelemetryApiIncubatorInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
| instrumentation/opentelemetry-api/opentelemetry-api-1.50/.../OpenTelemetryApiInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
| instrumentation/opentelemetry-api/opentelemetry-api-1.50/.../incubator/OpenTelemetryApiIncubatorInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
| instrumentation/opentelemetry-api/opentelemetry-api-1.56/.../incubator/OpenTelemetryApiIncubatorInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
| instrumentation/opentelemetry-api/opentelemetry-api-1.57/.../OpenTelemetryApiInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
| instrumentation/opentelemetry-api/opentelemetry-api-1.59/.../OpenTelemetryApiInstrumentationModule.java | Re-parented to v3-preview-fallback module. |
051868e to
da3f715
Compare
da3f715 to
faea1fc
Compare
…s even when default-enabled is false (open-telemetry#18792)
Resolves #7201