Follow SDK naming convention for customizers#15529
Follow SDK naming convention for customizers#15529trask merged 13 commits intoopen-telemetry:mainfrom
Conversation
e86feeb to
18a63a5
Compare
There was a problem hiding this comment.
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 |
steverao
left a comment
There was a problem hiding this comment.
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
📋 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