-
Notifications
You must be signed in to change notification settings - Fork 1k
Follow SDK naming convention for customizers #15529
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
e86feeb to
18a63a5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR refactors method names to follow the OpenTelemetry SDK naming convention for customizers. The changes deprecate the old setSpanNameExtractor and setStatusExtractor methods in favor of new setSpanNameExtractorCustomizer and setSpanStatusExtractorCustomizer methods, aligning with the naming pattern used in the SDK's AutoConfigurationCustomizer.
- Renamed customizer methods across the codebase to use "Customizer" suffix
- Added
@Deprecatedannotations to old methods that delegate to new ones - Updated field names from "Transformer" to "Customizer" suffix for consistency
- Updated all instrumentation libraries and examples to use new method names
Reviewed changes
Copilot reviewed 37 out of 37 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/internal/InternalInstrumenterCustomizer.java | Added new setSpanNameExtractorCustomizer and setSpanStatusExtractorCustomizer methods; deprecated old methods |
| instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/InstrumenterBuilder.java | Updated anonymous class implementation to use new method names |
| instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java | Added new customizer methods with proper documentation; deprecated old methods |
| instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/internal/InstrumenterCustomizerImpl.java | Updated method implementations to use new customizer naming |
| instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java | Renamed field from statusExtractorTransformer/spanNameExtractorTransformer to customizer variants; added new methods and deprecated old ones |
| instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java | Renamed field from statusExtractorTransformer/spanNameExtractorTransformer to customizer variants; added new methods and deprecated old ones |
| instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v6_0/SpringWebMvcTelemetryBuilder.java | Deprecated old setSpanNameExtractor; added new setSpanNameExtractorCustomizer method |
| instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcTelemetryBuilder.java | Deprecated old setSpanNameExtractor; added new setSpanNameExtractorCustomizer method |
| instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxServerTelemetryBuilder.java | Deprecated old setSpanNameExtractor; added new setSpanNameExtractorCustomizer method |
| instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxClientTelemetryBuilder.java | Deprecated old setSpanNameExtractor; added new setSpanNameExtractorCustomizer method |
| instrumentation/spring/spring-web/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/v3_1/SpringWebTelemetryBuilder.java | Deprecated old setSpanNameExtractor; added new setSpanNameExtractorCustomizer method |
| instrumentation/servlet/servlet-common/library/src/main/java/io/opentelemetry/instrumentation/servlet/internal/ServletInstrumenterBuilder.java | Updated internal call to use setSpanNameExtractorCustomizer |
| instrumentation/servlet/servlet-3.0/library/src/main/java/io/opentelemetry/instrumentation/servlet/v3_0/ServletTelemetryBuilder.java | Deprecated old methods; added new setSpanNameExtractorCustomizer and setSpanStatusExtractorCustomizer methods |
| instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/RestletTelemetryBuilder.java | Deprecated old setSpanNameExtractor; added new setSpanNameExtractorCustomizer method |
| instrumentation/restlet/restlet-1.1/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_1/RestletTelemetryBuilder.java | Deprecated old setSpanNameExtractor; added new setSpanNameExtractorCustomizer method |
| instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackServerTelemetryBuilder.java | Deprecated old setSpanNameExtractor; added new setSpanNameExtractorCustomizer method |
| instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackClientTelemetryBuilder.java | Deprecated old setSpanNameExtractor; added new setSpanNameExtractorCustomizer method |
| instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java | Renamed field from spanNameExtractorTransformer to spanNameExtractorCustomizer; deprecated old method; added new setSpanNameExtractorCustomizer method |
| instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/OkHttpTelemetryBuilder.java | Deprecated old setSpanNameExtractor; added new setSpanNameExtractorCustomizer method |
| instrumentation/netty/netty-4.1/library/src/main/java/io/opentelemetry/instrumentation/netty/v4_1/NettyClientTelemetryBuilder.java | Deprecated old setSpanNameExtractor; added new setSpanNameExtractorCustomizer method |
| instrumentation/kubernetes-client-7.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/kubernetesclient/KubernetesClientSingletons.java | Updated call to use setSpanNameExtractorCustomizer |
| instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt | Updated Kotlin code to use new setSpanNameExtractorCustomizer and setSpanStatusExtractorCustomizer methods |
| instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt | Updated Kotlin code to use new setSpanNameExtractorCustomizer method |
| instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/JettyClientTelemetryBuilder.java | Deprecated old setSpanNameExtractor; added new setSpanNameExtractorCustomizer method |
| instrumentation/jetty-httpclient/jetty-httpclient-12.0/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v12_0/JettyClientTelemetryBuilder.java | Deprecated old setSpanNameExtractor; added new setSpanNameExtractorCustomizer method |
| instrumentation/java-http-server/library/src/main/java/io/opentelemetry/instrumentation/javahttpserver/JavaHttpServerTelemetryBuilder.java | Deprecated old methods; added new setSpanNameExtractorCustomizer and setSpanStatusExtractorCustomizer methods |
| instrumentation/java-http-client/library/src/main/java/io/opentelemetry/instrumentation/javahttpclient/JavaHttpClientTelemetryBuilder.java | Deprecated old setSpanNameExtractor; added new setSpanNameExtractorCustomizer method |
| instrumentation/helidon-4.3/library/src/main/java/io/opentelemetry/instrumentation/helidon/v4_3/HelidonTelemetryBuilder.java | Deprecated old methods; added new setSpanNameExtractorCustomizer and setSpanStatusExtractorCustomizer methods |
| instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTelemetryBuilder.java | Renamed fields from transformer to customizer; deprecated old methods; added new client and server setSpanNameExtractorCustomizer methods |
| instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaServerTelemetryBuilder.java | Deprecated old methods; added new setSpanNameExtractorCustomizer and setSpanStatusExtractorCustomizer methods |
| instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaClientTelemetryBuilder.java | Deprecated old methods; added new setSpanNameExtractorCustomizer and setSpanStatusExtractorCustomizer methods |
| instrumentation/apache-httpclient/apache-httpclient-5.2/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v5_2/ApacheHttpClientTelemetryBuilder.java | Deprecated old setSpanNameExtractor; added new setSpanNameExtractorCustomizer method |
| instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientTelemetryBuilder.java | Deprecated old setSpanNameExtractor; added new setSpanNameExtractorCustomizer method |
| instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetryBuilder.java | Renamed fields from transformer to customizer; deprecated old methods; added new client and server setSpanNameExtractorCustomizer methods |
| instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/internal/InstrumentationCustomizerTest.java | Updated test to use new setSpanNameExtractorCustomizer and setSpanStatusExtractorCustomizer methods |
| examples/extension/src/main/java/com/example/javaagent/DemoInstrumenterCustomizerProvider.java | Updated example code to use new setSpanNameExtractorCustomizer method |
| examples/distro/custom/src/main/java/com/example/javaagent/DemoInstrumenterCustomizerProvider.java | Updated example code to use new setSpanNameExtractorCustomizer method |
.../main/java/io/opentelemetry/instrumentation/api/internal/InternalInstrumenterCustomizer.java
Outdated
Show resolved
Hide resolved
...api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/InstrumenterBuilder.java
Outdated
Show resolved
Hide resolved
...api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/InstrumenterBuilder.java
Outdated
Show resolved
Hide resolved
...java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java
Outdated
Show resolved
Hide resolved
...java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java
Outdated
Show resolved
Hide resolved
...elemetry/instrumentation/api/incubator/instrumenter/internal/InstrumenterCustomizerImpl.java
Outdated
Show resolved
Hide resolved
...elemetry/instrumentation/api/incubator/instrumenter/internal/InstrumenterCustomizerImpl.java
Outdated
Show resolved
Hide resolved
.../main/java/io/opentelemetry/instrumentation/api/internal/InternalInstrumenterCustomizer.java
Outdated
Show resolved
Hide resolved
steverao
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems there are some missing places?
https://github.com/trask/opentelemetry-java-instrumentation/blob/9c80de56e63bc72d10fc790cfd857a3187123909/instrumentation/quartz-2.0/library/src/main/java/io/opentelemetry/instrumentation/quartz/v2_0/QuartzTelemetryBuilder.java#L63
https://github.com/trask/opentelemetry-java-instrumentation/blob/9c80de56e63bc72d10fc790cfd857a3187123909/instrumentation/elasticsearch/elasticsearch-rest-7.0/library/src/main/java/io/opentelemetry/instrumentation/elasticsearch/rest/v7_0/ElasticsearchRest7TelemetryBuilder.java#L74
...try/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java
Outdated
Show resolved
Hide resolved
...try/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java
Outdated
Show resolved
Hide resolved
.../main/java/io/opentelemetry/instrumentation/api/internal/InternalInstrumenterCustomizer.java
Outdated
Show resolved
Hide resolved
📋 Deprecation NoticeThis PR has been labeled as a deprecation. Please ensure you provide the following information: 📝 Deprecation Details RequiredPlease add details to help users understand:
📋 Checklist
Your deprecation notes will be included in the release notes to help users prepare for future changes. This comment was automatically generated because the |
E.g. https://github.com/open-telemetry/opentelemetry-java/blob/main/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/AutoConfigurationCustomizer.java