Skip to content

Conversation

@github-actions github-actions bot added the test native This label can be applied to PRs to trigger them to run native tests label Dec 3, 2025
@trask trask force-pushed the customizer-naming branch from e86feeb to 18a63a5 Compare December 4, 2025 02:26
Copy link

Copilot AI left a 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 @Deprecated annotations 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

@trask trask marked this pull request as ready for review December 4, 2025 04:12
@trask trask requested a review from a team as a code owner December 4, 2025 04:12
Copy link
Contributor

@steverao steverao left a comment

@trask trask merged commit 84669f7 into open-telemetry:main Dec 4, 2025
87 checks passed
@trask trask deleted the customizer-naming branch December 4, 2025 19:22
@github-actions
Copy link
Contributor

github-actions bot commented Dec 4, 2025

📋 Deprecation Notice

This PR has been labeled as a deprecation. Please ensure you provide the following information:

📝 Deprecation Details Required

Please add details to help users understand:

  • What is being deprecated and why
  • What should be used instead (if applicable)
  • Timeline for removal (if known)
  • Any migration guidance

📋 Checklist

  • Deprecation details added to the PR description
  • Deprecation is documented in the changelog entry for the next release
  • Consider adding deprecation warnings in code/documentation

Your deprecation notes will be included in the release notes to help users prepare for future changes.


This comment was automatically generated because the deprecation label was applied to this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

deprecation test native This label can be applied to PRs to trigger them to run native tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants