From 3c77d4f53fbf2eb1fa678b3433c76a55cf1086be Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Wed, 22 Oct 2025 13:16:18 -0700 Subject: [PATCH 01/10] Use UnaryOperator --- .../DefaultHttpClientInstrumenterBuilder.java | 15 ++++++------- .../DefaultHttpServerInstrumenterBuilder.java | 16 ++++++-------- .../instrumenter/InstrumenterCustomizer.java | 4 ++-- .../internal/InstrumenterCustomizerImpl.java | 4 ++-- .../api/instrumenter/InstrumenterBuilder.java | 5 ++--- .../InternalInstrumenterCustomizer.java | 5 ++--- .../v2_7/DubboTelemetryBuilder.java | 22 ++++++++----------- .../ApacheHttpClientTelemetryBuilder.java | 7 ++---- .../ApacheHttpClientTelemetryBuilder.java | 7 ++---- .../v1_3/ArmeriaClientTelemetryBuilder.java | 10 +++------ .../v1_3/ArmeriaServerTelemetryBuilder.java | 10 +++------ .../grpc/v1_6/GrpcTelemetryBuilder.java | 16 ++++++-------- .../JavaHttpClientTelemetryBuilder.java | 5 ++--- .../JavaHttpServerTelemetryBuilder.java | 14 +++++------- .../v12_0/JettyClientTelemetryBuilder.java | 5 ++--- .../v9_2/JettyClientTelemetryBuilder.java | 5 ++--- .../AbstractKtorClientTelemetryBuilder.kt | 4 ++-- .../AbstractKtorServerTelemetryBuilder.kt | 4 ++-- .../v4_1/NettyClientTelemetryBuilder.java | 5 ++--- .../okhttp/v3_0/OkHttpTelemetryBuilder.java | 5 ++--- .../r2dbc/v1_0/R2dbcTelemetryBuilder.java | 9 ++++---- .../internal/R2dbcInstrumenterBuilder.java | 7 +++--- .../v1_7/RatpackClientTelemetryBuilder.java | 5 ++--- .../v1_7/RatpackServerTelemetryBuilder.java | 4 ++-- .../restlet/v1_1/RestletTelemetryBuilder.java | 5 ++--- .../restlet/v2_0/RestletTelemetryBuilder.java | 5 ++--- .../web/v3_1/SpringWebTelemetryBuilder.java | 5 ++--- .../SpringWebfluxClientTelemetryBuilder.java | 5 ++--- .../SpringWebfluxServerTelemetryBuilder.java | 5 ++--- .../v5_3/SpringWebMvcTelemetryBuilder.java | 5 ++--- .../v6_0/SpringWebMvcTelemetryBuilder.java | 5 ++--- 31 files changed, 92 insertions(+), 136 deletions(-) diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java index 1903bed26987..fd00e5471d74 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java @@ -38,6 +38,7 @@ import java.util.function.Consumer; import java.util.function.Function; import java.util.function.Supplier; +import java.util.function.UnaryOperator; import javax.annotation.Nullable; /** @@ -54,16 +55,16 @@ public final class DefaultHttpClientInstrumenterBuilder { private final List> additionalExtractors = new ArrayList<>(); - private Function, SpanStatusExtractor> - statusExtractorTransformer = Function.identity(); + private UnaryOperator> statusExtractorTransformer = + UnaryOperator.identity(); private final HttpClientAttributesExtractorBuilder httpAttributesExtractorBuilder; private final HttpClientAttributesGetter attributesGetter; private final HttpSpanNameExtractorBuilder httpSpanNameExtractorBuilder; @Nullable private final TextMapSetter headerSetter; - private Function, ? extends SpanNameExtractor> - spanNameExtractorTransformer = Function.identity(); + private UnaryOperator> spanNameExtractorTransformer = + UnaryOperator.identity(); private boolean emitExperimentalHttpClientTelemetry = false; private Consumer> builderCustomizer = b -> {}; @@ -113,8 +114,7 @@ public DefaultHttpClientInstrumenterBuilder addAttributesExtr @CanIgnoreReturnValue public DefaultHttpClientInstrumenterBuilder setStatusExtractor( - Function, SpanStatusExtractor> - statusExtractor) { + UnaryOperator> statusExtractor) { this.statusExtractorTransformer = statusExtractor; return this; } @@ -192,8 +192,7 @@ public DefaultHttpClientInstrumenterBuilder setRedactQueryPar /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public DefaultHttpClientInstrumenterBuilder setSpanNameExtractor( - Function, SpanNameExtractor> - spanNameExtractorTransformer) { + UnaryOperator> spanNameExtractorTransformer) { this.spanNameExtractorTransformer = spanNameExtractorTransformer; return this; } diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java index bfee127f7cf1..bb8fade6fe44 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java @@ -31,8 +31,8 @@ import java.util.List; import java.util.Objects; import java.util.function.Consumer; -import java.util.function.Function; import java.util.function.Supplier; +import java.util.function.UnaryOperator; import javax.annotation.Nullable; /** @@ -46,15 +46,15 @@ public final class DefaultHttpServerInstrumenterBuilder { private final List> additionalExtractors = new ArrayList<>(); - private Function, SpanStatusExtractor> - statusExtractorTransformer = Function.identity(); + private UnaryOperator> statusExtractorTransformer = + UnaryOperator.identity(); private final HttpServerAttributesExtractorBuilder httpAttributesExtractorBuilder; private final HttpSpanNameExtractorBuilder httpSpanNameExtractorBuilder; @Nullable private final TextMapGetter headerGetter; - private Function, SpanNameExtractor> - spanNameExtractorTransformer = Function.identity(); + private UnaryOperator> spanNameExtractorTransformer = + UnaryOperator.identity(); private final HttpServerRouteBuilder httpServerRouteBuilder; private final HttpServerAttributesGetter attributesGetter; private boolean emitExperimentalHttpServerTelemetry = false; @@ -107,8 +107,7 @@ public DefaultHttpServerInstrumenterBuilder addAttributesExtr @CanIgnoreReturnValue public DefaultHttpServerInstrumenterBuilder setStatusExtractor( - Function, SpanStatusExtractor> - statusExtractor) { + UnaryOperator> statusExtractor) { this.statusExtractorTransformer = statusExtractor; return this; } @@ -175,8 +174,7 @@ public DefaultHttpServerInstrumenterBuilder setKnownMethods( /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public DefaultHttpServerInstrumenterBuilder setSpanNameExtractor( - Function, SpanNameExtractor> - spanNameExtractorTransformer) { + UnaryOperator> spanNameExtractorTransformer) { this.spanNameExtractorTransformer = spanNameExtractorTransformer; return this; } diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java index 6a7d914399d6..be130d7e25f3 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java @@ -11,7 +11,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; import io.opentelemetry.instrumentation.api.instrumenter.OperationMetrics; import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor; -import java.util.function.Function; +import java.util.function.UnaryOperator; /** * Provides customizations for instrumentation, including operation metrics, attributes extraction, @@ -77,5 +77,5 @@ InstrumenterCustomizer addAttributesExtractors( * @return this InstrumenterCustomizer for method chaining */ InstrumenterCustomizer setSpanNameExtractor( - Function, SpanNameExtractor> spanNameExtractorTransformer); + UnaryOperator> spanNameExtractorTransformer); } diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/internal/InstrumenterCustomizerImpl.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/internal/InstrumenterCustomizerImpl.java index b277789bc255..f885f493a2c5 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/internal/InstrumenterCustomizerImpl.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/internal/InstrumenterCustomizerImpl.java @@ -11,7 +11,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.OperationMetrics; import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor; import io.opentelemetry.instrumentation.api.internal.InternalInstrumenterCustomizer; -import java.util.function.Function; +import java.util.function.UnaryOperator; /** * This class is internal and is hence not for public use. Its APIs are unstable and can change at @@ -57,7 +57,7 @@ public InstrumenterCustomizer addContextCustomizer(ContextCustomizer customiz @Override public InstrumenterCustomizer setSpanNameExtractor( - Function, SpanNameExtractor> spanNameExtractorTransformer) { + UnaryOperator> spanNameExtractorTransformer) { customizer.setSpanNameExtractor(spanNameExtractorTransformer); return this; } diff --git a/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/InstrumenterBuilder.java b/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/InstrumenterBuilder.java index 0b724d725eb6..d65c9619bdc8 100644 --- a/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/InstrumenterBuilder.java +++ b/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/InstrumenterBuilder.java @@ -33,7 +33,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Set; -import java.util.function.Function; +import java.util.function.UnaryOperator; import java.util.logging.Logger; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -427,8 +427,7 @@ public void addContextCustomizer(ContextCustomizer customizer) { @Override public void setSpanNameExtractor( - Function, SpanNameExtractor> - spanNameExtractorTransformer) { + UnaryOperator> spanNameExtractorTransformer) { builder.spanNameExtractor = spanNameExtractorTransformer.apply(builder.spanNameExtractor); } diff --git a/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/internal/InternalInstrumenterCustomizer.java b/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/internal/InternalInstrumenterCustomizer.java index d1a0efd7b330..5bf5cc54c715 100644 --- a/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/internal/InternalInstrumenterCustomizer.java +++ b/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/internal/InternalInstrumenterCustomizer.java @@ -9,7 +9,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.ContextCustomizer; import io.opentelemetry.instrumentation.api.instrumenter.OperationMetrics; import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor; -import java.util.function.Function; +import java.util.function.UnaryOperator; /** * This class is internal and is hence not for public use. Its APIs are unstable and can change at @@ -29,6 +29,5 @@ void addAttributesExtractors( void addContextCustomizer(ContextCustomizer customizer); void setSpanNameExtractor( - Function, SpanNameExtractor> - spanNameExtractorTransformer); + UnaryOperator> spanNameExtractorTransformer); } diff --git a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetryBuilder.java b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetryBuilder.java index 6b7eba14ae9a..bedaa61c1ea3 100644 --- a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetryBuilder.java +++ b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetryBuilder.java @@ -22,7 +22,7 @@ import io.opentelemetry.instrumentation.api.semconv.network.ServerAttributesExtractor; import java.util.ArrayList; import java.util.List; -import java.util.function.Function; +import java.util.function.UnaryOperator; import javax.annotation.Nullable; import org.apache.dubbo.rpc.Result; @@ -38,12 +38,10 @@ public final class DubboTelemetryBuilder { @Nullable private String peerService; private final List> attributesExtractors = new ArrayList<>(); - private Function< - SpanNameExtractor, ? extends SpanNameExtractor> - clientSpanNameExtractorTransformer = Function.identity(); - private Function< - SpanNameExtractor, ? extends SpanNameExtractor> - serverSpanNameExtractorTransformer = Function.identity(); + private UnaryOperator> clientSpanNameExtractorTransformer = + UnaryOperator.identity(); + private UnaryOperator> serverSpanNameExtractorTransformer = + UnaryOperator.identity(); DubboTelemetryBuilder(OpenTelemetry openTelemetry) { this.openTelemetry = openTelemetry; @@ -68,8 +66,7 @@ public DubboTelemetryBuilder addAttributesExtractor( /** Sets custom client {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public DubboTelemetryBuilder setClientSpanNameExtractor( - Function, ? extends SpanNameExtractor> - clientSpanNameExtractor) { + UnaryOperator> clientSpanNameExtractor) { this.clientSpanNameExtractorTransformer = clientSpanNameExtractor; return this; } @@ -77,8 +74,7 @@ public DubboTelemetryBuilder setClientSpanNameExtractor( /** Sets custom server {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public DubboTelemetryBuilder setServerSpanNameExtractor( - Function, ? extends SpanNameExtractor> - serverSpanNameExtractor) { + UnaryOperator> serverSpanNameExtractor) { this.serverSpanNameExtractorTransformer = serverSpanNameExtractor; return this; } @@ -90,9 +86,9 @@ public DubboTelemetry build() { DubboRpcAttributesGetter rpcAttributesGetter = DubboRpcAttributesGetter.INSTANCE; SpanNameExtractor spanNameExtractor = RpcSpanNameExtractor.create(rpcAttributesGetter); - SpanNameExtractor clientSpanNameExtractor = + SpanNameExtractor clientSpanNameExtractor = clientSpanNameExtractorTransformer.apply(spanNameExtractor); - SpanNameExtractor serverSpanNameExtractor = + SpanNameExtractor serverSpanNameExtractor = serverSpanNameExtractorTransformer.apply(spanNameExtractor); DubboClientNetworkAttributesGetter netClientAttributesGetter = new DubboClientNetworkAttributesGetter(); diff --git a/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientTelemetryBuilder.java b/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientTelemetryBuilder.java index 850f082eb4e8..28ddb67670d5 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientTelemetryBuilder.java +++ b/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientTelemetryBuilder.java @@ -13,7 +13,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor; import io.opentelemetry.instrumentation.api.semconv.http.HttpClientAttributesExtractorBuilder; import java.util.Collection; -import java.util.function.Function; +import java.util.function.UnaryOperator; import org.apache.http.HttpResponse; /** A builder for {@link ApacheHttpClientTelemetry}. */ @@ -92,10 +92,7 @@ public ApacheHttpClientTelemetryBuilder setKnownMethods(Collection known /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public ApacheHttpClientTelemetryBuilder setSpanNameExtractor( - Function< - SpanNameExtractor, - SpanNameExtractor> - spanNameExtractorTransformer) { + UnaryOperator> spanNameExtractorTransformer) { builder.setSpanNameExtractor(spanNameExtractorTransformer); return this; } diff --git a/instrumentation/apache-httpclient/apache-httpclient-5.2/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v5_2/ApacheHttpClientTelemetryBuilder.java b/instrumentation/apache-httpclient/apache-httpclient-5.2/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v5_2/ApacheHttpClientTelemetryBuilder.java index 82cc6442bc2d..48e68b159b15 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-5.2/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v5_2/ApacheHttpClientTelemetryBuilder.java +++ b/instrumentation/apache-httpclient/apache-httpclient-5.2/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v5_2/ApacheHttpClientTelemetryBuilder.java @@ -13,7 +13,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor; import io.opentelemetry.instrumentation.api.semconv.http.HttpClientAttributesExtractorBuilder; import java.util.Collection; -import java.util.function.Function; +import java.util.function.UnaryOperator; import org.apache.hc.core5.http.HttpResponse; /** A builder for {@link ApacheHttpClientTelemetry}. */ @@ -92,10 +92,7 @@ public ApacheHttpClientTelemetryBuilder setKnownMethods(Collection known /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public ApacheHttpClientTelemetryBuilder setSpanNameExtractor( - Function< - SpanNameExtractor, - SpanNameExtractor> - spanNameExtractorTransformer) { + UnaryOperator> spanNameExtractorTransformer) { builder.setSpanNameExtractor(spanNameExtractorTransformer); return this; } diff --git a/instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaClientTelemetryBuilder.java b/instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaClientTelemetryBuilder.java index b46ca75cb4dc..5f7c9f5490df 100644 --- a/instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaClientTelemetryBuilder.java +++ b/instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaClientTelemetryBuilder.java @@ -18,7 +18,7 @@ import io.opentelemetry.instrumentation.armeria.v1_3.internal.ArmeriaInstrumenterBuilderUtil; import io.opentelemetry.instrumentation.armeria.v1_3.internal.Experimental; import java.util.Collection; -import java.util.function.Function; +import java.util.function.UnaryOperator; public final class ArmeriaClientTelemetryBuilder { @@ -39,10 +39,7 @@ public final class ArmeriaClientTelemetryBuilder { /** Sets the status extractor for client spans. */ @CanIgnoreReturnValue public ArmeriaClientTelemetryBuilder setStatusExtractor( - Function< - SpanStatusExtractor, - SpanStatusExtractor> - statusExtractor) { + UnaryOperator> statusExtractor) { builder.setStatusExtractor(statusExtractor); return this; } @@ -104,8 +101,7 @@ public ArmeriaClientTelemetryBuilder setKnownMethods(Collection knownMet /** Sets custom client {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public ArmeriaClientTelemetryBuilder setSpanNameExtractor( - Function, SpanNameExtractor> - clientSpanNameExtractor) { + UnaryOperator> clientSpanNameExtractor) { builder.setSpanNameExtractor(clientSpanNameExtractor); return this; } diff --git a/instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaServerTelemetryBuilder.java b/instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaServerTelemetryBuilder.java index c7e7c3ee3fa3..dfea8dca34e1 100644 --- a/instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaServerTelemetryBuilder.java +++ b/instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaServerTelemetryBuilder.java @@ -18,7 +18,7 @@ import io.opentelemetry.instrumentation.armeria.v1_3.internal.ArmeriaInstrumenterBuilderUtil; import io.opentelemetry.instrumentation.armeria.v1_3.internal.Experimental; import java.util.Collection; -import java.util.function.Function; +import java.util.function.UnaryOperator; public final class ArmeriaServerTelemetryBuilder { @@ -37,10 +37,7 @@ public final class ArmeriaServerTelemetryBuilder { /** Sets the status extractor for server spans. */ @CanIgnoreReturnValue public ArmeriaServerTelemetryBuilder setStatusExtractor( - Function< - SpanStatusExtractor, - SpanStatusExtractor> - statusExtractor) { + UnaryOperator> statusExtractor) { builder.setStatusExtractor(statusExtractor); return this; } @@ -102,8 +99,7 @@ public ArmeriaServerTelemetryBuilder setKnownMethods(Collection knownMet /** Sets custom server {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public ArmeriaServerTelemetryBuilder setSpanNameExtractor( - Function, SpanNameExtractor> - serverSpanNameExtractor) { + UnaryOperator> serverSpanNameExtractor) { builder.setSpanNameExtractor(serverSpanNameExtractor); return this; } diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTelemetryBuilder.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTelemetryBuilder.java index 62addaafa146..b2b17ef7802b 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTelemetryBuilder.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTelemetryBuilder.java @@ -26,7 +26,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import java.util.function.Function; +import java.util.function.UnaryOperator; import javax.annotation.Nullable; /** A builder of {@link GrpcTelemetry}. */ @@ -39,10 +39,10 @@ public final class GrpcTelemetryBuilder { private final OpenTelemetry openTelemetry; @Nullable private String peerService; - private Function, ? extends SpanNameExtractor> - clientSpanNameExtractorTransformer = Function.identity(); - private Function, ? extends SpanNameExtractor> - serverSpanNameExtractorTransformer = Function.identity(); + private UnaryOperator> clientSpanNameExtractorTransformer = + UnaryOperator.identity(); + private UnaryOperator> serverSpanNameExtractorTransformer = + UnaryOperator.identity(); private final List> additionalExtractors = new ArrayList<>(); private final List> @@ -97,8 +97,7 @@ public GrpcTelemetryBuilder addServerAttributeExtractor( /** Sets custom client {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public GrpcTelemetryBuilder setClientSpanNameExtractor( - Function, ? extends SpanNameExtractor> - clientSpanNameExtractor) { + UnaryOperator> clientSpanNameExtractor) { this.clientSpanNameExtractorTransformer = clientSpanNameExtractor; return this; } @@ -106,8 +105,7 @@ public GrpcTelemetryBuilder setClientSpanNameExtractor( /** Sets custom server {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public GrpcTelemetryBuilder setServerSpanNameExtractor( - Function, ? extends SpanNameExtractor> - serverSpanNameExtractor) { + UnaryOperator> serverSpanNameExtractor) { this.serverSpanNameExtractorTransformer = serverSpanNameExtractor; return this; } diff --git a/instrumentation/java-http-client/library/src/main/java/io/opentelemetry/instrumentation/javahttpclient/JavaHttpClientTelemetryBuilder.java b/instrumentation/java-http-client/library/src/main/java/io/opentelemetry/instrumentation/javahttpclient/JavaHttpClientTelemetryBuilder.java index a2be7db706b2..77ce2c4e3a3c 100644 --- a/instrumentation/java-http-client/library/src/main/java/io/opentelemetry/instrumentation/javahttpclient/JavaHttpClientTelemetryBuilder.java +++ b/instrumentation/java-http-client/library/src/main/java/io/opentelemetry/instrumentation/javahttpclient/JavaHttpClientTelemetryBuilder.java @@ -17,7 +17,7 @@ import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.util.Collection; -import java.util.function.Function; +import java.util.function.UnaryOperator; public final class JavaHttpClientTelemetryBuilder { @@ -91,8 +91,7 @@ public JavaHttpClientTelemetryBuilder setKnownMethods(Collection knownMe /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public JavaHttpClientTelemetryBuilder setSpanNameExtractor( - Function, SpanNameExtractor> - spanNameExtractorTransformer) { + UnaryOperator> spanNameExtractorTransformer) { builder.setSpanNameExtractor(spanNameExtractorTransformer); return this; } diff --git a/instrumentation/java-http-server/library/src/main/java/io/opentelemetry/instrumentation/javahttpserver/JavaHttpServerTelemetryBuilder.java b/instrumentation/java-http-server/library/src/main/java/io/opentelemetry/instrumentation/javahttpserver/JavaHttpServerTelemetryBuilder.java index 8a303b74087f..4befaf9b9277 100644 --- a/instrumentation/java-http-server/library/src/main/java/io/opentelemetry/instrumentation/javahttpserver/JavaHttpServerTelemetryBuilder.java +++ b/instrumentation/java-http-server/library/src/main/java/io/opentelemetry/instrumentation/javahttpserver/JavaHttpServerTelemetryBuilder.java @@ -16,7 +16,7 @@ import io.opentelemetry.instrumentation.javahttpserver.internal.Experimental; import io.opentelemetry.instrumentation.javahttpserver.internal.JavaHttpServerInstrumenterBuilderUtil; import java.util.Collection; -import java.util.function.Function; +import java.util.function.UnaryOperator; public final class JavaHttpServerTelemetryBuilder { @@ -42,10 +42,7 @@ public final class JavaHttpServerTelemetryBuilder { /** Sets the status extractor for server spans. */ @CanIgnoreReturnValue public JavaHttpServerTelemetryBuilder setStatusExtractor( - Function< - SpanStatusExtractor, - SpanStatusExtractor> - statusExtractor) { + UnaryOperator> statusExtractor) { builder.setStatusExtractor(statusExtractor); return this; } @@ -104,12 +101,11 @@ public JavaHttpServerTelemetryBuilder setKnownMethods(Collection knownMe return this; } - /** Sets custom server {@link SpanNameExtractor} via transform function. */ + /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public JavaHttpServerTelemetryBuilder setSpanNameExtractor( - Function, SpanNameExtractor> - serverSpanNameExtractor) { - builder.setSpanNameExtractor(serverSpanNameExtractor); + UnaryOperator> spanNameExtractorTransformer) { + builder.setSpanNameExtractor(spanNameExtractorTransformer); return this; } diff --git a/instrumentation/jetty-httpclient/jetty-httpclient-12.0/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v12_0/JettyClientTelemetryBuilder.java b/instrumentation/jetty-httpclient/jetty-httpclient-12.0/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v12_0/JettyClientTelemetryBuilder.java index 580fb65d0ca0..f5706c46b869 100644 --- a/instrumentation/jetty-httpclient/jetty-httpclient-12.0/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v12_0/JettyClientTelemetryBuilder.java +++ b/instrumentation/jetty-httpclient/jetty-httpclient-12.0/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v12_0/JettyClientTelemetryBuilder.java @@ -14,7 +14,7 @@ import io.opentelemetry.instrumentation.jetty.httpclient.v12_0.internal.Experimental; import io.opentelemetry.instrumentation.jetty.httpclient.v12_0.internal.JettyHttpClientInstrumenterBuilderFactory; import java.util.Collection; -import java.util.function.Function; +import java.util.function.UnaryOperator; import org.eclipse.jetty.client.HttpClientTransport; import org.eclipse.jetty.client.Request; import org.eclipse.jetty.client.Response; @@ -105,8 +105,7 @@ public JettyClientTelemetryBuilder setKnownMethods(Collection knownMetho /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public JettyClientTelemetryBuilder setSpanNameExtractor( - Function, SpanNameExtractor> - spanNameExtractorTransformer) { + UnaryOperator> spanNameExtractorTransformer) { builder.setSpanNameExtractor(spanNameExtractorTransformer); return this; } diff --git a/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/JettyClientTelemetryBuilder.java b/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/JettyClientTelemetryBuilder.java index 60cddb3e23fb..8ded5c9d5dff 100644 --- a/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/JettyClientTelemetryBuilder.java +++ b/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/JettyClientTelemetryBuilder.java @@ -14,7 +14,7 @@ import io.opentelemetry.instrumentation.jetty.httpclient.v9_2.internal.Experimental; import io.opentelemetry.instrumentation.jetty.httpclient.v9_2.internal.JettyHttpClientInstrumenterBuilderFactory; import java.util.Collection; -import java.util.function.Function; +import java.util.function.UnaryOperator; import org.eclipse.jetty.client.HttpClientTransport; import org.eclipse.jetty.client.api.Request; import org.eclipse.jetty.client.api.Response; @@ -105,8 +105,7 @@ public JettyClientTelemetryBuilder setKnownMethods(Collection knownMetho /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public JettyClientTelemetryBuilder setSpanNameExtractor( - Function, SpanNameExtractor> - spanNameExtractorTransformer) { + UnaryOperator> spanNameExtractorTransformer) { builder.setSpanNameExtractor(spanNameExtractorTransformer); return this; } diff --git a/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt b/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt index 2e603e758273..ad44cb10c2fc 100644 --- a/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt +++ b/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt @@ -15,7 +15,7 @@ import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHt import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor import io.opentelemetry.instrumentation.ktor.v2_0.common.internal.KtorBuilderUtil -import java.util.function.Function +import java.util.function.UnaryOperator abstract class AbstractKtorClientTelemetryBuilder( private val instrumentationName: String @@ -78,7 +78,7 @@ abstract class AbstractKtorClientTelemetryBuilder( }) } - fun spanNameExtractor(spanNameExtractorTransformer: Function, SpanNameExtractor>) { + fun spanNameExtractor(spanNameExtractorTransformer: UnaryOperator>) { builder.setSpanNameExtractor(spanNameExtractorTransformer) } diff --git a/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt b/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt index bf1c9292a679..e7d0364e57f0 100644 --- a/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt +++ b/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt @@ -19,7 +19,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor import io.opentelemetry.instrumentation.api.instrumenter.SpanStatusBuilder import io.opentelemetry.instrumentation.api.instrumenter.SpanStatusExtractor import io.opentelemetry.instrumentation.ktor.v2_0.common.internal.KtorBuilderUtil -import java.util.function.Function +import java.util.function.UnaryOperator abstract class AbstractKtorServerTelemetryBuilder(private val instrumentationName: String) { companion object { @@ -88,7 +88,7 @@ abstract class AbstractKtorServerTelemetryBuilder(private val instrumentationNam ) } - fun spanNameExtractor(spanNameExtractorTransformer: Function, SpanNameExtractor>) { + fun spanNameExtractor(spanNameExtractorTransformer: UnaryOperator>) { builder.setSpanNameExtractor(spanNameExtractorTransformer) } diff --git a/instrumentation/netty/netty-4.1/library/src/main/java/io/opentelemetry/instrumentation/netty/v4_1/NettyClientTelemetryBuilder.java b/instrumentation/netty/netty-4.1/library/src/main/java/io/opentelemetry/instrumentation/netty/v4_1/NettyClientTelemetryBuilder.java index 236dc36bc299..a8ea8ccdc57a 100644 --- a/instrumentation/netty/netty-4.1/library/src/main/java/io/opentelemetry/instrumentation/netty/v4_1/NettyClientTelemetryBuilder.java +++ b/instrumentation/netty/netty-4.1/library/src/main/java/io/opentelemetry/instrumentation/netty/v4_1/NettyClientTelemetryBuilder.java @@ -18,7 +18,7 @@ import io.opentelemetry.instrumentation.netty.common.v4_0.internal.client.NettyConnectionInstrumentationFlag; import io.opentelemetry.instrumentation.netty.v4_1.internal.Experimental; import java.util.Collection; -import java.util.function.Function; +import java.util.function.UnaryOperator; /** A builder of {@link NettyClientTelemetry}. */ public final class NettyClientTelemetryBuilder { @@ -96,8 +96,7 @@ public NettyClientTelemetryBuilder setKnownMethods(Collection knownMetho /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public NettyClientTelemetryBuilder setSpanNameExtractor( - Function, SpanNameExtractor> - spanNameExtractorTransformer) { + UnaryOperator> spanNameExtractorTransformer) { builder.setSpanNameExtractor(spanNameExtractorTransformer); return this; } diff --git a/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/OkHttpTelemetryBuilder.java b/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/OkHttpTelemetryBuilder.java index a4a3496546dd..dc864ea8a8ff 100644 --- a/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/OkHttpTelemetryBuilder.java +++ b/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/OkHttpTelemetryBuilder.java @@ -14,7 +14,7 @@ import io.opentelemetry.instrumentation.okhttp.v3_0.internal.Experimental; import io.opentelemetry.instrumentation.okhttp.v3_0.internal.OkHttpClientInstrumenterBuilderFactory; import java.util.Collection; -import java.util.function.Function; +import java.util.function.UnaryOperator; import okhttp3.Interceptor; import okhttp3.Response; @@ -89,8 +89,7 @@ public OkHttpTelemetryBuilder setKnownMethods(Collection knownMethods) { /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public OkHttpTelemetryBuilder setSpanNameExtractor( - Function, SpanNameExtractor> - spanNameExtractorTransformer) { + UnaryOperator> spanNameExtractorTransformer) { builder.setSpanNameExtractor(spanNameExtractorTransformer); return this; } diff --git a/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java b/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java index 76630c6ff818..60ef413b8fe8 100644 --- a/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java +++ b/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java @@ -12,15 +12,15 @@ import io.opentelemetry.instrumentation.r2dbc.v1_0.internal.DbExecution; import io.opentelemetry.instrumentation.r2dbc.v1_0.internal.Experimental; import io.opentelemetry.instrumentation.r2dbc.v1_0.internal.R2dbcInstrumenterBuilder; -import java.util.function.Function; +import java.util.function.UnaryOperator; /** A builder of {@link R2dbcTelemetry}. */ public final class R2dbcTelemetryBuilder { private final R2dbcInstrumenterBuilder instrumenterBuilder; private boolean statementSanitizationEnabled = true; - private Function, ? extends SpanNameExtractor> - spanNameExtractorTransformer = Function.identity(); + private UnaryOperator> spanNameExtractorTransformer = + UnaryOperator.identity(); private boolean sqlCommenterEnabled; static { @@ -53,8 +53,7 @@ public R2dbcTelemetryBuilder setStatementSanitizationEnabled(boolean enabled) { /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public R2dbcTelemetryBuilder setSpanNameExtractor( - Function, ? extends SpanNameExtractor> - spanNameExtractorTransformer) { + UnaryOperator> spanNameExtractorTransformer) { this.spanNameExtractorTransformer = spanNameExtractorTransformer; return this; } diff --git a/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/internal/R2dbcInstrumenterBuilder.java b/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/internal/R2dbcInstrumenterBuilder.java index 6db0f3a48caf..3a8c90d3e48b 100644 --- a/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/internal/R2dbcInstrumenterBuilder.java +++ b/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/internal/R2dbcInstrumenterBuilder.java @@ -17,7 +17,7 @@ import io.opentelemetry.instrumentation.api.semconv.network.ServerAttributesExtractor; import java.util.ArrayList; import java.util.List; -import java.util.function.Function; +import java.util.function.UnaryOperator; /** * This class is internal and is hence not for public use. Its APIs are unstable and can change at @@ -44,10 +44,9 @@ public R2dbcInstrumenterBuilder addAttributesExtractor( } public Instrumenter build( - Function, ? extends SpanNameExtractor> - spanNameExtractorTransformer, + UnaryOperator> spanNameExtractorTransformer, boolean statementSanitizationEnabled) { - SpanNameExtractor spanNameExtractor = + SpanNameExtractor spanNameExtractor = spanNameExtractorTransformer.apply( DbClientSpanNameExtractor.create(R2dbcSqlAttributesGetter.INSTANCE)); diff --git a/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackClientTelemetryBuilder.java b/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackClientTelemetryBuilder.java index b7c2b6c70217..c5d536cc9690 100644 --- a/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackClientTelemetryBuilder.java +++ b/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackClientTelemetryBuilder.java @@ -14,7 +14,7 @@ import io.opentelemetry.instrumentation.ratpack.v1_7.internal.Experimental; import io.opentelemetry.instrumentation.ratpack.v1_7.internal.RatpackClientInstrumenterBuilderFactory; import java.util.Collection; -import java.util.function.Function; +import java.util.function.UnaryOperator; import ratpack.http.client.HttpResponse; import ratpack.http.client.RequestSpec; @@ -87,8 +87,7 @@ public RatpackClientTelemetryBuilder setKnownMethods(Collection knownMet /** Sets custom client {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public RatpackClientTelemetryBuilder setSpanNameExtractor( - Function, SpanNameExtractor> - clientSpanNameExtractor) { + UnaryOperator> clientSpanNameExtractor) { builder.setSpanNameExtractor(clientSpanNameExtractor); return this; } diff --git a/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackServerTelemetryBuilder.java b/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackServerTelemetryBuilder.java index 7baa9c082e5d..0d933340d960 100644 --- a/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackServerTelemetryBuilder.java +++ b/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackServerTelemetryBuilder.java @@ -14,7 +14,7 @@ import io.opentelemetry.instrumentation.ratpack.v1_7.internal.Experimental; import io.opentelemetry.instrumentation.ratpack.v1_7.internal.RatpackServerInstrumenterBuilderFactory; import java.util.Collection; -import java.util.function.Function; +import java.util.function.UnaryOperator; import ratpack.http.Request; import ratpack.http.Response; @@ -91,7 +91,7 @@ public RatpackServerTelemetryBuilder setKnownMethods(Collection knownMet /** Sets custom server {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public RatpackServerTelemetryBuilder setSpanNameExtractor( - Function, SpanNameExtractor> serverSpanNameExtractor) { + UnaryOperator> serverSpanNameExtractor) { builder.setSpanNameExtractor(serverSpanNameExtractor); return this; } diff --git a/instrumentation/restlet/restlet-1.1/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_1/RestletTelemetryBuilder.java b/instrumentation/restlet/restlet-1.1/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_1/RestletTelemetryBuilder.java index 7c5b724c342d..19bc3007c16a 100644 --- a/instrumentation/restlet/restlet-1.1/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_1/RestletTelemetryBuilder.java +++ b/instrumentation/restlet/restlet-1.1/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_1/RestletTelemetryBuilder.java @@ -14,7 +14,7 @@ import io.opentelemetry.instrumentation.restlet.v1_1.internal.Experimental; import io.opentelemetry.instrumentation.restlet.v1_1.internal.RestletTelemetryBuilderFactory; import java.util.Collection; -import java.util.function.Function; +import java.util.function.UnaryOperator; import org.restlet.data.Request; import org.restlet.data.Response; @@ -87,8 +87,7 @@ public RestletTelemetryBuilder setKnownMethods(Collection knownMethods) /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public RestletTelemetryBuilder setSpanNameExtractor( - Function, SpanNameExtractor> - spanNameExtractorTransformer) { + UnaryOperator> spanNameExtractorTransformer) { builder.setSpanNameExtractor(spanNameExtractorTransformer); return this; } diff --git a/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/RestletTelemetryBuilder.java b/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/RestletTelemetryBuilder.java index 17dc6fb88bc8..7bbe77273ad7 100644 --- a/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/RestletTelemetryBuilder.java +++ b/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/RestletTelemetryBuilder.java @@ -14,7 +14,7 @@ import io.opentelemetry.instrumentation.restlet.v2_0.internal.Experimental; import io.opentelemetry.instrumentation.restlet.v2_0.internal.RestletTelemetryBuilderFactory; import java.util.Collection; -import java.util.function.Function; +import java.util.function.UnaryOperator; import org.restlet.Request; import org.restlet.Response; @@ -87,8 +87,7 @@ public RestletTelemetryBuilder setKnownMethods(Collection knownMethods) /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public RestletTelemetryBuilder setSpanNameExtractor( - Function, SpanNameExtractor> - spanNameExtractorTransformer) { + UnaryOperator> spanNameExtractorTransformer) { builder.setSpanNameExtractor(spanNameExtractorTransformer); return this; } diff --git a/instrumentation/spring/spring-web/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/v3_1/SpringWebTelemetryBuilder.java b/instrumentation/spring/spring-web/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/v3_1/SpringWebTelemetryBuilder.java index 1fd6ad36ecf2..16f74f18ee7a 100644 --- a/instrumentation/spring/spring-web/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/v3_1/SpringWebTelemetryBuilder.java +++ b/instrumentation/spring/spring-web/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/v3_1/SpringWebTelemetryBuilder.java @@ -14,7 +14,7 @@ import io.opentelemetry.instrumentation.spring.web.v3_1.internal.Experimental; import io.opentelemetry.instrumentation.spring.web.v3_1.internal.WebTelemetryUtil; import java.util.Collection; -import java.util.function.Function; +import java.util.function.UnaryOperator; import org.springframework.http.HttpRequest; import org.springframework.http.client.ClientHttpResponse; @@ -78,8 +78,7 @@ public SpringWebTelemetryBuilder setCapturedResponseHeaders(Collection r /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public SpringWebTelemetryBuilder setSpanNameExtractor( - Function, SpanNameExtractor> - spanNameExtractorTransformer) { + UnaryOperator> spanNameExtractorTransformer) { builder.setSpanNameExtractor(spanNameExtractorTransformer); return this; } diff --git a/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxClientTelemetryBuilder.java b/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxClientTelemetryBuilder.java index 412887ee6fd5..76cc840e3b4b 100644 --- a/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxClientTelemetryBuilder.java +++ b/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxClientTelemetryBuilder.java @@ -15,7 +15,7 @@ import io.opentelemetry.instrumentation.spring.webflux.v5_3.internal.SpringWebfluxBuilderUtil; import io.opentelemetry.instrumentation.spring.webflux.v5_3.internal.WebClientHttpAttributesGetter; import java.util.Collection; -import java.util.function.Function; +import java.util.function.UnaryOperator; import org.springframework.web.reactive.function.client.ClientRequest; import org.springframework.web.reactive.function.client.ClientResponse; @@ -96,8 +96,7 @@ public SpringWebfluxClientTelemetryBuilder setKnownMethods(Collection kn /** Sets custom client {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public SpringWebfluxClientTelemetryBuilder setSpanNameExtractor( - Function, SpanNameExtractor> - clientSpanNameExtractor) { + UnaryOperator> clientSpanNameExtractor) { builder.setSpanNameExtractor(clientSpanNameExtractor); return this; } diff --git a/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxServerTelemetryBuilder.java b/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxServerTelemetryBuilder.java index c9eb6f9f7fff..24d92e735f1c 100644 --- a/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxServerTelemetryBuilder.java +++ b/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxServerTelemetryBuilder.java @@ -14,7 +14,7 @@ import io.opentelemetry.instrumentation.spring.webflux.v5_3.internal.Experimental; import io.opentelemetry.instrumentation.spring.webflux.v5_3.internal.SpringWebfluxBuilderUtil; import java.util.Collection; -import java.util.function.Function; +import java.util.function.UnaryOperator; import org.springframework.web.server.ServerWebExchange; /** A builder of {@link SpringWebfluxServerTelemetry}. */ @@ -97,8 +97,7 @@ public SpringWebfluxServerTelemetryBuilder setKnownMethods(Collection kn /** Sets custom server {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public SpringWebfluxServerTelemetryBuilder setSpanNameExtractor( - Function, SpanNameExtractor> - serverSpanNameExtractor) { + UnaryOperator> serverSpanNameExtractor) { builder.setSpanNameExtractor(serverSpanNameExtractor); return this; } diff --git a/instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcTelemetryBuilder.java b/instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcTelemetryBuilder.java index 3be0a85c253d..8a74f5f19109 100644 --- a/instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcTelemetryBuilder.java +++ b/instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcTelemetryBuilder.java @@ -14,7 +14,7 @@ import io.opentelemetry.instrumentation.spring.webmvc.v5_3.internal.Experimental; import io.opentelemetry.instrumentation.spring.webmvc.v5_3.internal.SpringMvcBuilderUtil; import java.util.Collection; -import java.util.function.Function; +import java.util.function.UnaryOperator; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -78,8 +78,7 @@ public SpringWebMvcTelemetryBuilder setCapturedResponseHeaders( /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public SpringWebMvcTelemetryBuilder setSpanNameExtractor( - Function, SpanNameExtractor> - spanNameExtractor) { + UnaryOperator> spanNameExtractor) { builder.setSpanNameExtractor(spanNameExtractor); return this; } diff --git a/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v6_0/SpringWebMvcTelemetryBuilder.java b/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v6_0/SpringWebMvcTelemetryBuilder.java index 95e6537502ac..8e9b19c646c4 100644 --- a/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v6_0/SpringWebMvcTelemetryBuilder.java +++ b/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v6_0/SpringWebMvcTelemetryBuilder.java @@ -16,7 +16,7 @@ import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.util.Collection; -import java.util.function.Function; +import java.util.function.UnaryOperator; /** A builder of {@link SpringWebMvcTelemetry}. */ public final class SpringWebMvcTelemetryBuilder { @@ -77,8 +77,7 @@ public SpringWebMvcTelemetryBuilder setCapturedResponseHeaders( /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public SpringWebMvcTelemetryBuilder setSpanNameExtractor( - Function, SpanNameExtractor> - spanNameExtractor) { + UnaryOperator> spanNameExtractor) { builder.setSpanNameExtractor(spanNameExtractor); return this; } From 23a46799287f6c794d165da3960bfd446f5736bd Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Thu, 23 Oct 2025 10:16:35 -0700 Subject: [PATCH 02/10] deprecation cycle --- .../DefaultHttpClientInstrumenterBuilder.java | 25 +++++++++++++++ .../DefaultHttpServerInstrumenterBuilder.java | 26 +++++++++++++++ .../instrumenter/InstrumenterCustomizer.java | 15 +++++++++ .../v2_7/DubboTelemetryBuilder.java | 31 ++++++++++++++++++ .../ApacheHttpClientTelemetryBuilder.java | 18 +++++++++++ .../ApacheHttpClientTelemetryBuilder.java | 18 +++++++++++ .../v1_3/ArmeriaClientTelemetryBuilder.java | 32 +++++++++++++++++++ .../v1_3/ArmeriaServerTelemetryBuilder.java | 32 +++++++++++++++++++ .../grpc/v1_6/GrpcTelemetryBuilder.java | 31 ++++++++++++++++++ .../JavaHttpClientTelemetryBuilder.java | 15 +++++++++ .../JavaHttpServerTelemetryBuilder.java | 31 ++++++++++++++++++ .../v12_0/JettyClientTelemetryBuilder.java | 15 +++++++++ .../v9_2/JettyClientTelemetryBuilder.java | 15 +++++++++ .../AbstractKtorClientTelemetryBuilder.kt | 6 ++++ .../AbstractKtorServerTelemetryBuilder.kt | 6 ++++ .../v4_1/NettyClientTelemetryBuilder.java | 16 ++++++++++ .../okhttp/v3_0/OkHttpTelemetryBuilder.java | 15 +++++++++ .../r2dbc/v1_0/R2dbcTelemetryBuilder.java | 16 ++++++++++ .../v1_7/RatpackClientTelemetryBuilder.java | 15 +++++++++ .../v1_7/RatpackServerTelemetryBuilder.java | 14 ++++++++ .../restlet/v1_1/RestletTelemetryBuilder.java | 15 +++++++++ .../restlet/v2_0/RestletTelemetryBuilder.java | 15 +++++++++ .../web/v3_1/SpringWebTelemetryBuilder.java | 15 +++++++++ .../SpringWebfluxClientTelemetryBuilder.java | 15 +++++++++ .../SpringWebfluxServerTelemetryBuilder.java | 15 +++++++++ .../v5_3/SpringWebMvcTelemetryBuilder.java | 15 +++++++++ .../v6_0/SpringWebMvcTelemetryBuilder.java | 15 +++++++++ 27 files changed, 497 insertions(+) diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java index fd00e5471d74..ba2fc70b1cf0 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java @@ -112,6 +112,17 @@ public DefaultHttpClientInstrumenterBuilder addAttributesExtr return this; } + /** + * @deprecated Use {@link #setStatusExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public DefaultHttpClientInstrumenterBuilder setStatusExtractor( + Function, SpanStatusExtractor> + statusExtractor) { + return setStatusExtractor((UnaryOperator>) statusExtractor::apply); + } + @CanIgnoreReturnValue public DefaultHttpClientInstrumenterBuilder setStatusExtractor( UnaryOperator> statusExtractor) { @@ -189,6 +200,20 @@ public DefaultHttpClientInstrumenterBuilder setRedactQueryPar return this; } + /** + * Sets custom {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public DefaultHttpClientInstrumenterBuilder setSpanNameExtractor( + Function, SpanNameExtractor> + spanNameExtractorTransformer) { + return setSpanNameExtractor( + (UnaryOperator>) spanNameExtractorTransformer::apply); + } + /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public DefaultHttpClientInstrumenterBuilder setSpanNameExtractor( diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java index bb8fade6fe44..4e9e00c91a58 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java @@ -31,6 +31,7 @@ import java.util.List; import java.util.Objects; import java.util.function.Consumer; +import java.util.function.Function; import java.util.function.Supplier; import java.util.function.UnaryOperator; import javax.annotation.Nullable; @@ -105,6 +106,17 @@ public DefaultHttpServerInstrumenterBuilder addAttributesExtr return this; } + /** + * @deprecated Use {@link #setStatusExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public DefaultHttpServerInstrumenterBuilder setStatusExtractor( + Function, SpanStatusExtractor> + statusExtractor) { + return setStatusExtractor((UnaryOperator>) statusExtractor::apply); + } + @CanIgnoreReturnValue public DefaultHttpServerInstrumenterBuilder setStatusExtractor( UnaryOperator> statusExtractor) { @@ -171,6 +183,20 @@ public DefaultHttpServerInstrumenterBuilder setKnownMethods( return this; } + /** + * Sets custom {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public DefaultHttpServerInstrumenterBuilder setSpanNameExtractor( + Function, SpanNameExtractor> + spanNameExtractorTransformer) { + return setSpanNameExtractor( + (UnaryOperator>) spanNameExtractorTransformer::apply); + } + /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public DefaultHttpServerInstrumenterBuilder setSpanNameExtractor( diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java index be130d7e25f3..24ea35cc401a 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java @@ -11,6 +11,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; import io.opentelemetry.instrumentation.api.instrumenter.OperationMetrics; import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor; +import java.util.function.Function; import java.util.function.UnaryOperator; /** @@ -69,6 +70,20 @@ InstrumenterCustomizer addAttributesExtractors( */ InstrumenterCustomizer addContextCustomizer(ContextCustomizer customizer); + /** + * Sets a transformer function that will modify the {@link SpanNameExtractor}. This allows + * customizing how span names are generated for the instrumented operations. + * + * @param spanNameExtractorTransformer function that transforms the original span name extractor + * @return this InstrumenterCustomizer for method chaining + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + default InstrumenterCustomizer setSpanNameExtractor( + Function, SpanNameExtractor> spanNameExtractorTransformer) { + return setSpanNameExtractor((UnaryOperator>) spanNameExtractorTransformer::apply); + } + /** * Sets a transformer function that will modify the {@link SpanNameExtractor}. This allows * customizing how span names are generated for the instrumented operations. diff --git a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetryBuilder.java b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetryBuilder.java index bedaa61c1ea3..ce3a6c833504 100644 --- a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetryBuilder.java +++ b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetryBuilder.java @@ -22,6 +22,7 @@ import io.opentelemetry.instrumentation.api.semconv.network.ServerAttributesExtractor; import java.util.ArrayList; import java.util.List; +import java.util.function.Function; import java.util.function.UnaryOperator; import javax.annotation.Nullable; import org.apache.dubbo.rpc.Result; @@ -63,6 +64,21 @@ public DubboTelemetryBuilder addAttributesExtractor( return this; } + /** + * Sets custom client {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setClientSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public DubboTelemetryBuilder setClientSpanNameExtractor( + Function, ? extends SpanNameExtractor> + clientSpanNameExtractor) { + return setClientSpanNameExtractor( + (UnaryOperator>) + input -> (SpanNameExtractor) clientSpanNameExtractor.apply(input)); + } + /** Sets custom client {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public DubboTelemetryBuilder setClientSpanNameExtractor( @@ -71,6 +87,21 @@ public DubboTelemetryBuilder setClientSpanNameExtractor( return this; } + /** + * Sets custom server {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setServerSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public DubboTelemetryBuilder setServerSpanNameExtractor( + Function, ? extends SpanNameExtractor> + serverSpanNameExtractor) { + return setServerSpanNameExtractor( + (UnaryOperator>) + input -> (SpanNameExtractor) serverSpanNameExtractor.apply(input)); + } + /** Sets custom server {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public DubboTelemetryBuilder setServerSpanNameExtractor( diff --git a/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientTelemetryBuilder.java b/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientTelemetryBuilder.java index 28ddb67670d5..43b4f5dbaca7 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientTelemetryBuilder.java +++ b/instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientTelemetryBuilder.java @@ -13,6 +13,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor; import io.opentelemetry.instrumentation.api.semconv.http.HttpClientAttributesExtractorBuilder; import java.util.Collection; +import java.util.function.Function; import java.util.function.UnaryOperator; import org.apache.http.HttpResponse; @@ -89,6 +90,23 @@ public ApacheHttpClientTelemetryBuilder setKnownMethods(Collection known return this; } + /** + * Sets custom {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public ApacheHttpClientTelemetryBuilder setSpanNameExtractor( + Function< + SpanNameExtractor, + SpanNameExtractor> + spanNameExtractorTransformer) { + return setSpanNameExtractor( + (UnaryOperator>) + spanNameExtractorTransformer::apply); + } + /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public ApacheHttpClientTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/apache-httpclient/apache-httpclient-5.2/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v5_2/ApacheHttpClientTelemetryBuilder.java b/instrumentation/apache-httpclient/apache-httpclient-5.2/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v5_2/ApacheHttpClientTelemetryBuilder.java index 48e68b159b15..84266154d865 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-5.2/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v5_2/ApacheHttpClientTelemetryBuilder.java +++ b/instrumentation/apache-httpclient/apache-httpclient-5.2/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v5_2/ApacheHttpClientTelemetryBuilder.java @@ -13,6 +13,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor; import io.opentelemetry.instrumentation.api.semconv.http.HttpClientAttributesExtractorBuilder; import java.util.Collection; +import java.util.function.Function; import java.util.function.UnaryOperator; import org.apache.hc.core5.http.HttpResponse; @@ -89,6 +90,23 @@ public ApacheHttpClientTelemetryBuilder setKnownMethods(Collection known return this; } + /** + * Sets custom {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public ApacheHttpClientTelemetryBuilder setSpanNameExtractor( + Function< + SpanNameExtractor, + SpanNameExtractor> + spanNameExtractorTransformer) { + return setSpanNameExtractor( + (UnaryOperator>) + spanNameExtractorTransformer::apply); + } + /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public ApacheHttpClientTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaClientTelemetryBuilder.java b/instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaClientTelemetryBuilder.java index 5f7c9f5490df..9c36a8d7b5a1 100644 --- a/instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaClientTelemetryBuilder.java +++ b/instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaClientTelemetryBuilder.java @@ -18,6 +18,7 @@ import io.opentelemetry.instrumentation.armeria.v1_3.internal.ArmeriaInstrumenterBuilderUtil; import io.opentelemetry.instrumentation.armeria.v1_3.internal.Experimental; import java.util.Collection; +import java.util.function.Function; import java.util.function.UnaryOperator; public final class ArmeriaClientTelemetryBuilder { @@ -36,6 +37,23 @@ public final class ArmeriaClientTelemetryBuilder { builder = ArmeriaInstrumenterBuilderFactory.getClientBuilder(openTelemetry); } + /** + * Sets the status extractor for client spans. + * + * @deprecated Use {@link #setStatusExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public ArmeriaClientTelemetryBuilder setStatusExtractor( + Function< + SpanStatusExtractor, + SpanStatusExtractor> + statusExtractor) { + return setStatusExtractor( + (UnaryOperator>) + statusExtractor::apply); + } + /** Sets the status extractor for client spans. */ @CanIgnoreReturnValue public ArmeriaClientTelemetryBuilder setStatusExtractor( @@ -98,6 +116,20 @@ public ArmeriaClientTelemetryBuilder setKnownMethods(Collection knownMet return this; } + /** + * Sets custom client {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public ArmeriaClientTelemetryBuilder setSpanNameExtractor( + Function, SpanNameExtractor> + clientSpanNameExtractor) { + return setSpanNameExtractor( + (UnaryOperator>) clientSpanNameExtractor::apply); + } + /** Sets custom client {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public ArmeriaClientTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaServerTelemetryBuilder.java b/instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaServerTelemetryBuilder.java index dfea8dca34e1..84418da78050 100644 --- a/instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaServerTelemetryBuilder.java +++ b/instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaServerTelemetryBuilder.java @@ -18,6 +18,7 @@ import io.opentelemetry.instrumentation.armeria.v1_3.internal.ArmeriaInstrumenterBuilderUtil; import io.opentelemetry.instrumentation.armeria.v1_3.internal.Experimental; import java.util.Collection; +import java.util.function.Function; import java.util.function.UnaryOperator; public final class ArmeriaServerTelemetryBuilder { @@ -34,6 +35,23 @@ public final class ArmeriaServerTelemetryBuilder { builder = ArmeriaInstrumenterBuilderFactory.getServerBuilder(openTelemetry); } + /** + * Sets the status extractor for server spans. + * + * @deprecated Use {@link #setStatusExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public ArmeriaServerTelemetryBuilder setStatusExtractor( + Function< + SpanStatusExtractor, + SpanStatusExtractor> + statusExtractor) { + return setStatusExtractor( + (UnaryOperator>) + statusExtractor::apply); + } + /** Sets the status extractor for server spans. */ @CanIgnoreReturnValue public ArmeriaServerTelemetryBuilder setStatusExtractor( @@ -96,6 +114,20 @@ public ArmeriaServerTelemetryBuilder setKnownMethods(Collection knownMet return this; } + /** + * Sets custom server {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public ArmeriaServerTelemetryBuilder setSpanNameExtractor( + Function, SpanNameExtractor> + serverSpanNameExtractor) { + return setSpanNameExtractor( + (UnaryOperator>) serverSpanNameExtractor::apply); + } + /** Sets custom server {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public ArmeriaServerTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTelemetryBuilder.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTelemetryBuilder.java index b2b17ef7802b..6918659afcb4 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTelemetryBuilder.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTelemetryBuilder.java @@ -26,6 +26,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.function.Function; import java.util.function.UnaryOperator; import javax.annotation.Nullable; @@ -94,6 +95,21 @@ public GrpcTelemetryBuilder addServerAttributeExtractor( return this; } + /** + * Sets custom client {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setClientSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public GrpcTelemetryBuilder setClientSpanNameExtractor( + Function, ? extends SpanNameExtractor> + clientSpanNameExtractor) { + return setClientSpanNameExtractor( + (UnaryOperator>) + input -> (SpanNameExtractor) clientSpanNameExtractor.apply(input)); + } + /** Sets custom client {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public GrpcTelemetryBuilder setClientSpanNameExtractor( @@ -102,6 +118,21 @@ public GrpcTelemetryBuilder setClientSpanNameExtractor( return this; } + /** + * Sets custom server {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setServerSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public GrpcTelemetryBuilder setServerSpanNameExtractor( + Function, ? extends SpanNameExtractor> + serverSpanNameExtractor) { + return setServerSpanNameExtractor( + (UnaryOperator>) + input -> (SpanNameExtractor) serverSpanNameExtractor.apply(input)); + } + /** Sets custom server {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public GrpcTelemetryBuilder setServerSpanNameExtractor( diff --git a/instrumentation/java-http-client/library/src/main/java/io/opentelemetry/instrumentation/javahttpclient/JavaHttpClientTelemetryBuilder.java b/instrumentation/java-http-client/library/src/main/java/io/opentelemetry/instrumentation/javahttpclient/JavaHttpClientTelemetryBuilder.java index 77ce2c4e3a3c..d5cc848db438 100644 --- a/instrumentation/java-http-client/library/src/main/java/io/opentelemetry/instrumentation/javahttpclient/JavaHttpClientTelemetryBuilder.java +++ b/instrumentation/java-http-client/library/src/main/java/io/opentelemetry/instrumentation/javahttpclient/JavaHttpClientTelemetryBuilder.java @@ -17,6 +17,7 @@ import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.util.Collection; +import java.util.function.Function; import java.util.function.UnaryOperator; public final class JavaHttpClientTelemetryBuilder { @@ -88,6 +89,20 @@ public JavaHttpClientTelemetryBuilder setKnownMethods(Collection knownMe return this; } + /** + * Sets custom {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public JavaHttpClientTelemetryBuilder setSpanNameExtractor( + Function, SpanNameExtractor> + spanNameExtractorTransformer) { + return setSpanNameExtractor( + (UnaryOperator>) spanNameExtractorTransformer::apply); + } + /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public JavaHttpClientTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/java-http-server/library/src/main/java/io/opentelemetry/instrumentation/javahttpserver/JavaHttpServerTelemetryBuilder.java b/instrumentation/java-http-server/library/src/main/java/io/opentelemetry/instrumentation/javahttpserver/JavaHttpServerTelemetryBuilder.java index 4befaf9b9277..e8860805c5f1 100644 --- a/instrumentation/java-http-server/library/src/main/java/io/opentelemetry/instrumentation/javahttpserver/JavaHttpServerTelemetryBuilder.java +++ b/instrumentation/java-http-server/library/src/main/java/io/opentelemetry/instrumentation/javahttpserver/JavaHttpServerTelemetryBuilder.java @@ -16,6 +16,7 @@ import io.opentelemetry.instrumentation.javahttpserver.internal.Experimental; import io.opentelemetry.instrumentation.javahttpserver.internal.JavaHttpServerInstrumenterBuilderUtil; import java.util.Collection; +import java.util.function.Function; import java.util.function.UnaryOperator; public final class JavaHttpServerTelemetryBuilder { @@ -39,6 +40,22 @@ public final class JavaHttpServerTelemetryBuilder { JavaHttpServerExchangeGetter.INSTANCE); } + /** + * Sets the status extractor for server spans. + * + * @deprecated Use {@link #setStatusExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public JavaHttpServerTelemetryBuilder setStatusExtractor( + Function< + SpanStatusExtractor, + SpanStatusExtractor> + statusExtractor) { + return setStatusExtractor( + (UnaryOperator>) statusExtractor::apply); + } + /** Sets the status extractor for server spans. */ @CanIgnoreReturnValue public JavaHttpServerTelemetryBuilder setStatusExtractor( @@ -101,6 +118,20 @@ public JavaHttpServerTelemetryBuilder setKnownMethods(Collection knownMe return this; } + /** + * Sets custom {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public JavaHttpServerTelemetryBuilder setSpanNameExtractor( + Function, SpanNameExtractor> + spanNameExtractorTransformer) { + return setSpanNameExtractor( + (UnaryOperator>) spanNameExtractorTransformer::apply); + } + /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public JavaHttpServerTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/jetty-httpclient/jetty-httpclient-12.0/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v12_0/JettyClientTelemetryBuilder.java b/instrumentation/jetty-httpclient/jetty-httpclient-12.0/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v12_0/JettyClientTelemetryBuilder.java index f5706c46b869..55459288e92a 100644 --- a/instrumentation/jetty-httpclient/jetty-httpclient-12.0/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v12_0/JettyClientTelemetryBuilder.java +++ b/instrumentation/jetty-httpclient/jetty-httpclient-12.0/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v12_0/JettyClientTelemetryBuilder.java @@ -14,6 +14,7 @@ import io.opentelemetry.instrumentation.jetty.httpclient.v12_0.internal.Experimental; import io.opentelemetry.instrumentation.jetty.httpclient.v12_0.internal.JettyHttpClientInstrumenterBuilderFactory; import java.util.Collection; +import java.util.function.Function; import java.util.function.UnaryOperator; import org.eclipse.jetty.client.HttpClientTransport; import org.eclipse.jetty.client.Request; @@ -102,6 +103,20 @@ public JettyClientTelemetryBuilder setKnownMethods(Collection knownMetho return this; } + /** + * Sets custom {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public JettyClientTelemetryBuilder setSpanNameExtractor( + Function, SpanNameExtractor> + spanNameExtractorTransformer) { + return setSpanNameExtractor( + (UnaryOperator>) spanNameExtractorTransformer::apply); + } + /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public JettyClientTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/JettyClientTelemetryBuilder.java b/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/JettyClientTelemetryBuilder.java index 8ded5c9d5dff..3b1021a526f9 100644 --- a/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/JettyClientTelemetryBuilder.java +++ b/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/JettyClientTelemetryBuilder.java @@ -14,6 +14,7 @@ import io.opentelemetry.instrumentation.jetty.httpclient.v9_2.internal.Experimental; import io.opentelemetry.instrumentation.jetty.httpclient.v9_2.internal.JettyHttpClientInstrumenterBuilderFactory; import java.util.Collection; +import java.util.function.Function; import java.util.function.UnaryOperator; import org.eclipse.jetty.client.HttpClientTransport; import org.eclipse.jetty.client.api.Request; @@ -102,6 +103,20 @@ public JettyClientTelemetryBuilder setKnownMethods(Collection knownMetho return this; } + /** + * Sets custom {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public JettyClientTelemetryBuilder setSpanNameExtractor( + Function, SpanNameExtractor> + spanNameExtractorTransformer) { + return setSpanNameExtractor( + (UnaryOperator>) spanNameExtractorTransformer::apply); + } + /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public JettyClientTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt b/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt index ad44cb10c2fc..8231675e7921 100644 --- a/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt +++ b/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt @@ -15,6 +15,7 @@ import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHt import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor import io.opentelemetry.instrumentation.ktor.v2_0.common.internal.KtorBuilderUtil +import java.util.function.Function import java.util.function.UnaryOperator abstract class AbstractKtorClientTelemetryBuilder( @@ -78,6 +79,11 @@ abstract class AbstractKtorClientTelemetryBuilder( }) } + @Deprecated("Use spanNameExtractor(UnaryOperator) instead", ReplaceWith("spanNameExtractor(spanNameExtractorTransformer as UnaryOperator>)")) + fun spanNameExtractor(spanNameExtractorTransformer: Function, SpanNameExtractor>) { + builder.setSpanNameExtractor(UnaryOperator { spanNameExtractorTransformer.apply(it) }) + } + fun spanNameExtractor(spanNameExtractorTransformer: UnaryOperator>) { builder.setSpanNameExtractor(spanNameExtractorTransformer) } diff --git a/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt b/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt index e7d0364e57f0..f55d48a78f7c 100644 --- a/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt +++ b/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt @@ -19,6 +19,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor import io.opentelemetry.instrumentation.api.instrumenter.SpanStatusBuilder import io.opentelemetry.instrumentation.api.instrumenter.SpanStatusExtractor import io.opentelemetry.instrumentation.ktor.v2_0.common.internal.KtorBuilderUtil +import java.util.function.Function import java.util.function.UnaryOperator abstract class AbstractKtorServerTelemetryBuilder(private val instrumentationName: String) { @@ -88,6 +89,11 @@ abstract class AbstractKtorServerTelemetryBuilder(private val instrumentationNam ) } + @Deprecated("Use spanNameExtractor(UnaryOperator) instead", ReplaceWith("spanNameExtractor(spanNameExtractorTransformer as UnaryOperator>)")) + fun spanNameExtractor(spanNameExtractorTransformer: Function, SpanNameExtractor>) { + builder.setSpanNameExtractor(UnaryOperator { spanNameExtractorTransformer.apply(it) }) + } + fun spanNameExtractor(spanNameExtractorTransformer: UnaryOperator>) { builder.setSpanNameExtractor(spanNameExtractorTransformer) } diff --git a/instrumentation/netty/netty-4.1/library/src/main/java/io/opentelemetry/instrumentation/netty/v4_1/NettyClientTelemetryBuilder.java b/instrumentation/netty/netty-4.1/library/src/main/java/io/opentelemetry/instrumentation/netty/v4_1/NettyClientTelemetryBuilder.java index a8ea8ccdc57a..d56c4cd8f651 100644 --- a/instrumentation/netty/netty-4.1/library/src/main/java/io/opentelemetry/instrumentation/netty/v4_1/NettyClientTelemetryBuilder.java +++ b/instrumentation/netty/netty-4.1/library/src/main/java/io/opentelemetry/instrumentation/netty/v4_1/NettyClientTelemetryBuilder.java @@ -18,6 +18,7 @@ import io.opentelemetry.instrumentation.netty.common.v4_0.internal.client.NettyConnectionInstrumentationFlag; import io.opentelemetry.instrumentation.netty.v4_1.internal.Experimental; import java.util.Collection; +import java.util.function.Function; import java.util.function.UnaryOperator; /** A builder of {@link NettyClientTelemetry}. */ @@ -93,6 +94,21 @@ public NettyClientTelemetryBuilder setKnownMethods(Collection knownMetho return this; } + /** + * Sets custom {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public NettyClientTelemetryBuilder setSpanNameExtractor( + Function, SpanNameExtractor> + spanNameExtractorTransformer) { + return setSpanNameExtractor( + (UnaryOperator>) + spanNameExtractorTransformer::apply); + } + /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public NettyClientTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/OkHttpTelemetryBuilder.java b/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/OkHttpTelemetryBuilder.java index dc864ea8a8ff..90f26273275a 100644 --- a/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/OkHttpTelemetryBuilder.java +++ b/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/OkHttpTelemetryBuilder.java @@ -14,6 +14,7 @@ import io.opentelemetry.instrumentation.okhttp.v3_0.internal.Experimental; import io.opentelemetry.instrumentation.okhttp.v3_0.internal.OkHttpClientInstrumenterBuilderFactory; import java.util.Collection; +import java.util.function.Function; import java.util.function.UnaryOperator; import okhttp3.Interceptor; import okhttp3.Response; @@ -86,6 +87,20 @@ public OkHttpTelemetryBuilder setKnownMethods(Collection knownMethods) { return this; } + /** + * Sets custom {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public OkHttpTelemetryBuilder setSpanNameExtractor( + Function, SpanNameExtractor> + spanNameExtractorTransformer) { + return setSpanNameExtractor( + (UnaryOperator>) spanNameExtractorTransformer::apply); + } + /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public OkHttpTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java b/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java index 60ef413b8fe8..0e5e87e6f668 100644 --- a/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java +++ b/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java @@ -12,6 +12,7 @@ import io.opentelemetry.instrumentation.r2dbc.v1_0.internal.DbExecution; import io.opentelemetry.instrumentation.r2dbc.v1_0.internal.Experimental; import io.opentelemetry.instrumentation.r2dbc.v1_0.internal.R2dbcInstrumenterBuilder; +import java.util.function.Function; import java.util.function.UnaryOperator; /** A builder of {@link R2dbcTelemetry}. */ @@ -50,6 +51,21 @@ public R2dbcTelemetryBuilder setStatementSanitizationEnabled(boolean enabled) { return this; } + /** + * Sets custom {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public R2dbcTelemetryBuilder setSpanNameExtractor( + Function, ? extends SpanNameExtractor> + spanNameExtractorTransformer) { + return setSpanNameExtractor( + (UnaryOperator>) + input -> (SpanNameExtractor) spanNameExtractorTransformer.apply(input)); + } + /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public R2dbcTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackClientTelemetryBuilder.java b/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackClientTelemetryBuilder.java index c5d536cc9690..ff0366d2b534 100644 --- a/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackClientTelemetryBuilder.java +++ b/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackClientTelemetryBuilder.java @@ -14,6 +14,7 @@ import io.opentelemetry.instrumentation.ratpack.v1_7.internal.Experimental; import io.opentelemetry.instrumentation.ratpack.v1_7.internal.RatpackClientInstrumenterBuilderFactory; import java.util.Collection; +import java.util.function.Function; import java.util.function.UnaryOperator; import ratpack.http.client.HttpResponse; import ratpack.http.client.RequestSpec; @@ -84,6 +85,20 @@ public RatpackClientTelemetryBuilder setKnownMethods(Collection knownMet return this; } + /** + * Sets custom client {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public RatpackClientTelemetryBuilder setSpanNameExtractor( + Function, SpanNameExtractor> + clientSpanNameExtractor) { + return setSpanNameExtractor( + (UnaryOperator>) clientSpanNameExtractor::apply); + } + /** Sets custom client {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public RatpackClientTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackServerTelemetryBuilder.java b/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackServerTelemetryBuilder.java index 0d933340d960..21df54da775e 100644 --- a/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackServerTelemetryBuilder.java +++ b/instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackServerTelemetryBuilder.java @@ -14,6 +14,7 @@ import io.opentelemetry.instrumentation.ratpack.v1_7.internal.Experimental; import io.opentelemetry.instrumentation.ratpack.v1_7.internal.RatpackServerInstrumenterBuilderFactory; import java.util.Collection; +import java.util.function.Function; import java.util.function.UnaryOperator; import ratpack.http.Request; import ratpack.http.Response; @@ -88,6 +89,19 @@ public RatpackServerTelemetryBuilder setKnownMethods(Collection knownMet return this; } + /** + * Sets custom server {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public RatpackServerTelemetryBuilder setSpanNameExtractor( + Function, SpanNameExtractor> serverSpanNameExtractor) { + return setSpanNameExtractor( + (UnaryOperator>) serverSpanNameExtractor::apply); + } + /** Sets custom server {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public RatpackServerTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/restlet/restlet-1.1/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_1/RestletTelemetryBuilder.java b/instrumentation/restlet/restlet-1.1/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_1/RestletTelemetryBuilder.java index 19bc3007c16a..a0bc0a16f1cf 100644 --- a/instrumentation/restlet/restlet-1.1/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_1/RestletTelemetryBuilder.java +++ b/instrumentation/restlet/restlet-1.1/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_1/RestletTelemetryBuilder.java @@ -14,6 +14,7 @@ import io.opentelemetry.instrumentation.restlet.v1_1.internal.Experimental; import io.opentelemetry.instrumentation.restlet.v1_1.internal.RestletTelemetryBuilderFactory; import java.util.Collection; +import java.util.function.Function; import java.util.function.UnaryOperator; import org.restlet.data.Request; import org.restlet.data.Response; @@ -84,6 +85,20 @@ public RestletTelemetryBuilder setKnownMethods(Collection knownMethods) return this; } + /** + * Sets custom {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public RestletTelemetryBuilder setSpanNameExtractor( + Function, SpanNameExtractor> + spanNameExtractorTransformer) { + return setSpanNameExtractor( + (UnaryOperator>) spanNameExtractorTransformer::apply); + } + /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public RestletTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/RestletTelemetryBuilder.java b/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/RestletTelemetryBuilder.java index 7bbe77273ad7..131709a1294e 100644 --- a/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/RestletTelemetryBuilder.java +++ b/instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/RestletTelemetryBuilder.java @@ -14,6 +14,7 @@ import io.opentelemetry.instrumentation.restlet.v2_0.internal.Experimental; import io.opentelemetry.instrumentation.restlet.v2_0.internal.RestletTelemetryBuilderFactory; import java.util.Collection; +import java.util.function.Function; import java.util.function.UnaryOperator; import org.restlet.Request; import org.restlet.Response; @@ -84,6 +85,20 @@ public RestletTelemetryBuilder setKnownMethods(Collection knownMethods) return this; } + /** + * Sets custom {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public RestletTelemetryBuilder setSpanNameExtractor( + Function, SpanNameExtractor> + spanNameExtractorTransformer) { + return setSpanNameExtractor( + (UnaryOperator>) spanNameExtractorTransformer::apply); + } + /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public RestletTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/spring/spring-web/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/v3_1/SpringWebTelemetryBuilder.java b/instrumentation/spring/spring-web/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/v3_1/SpringWebTelemetryBuilder.java index 16f74f18ee7a..9be133cd67eb 100644 --- a/instrumentation/spring/spring-web/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/v3_1/SpringWebTelemetryBuilder.java +++ b/instrumentation/spring/spring-web/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/v3_1/SpringWebTelemetryBuilder.java @@ -14,6 +14,7 @@ import io.opentelemetry.instrumentation.spring.web.v3_1.internal.Experimental; import io.opentelemetry.instrumentation.spring.web.v3_1.internal.WebTelemetryUtil; import java.util.Collection; +import java.util.function.Function; import java.util.function.UnaryOperator; import org.springframework.http.HttpRequest; import org.springframework.http.client.ClientHttpResponse; @@ -75,6 +76,20 @@ public SpringWebTelemetryBuilder setCapturedResponseHeaders(Collection r return this; } + /** + * Sets custom {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public SpringWebTelemetryBuilder setSpanNameExtractor( + Function, SpanNameExtractor> + spanNameExtractorTransformer) { + return setSpanNameExtractor( + (UnaryOperator>) spanNameExtractorTransformer::apply); + } + /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public SpringWebTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxClientTelemetryBuilder.java b/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxClientTelemetryBuilder.java index 76cc840e3b4b..163505760e05 100644 --- a/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxClientTelemetryBuilder.java +++ b/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxClientTelemetryBuilder.java @@ -15,6 +15,7 @@ import io.opentelemetry.instrumentation.spring.webflux.v5_3.internal.SpringWebfluxBuilderUtil; import io.opentelemetry.instrumentation.spring.webflux.v5_3.internal.WebClientHttpAttributesGetter; import java.util.Collection; +import java.util.function.Function; import java.util.function.UnaryOperator; import org.springframework.web.reactive.function.client.ClientRequest; import org.springframework.web.reactive.function.client.ClientResponse; @@ -93,6 +94,20 @@ public SpringWebfluxClientTelemetryBuilder setKnownMethods(Collection kn return this; } + /** + * Sets custom client {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public SpringWebfluxClientTelemetryBuilder setSpanNameExtractor( + Function, SpanNameExtractor> + clientSpanNameExtractor) { + return setSpanNameExtractor( + (UnaryOperator>) clientSpanNameExtractor::apply); + } + /** Sets custom client {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public SpringWebfluxClientTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxServerTelemetryBuilder.java b/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxServerTelemetryBuilder.java index 24d92e735f1c..aff8906467db 100644 --- a/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxServerTelemetryBuilder.java +++ b/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxServerTelemetryBuilder.java @@ -14,6 +14,7 @@ import io.opentelemetry.instrumentation.spring.webflux.v5_3.internal.Experimental; import io.opentelemetry.instrumentation.spring.webflux.v5_3.internal.SpringWebfluxBuilderUtil; import java.util.Collection; +import java.util.function.Function; import java.util.function.UnaryOperator; import org.springframework.web.server.ServerWebExchange; @@ -94,6 +95,20 @@ public SpringWebfluxServerTelemetryBuilder setKnownMethods(Collection kn return this; } + /** + * Sets custom server {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public SpringWebfluxServerTelemetryBuilder setSpanNameExtractor( + Function, SpanNameExtractor> + serverSpanNameExtractor) { + return setSpanNameExtractor( + (UnaryOperator>) serverSpanNameExtractor::apply); + } + /** Sets custom server {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public SpringWebfluxServerTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcTelemetryBuilder.java b/instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcTelemetryBuilder.java index 8a74f5f19109..7273a76de512 100644 --- a/instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcTelemetryBuilder.java +++ b/instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcTelemetryBuilder.java @@ -14,6 +14,7 @@ import io.opentelemetry.instrumentation.spring.webmvc.v5_3.internal.Experimental; import io.opentelemetry.instrumentation.spring.webmvc.v5_3.internal.SpringMvcBuilderUtil; import java.util.Collection; +import java.util.function.Function; import java.util.function.UnaryOperator; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -75,6 +76,20 @@ public SpringWebMvcTelemetryBuilder setCapturedResponseHeaders( return this; } + /** + * Sets custom {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public SpringWebMvcTelemetryBuilder setSpanNameExtractor( + Function, SpanNameExtractor> + spanNameExtractor) { + return setSpanNameExtractor( + (UnaryOperator>) spanNameExtractor::apply); + } + /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public SpringWebMvcTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v6_0/SpringWebMvcTelemetryBuilder.java b/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v6_0/SpringWebMvcTelemetryBuilder.java index 8e9b19c646c4..4604dff9e99a 100644 --- a/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v6_0/SpringWebMvcTelemetryBuilder.java +++ b/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v6_0/SpringWebMvcTelemetryBuilder.java @@ -16,6 +16,7 @@ import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.util.Collection; +import java.util.function.Function; import java.util.function.UnaryOperator; /** A builder of {@link SpringWebMvcTelemetry}. */ @@ -74,6 +75,20 @@ public SpringWebMvcTelemetryBuilder setCapturedResponseHeaders( return this; } + /** + * Sets custom {@link SpanNameExtractor} via transform function. + * + * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. + */ + @Deprecated + @CanIgnoreReturnValue + public SpringWebMvcTelemetryBuilder setSpanNameExtractor( + Function, SpanNameExtractor> + spanNameExtractor) { + return setSpanNameExtractor( + (UnaryOperator>) spanNameExtractor::apply); + } + /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public SpringWebMvcTelemetryBuilder setSpanNameExtractor( From 81ee891e08abfcd769efa78c40424c293dad008f Mon Sep 17 00:00:00 2001 From: otelbot <197425009+otelbot@users.noreply.github.com> Date: Thu, 23 Oct 2025 17:24:48 +0000 Subject: [PATCH 03/10] ./gradlew spotlessApply --- .../builder/internal/DefaultHttpClientInstrumenterBuilder.java | 3 ++- .../builder/internal/DefaultHttpServerInstrumenterBuilder.java | 3 ++- .../api/incubator/instrumenter/InstrumenterCustomizer.java | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java index ba2fc70b1cf0..792d0eb9fff7 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java @@ -120,7 +120,8 @@ public DefaultHttpClientInstrumenterBuilder addAttributesExtr public DefaultHttpClientInstrumenterBuilder setStatusExtractor( Function, SpanStatusExtractor> statusExtractor) { - return setStatusExtractor((UnaryOperator>) statusExtractor::apply); + return setStatusExtractor( + (UnaryOperator>) statusExtractor::apply); } @CanIgnoreReturnValue diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java index 4e9e00c91a58..9d63221dee33 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java @@ -114,7 +114,8 @@ public DefaultHttpServerInstrumenterBuilder addAttributesExtr public DefaultHttpServerInstrumenterBuilder setStatusExtractor( Function, SpanStatusExtractor> statusExtractor) { - return setStatusExtractor((UnaryOperator>) statusExtractor::apply); + return setStatusExtractor( + (UnaryOperator>) statusExtractor::apply); } @CanIgnoreReturnValue diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java index 24ea35cc401a..16e5d989d4c7 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java @@ -81,7 +81,8 @@ InstrumenterCustomizer addAttributesExtractors( @Deprecated default InstrumenterCustomizer setSpanNameExtractor( Function, SpanNameExtractor> spanNameExtractorTransformer) { - return setSpanNameExtractor((UnaryOperator>) spanNameExtractorTransformer::apply); + return setSpanNameExtractor( + (UnaryOperator>) spanNameExtractorTransformer::apply); } /** From 2e51bc34ff4b61de7a1d4e21ab1ff918e9af8861 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Thu, 23 Oct 2025 10:34:09 -0700 Subject: [PATCH 04/10] fix --- .../incubator/instrumenter/InstrumenterCustomizer.java | 1 + .../internal/InstrumenterCustomizerImpl.java | 10 ++++++++++ .../apachedubbo/v2_7/DubboTelemetryBuilder.java | 2 ++ .../grpc/v1_6/GrpcTelemetryBuilder.java | 2 ++ .../r2dbc/v1_0/R2dbcTelemetryBuilder.java | 1 + 5 files changed, 16 insertions(+) diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java index 16e5d989d4c7..b478f768b99e 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java @@ -79,6 +79,7 @@ InstrumenterCustomizer addAttributesExtractors( * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. */ @Deprecated + @SuppressWarnings("FunctionalInterfaceClash") default InstrumenterCustomizer setSpanNameExtractor( Function, SpanNameExtractor> spanNameExtractorTransformer) { return setSpanNameExtractor( diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/internal/InstrumenterCustomizerImpl.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/internal/InstrumenterCustomizerImpl.java index f885f493a2c5..2def2aca6667 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/internal/InstrumenterCustomizerImpl.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/internal/InstrumenterCustomizerImpl.java @@ -11,6 +11,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.OperationMetrics; import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor; import io.opentelemetry.instrumentation.api.internal.InternalInstrumenterCustomizer; +import java.util.function.Function; import java.util.function.UnaryOperator; /** @@ -55,6 +56,15 @@ public InstrumenterCustomizer addContextCustomizer(ContextCustomizer customiz return this; } + @Override + // Deprecated method kept for backward compatibility, delegates to UnaryOperator version + @SuppressWarnings({"FunctionalInterfaceClash", "deprecation"}) + public InstrumenterCustomizer setSpanNameExtractor( + Function, SpanNameExtractor> spanNameExtractorTransformer) { + return setSpanNameExtractor( + (UnaryOperator>) spanNameExtractorTransformer::apply); + } + @Override public InstrumenterCustomizer setSpanNameExtractor( UnaryOperator> spanNameExtractorTransformer) { diff --git a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetryBuilder.java b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetryBuilder.java index ce3a6c833504..5a3d32d2e9d2 100644 --- a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetryBuilder.java +++ b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetryBuilder.java @@ -71,6 +71,7 @@ public DubboTelemetryBuilder addAttributesExtractor( */ @Deprecated @CanIgnoreReturnValue + @SuppressWarnings("unchecked") // safe cast from Function to UnaryOperator public DubboTelemetryBuilder setClientSpanNameExtractor( Function, ? extends SpanNameExtractor> clientSpanNameExtractor) { @@ -94,6 +95,7 @@ public DubboTelemetryBuilder setClientSpanNameExtractor( */ @Deprecated @CanIgnoreReturnValue + @SuppressWarnings("unchecked") // safe cast from Function to UnaryOperator public DubboTelemetryBuilder setServerSpanNameExtractor( Function, ? extends SpanNameExtractor> serverSpanNameExtractor) { diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTelemetryBuilder.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTelemetryBuilder.java index 6918659afcb4..1beab234819f 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTelemetryBuilder.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTelemetryBuilder.java @@ -102,6 +102,7 @@ public GrpcTelemetryBuilder addServerAttributeExtractor( */ @Deprecated @CanIgnoreReturnValue + @SuppressWarnings("unchecked") // safe cast from Function to UnaryOperator public GrpcTelemetryBuilder setClientSpanNameExtractor( Function, ? extends SpanNameExtractor> clientSpanNameExtractor) { @@ -125,6 +126,7 @@ public GrpcTelemetryBuilder setClientSpanNameExtractor( */ @Deprecated @CanIgnoreReturnValue + @SuppressWarnings("unchecked") // safe cast from Function to UnaryOperator public GrpcTelemetryBuilder setServerSpanNameExtractor( Function, ? extends SpanNameExtractor> serverSpanNameExtractor) { diff --git a/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java b/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java index 0e5e87e6f668..e7fdb13ccfe0 100644 --- a/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java +++ b/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java @@ -58,6 +58,7 @@ public R2dbcTelemetryBuilder setStatementSanitizationEnabled(boolean enabled) { */ @Deprecated @CanIgnoreReturnValue + @SuppressWarnings("unchecked") // safe cast from Function to UnaryOperator public R2dbcTelemetryBuilder setSpanNameExtractor( Function, ? extends SpanNameExtractor> spanNameExtractorTransformer) { From 2167d0bb2f30b845686c0de2f783fac3e6852b85 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Thu, 23 Oct 2025 12:49:19 -0700 Subject: [PATCH 05/10] more --- .../internal/InstrumenterCustomizerImpl.java | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/internal/InstrumenterCustomizerImpl.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/internal/InstrumenterCustomizerImpl.java index 2def2aca6667..84409ac41813 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/internal/InstrumenterCustomizerImpl.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/internal/InstrumenterCustomizerImpl.java @@ -11,7 +11,6 @@ import io.opentelemetry.instrumentation.api.instrumenter.OperationMetrics; import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor; import io.opentelemetry.instrumentation.api.internal.InternalInstrumenterCustomizer; -import java.util.function.Function; import java.util.function.UnaryOperator; /** @@ -57,15 +56,7 @@ public InstrumenterCustomizer addContextCustomizer(ContextCustomizer customiz } @Override - // Deprecated method kept for backward compatibility, delegates to UnaryOperator version - @SuppressWarnings({"FunctionalInterfaceClash", "deprecation"}) - public InstrumenterCustomizer setSpanNameExtractor( - Function, SpanNameExtractor> spanNameExtractorTransformer) { - return setSpanNameExtractor( - (UnaryOperator>) spanNameExtractorTransformer::apply); - } - - @Override + @SuppressWarnings("FunctionalInterfaceClash") // interface has deprecated overload public InstrumenterCustomizer setSpanNameExtractor( UnaryOperator> spanNameExtractorTransformer) { customizer.setSpanNameExtractor(spanNameExtractorTransformer); From 2c5f61213592de12bccdc0fd96c0f2d245fe7352 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Thu, 23 Oct 2025 14:29:27 -0700 Subject: [PATCH 06/10] rename --- .../internal/DefaultHttpClientInstrumenterBuilder.java | 4 ++-- .../internal/DefaultHttpServerInstrumenterBuilder.java | 4 ++-- .../api/incubator/instrumenter/InstrumenterCustomizer.java | 4 ++-- .../instrumenter/internal/InstrumenterCustomizerImpl.java | 4 ++-- .../instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java | 4 ++-- .../spring/web/v3_1/SpringWebTelemetryBuilder.java | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java index 792d0eb9fff7..702bd12b2a0d 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java @@ -218,8 +218,8 @@ public DefaultHttpClientInstrumenterBuilder setSpanNameExtrac /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public DefaultHttpClientInstrumenterBuilder setSpanNameExtractor( - UnaryOperator> spanNameExtractorTransformer) { - this.spanNameExtractorTransformer = spanNameExtractorTransformer; + UnaryOperator> spanNameExtractor) { + this.spanNameExtractorTransformer = spanNameExtractor; return this; } diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java index 9d63221dee33..508d4daa60b2 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java @@ -201,8 +201,8 @@ public DefaultHttpServerInstrumenterBuilder setSpanNameExtrac /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public DefaultHttpServerInstrumenterBuilder setSpanNameExtractor( - UnaryOperator> spanNameExtractorTransformer) { - this.spanNameExtractorTransformer = spanNameExtractorTransformer; + UnaryOperator> spanNameExtractor) { + this.spanNameExtractorTransformer = spanNameExtractor; return this; } diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java index b478f768b99e..a0b340aeb09a 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java @@ -90,9 +90,9 @@ default InstrumenterCustomizer setSpanNameExtractor( * Sets a transformer function that will modify the {@link SpanNameExtractor}. This allows * customizing how span names are generated for the instrumented operations. * - * @param spanNameExtractorTransformer function that transforms the original span name extractor + * @param spanNameExtractor function that transforms the original span name extractor * @return this InstrumenterCustomizer for method chaining */ InstrumenterCustomizer setSpanNameExtractor( - UnaryOperator> spanNameExtractorTransformer); + UnaryOperator> spanNameExtractor); } diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/internal/InstrumenterCustomizerImpl.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/internal/InstrumenterCustomizerImpl.java index 84409ac41813..faa866fde176 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/internal/InstrumenterCustomizerImpl.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/internal/InstrumenterCustomizerImpl.java @@ -58,8 +58,8 @@ public InstrumenterCustomizer addContextCustomizer(ContextCustomizer customiz @Override @SuppressWarnings("FunctionalInterfaceClash") // interface has deprecated overload public InstrumenterCustomizer setSpanNameExtractor( - UnaryOperator> spanNameExtractorTransformer) { - customizer.setSpanNameExtractor(spanNameExtractorTransformer); + UnaryOperator> spanNameExtractor) { + customizer.setSpanNameExtractor(spanNameExtractor); return this; } } diff --git a/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java b/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java index e7fdb13ccfe0..e3caf8e39321 100644 --- a/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java +++ b/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java @@ -70,8 +70,8 @@ public R2dbcTelemetryBuilder setSpanNameExtractor( /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public R2dbcTelemetryBuilder setSpanNameExtractor( - UnaryOperator> spanNameExtractorTransformer) { - this.spanNameExtractorTransformer = spanNameExtractorTransformer; + UnaryOperator> spanNameExtractor) { + this.spanNameExtractorTransformer = spanNameExtractor; return this; } diff --git a/instrumentation/spring/spring-web/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/v3_1/SpringWebTelemetryBuilder.java b/instrumentation/spring/spring-web/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/v3_1/SpringWebTelemetryBuilder.java index 9be133cd67eb..16edc0b9a133 100644 --- a/instrumentation/spring/spring-web/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/v3_1/SpringWebTelemetryBuilder.java +++ b/instrumentation/spring/spring-web/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/v3_1/SpringWebTelemetryBuilder.java @@ -93,8 +93,8 @@ public SpringWebTelemetryBuilder setSpanNameExtractor( /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public SpringWebTelemetryBuilder setSpanNameExtractor( - UnaryOperator> spanNameExtractorTransformer) { - builder.setSpanNameExtractor(spanNameExtractorTransformer); + UnaryOperator> spanNameExtractor) { + builder.setSpanNameExtractor(spanNameExtractor); return this; } From d1827e3dec8b04feeccbba2d132c53d27314bb54 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Thu, 23 Oct 2025 15:00:50 -0700 Subject: [PATCH 07/10] internal --- .../DefaultHttpClientInstrumenterBuilder.java | 26 ------------------ .../DefaultHttpServerInstrumenterBuilder.java | 27 ------------------- 2 files changed, 53 deletions(-) diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java index 702bd12b2a0d..4f40eac327b7 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java @@ -112,18 +112,6 @@ public DefaultHttpClientInstrumenterBuilder addAttributesExtr return this; } - /** - * @deprecated Use {@link #setStatusExtractor(UnaryOperator)} instead. - */ - @Deprecated - @CanIgnoreReturnValue - public DefaultHttpClientInstrumenterBuilder setStatusExtractor( - Function, SpanStatusExtractor> - statusExtractor) { - return setStatusExtractor( - (UnaryOperator>) statusExtractor::apply); - } - @CanIgnoreReturnValue public DefaultHttpClientInstrumenterBuilder setStatusExtractor( UnaryOperator> statusExtractor) { @@ -201,20 +189,6 @@ public DefaultHttpClientInstrumenterBuilder setRedactQueryPar return this; } - /** - * Sets custom {@link SpanNameExtractor} via transform function. - * - * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. - */ - @Deprecated - @CanIgnoreReturnValue - public DefaultHttpClientInstrumenterBuilder setSpanNameExtractor( - Function, SpanNameExtractor> - spanNameExtractorTransformer) { - return setSpanNameExtractor( - (UnaryOperator>) spanNameExtractorTransformer::apply); - } - /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public DefaultHttpClientInstrumenterBuilder setSpanNameExtractor( diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java index 508d4daa60b2..89ae196c54d7 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java @@ -31,7 +31,6 @@ import java.util.List; import java.util.Objects; import java.util.function.Consumer; -import java.util.function.Function; import java.util.function.Supplier; import java.util.function.UnaryOperator; import javax.annotation.Nullable; @@ -106,18 +105,6 @@ public DefaultHttpServerInstrumenterBuilder addAttributesExtr return this; } - /** - * @deprecated Use {@link #setStatusExtractor(UnaryOperator)} instead. - */ - @Deprecated - @CanIgnoreReturnValue - public DefaultHttpServerInstrumenterBuilder setStatusExtractor( - Function, SpanStatusExtractor> - statusExtractor) { - return setStatusExtractor( - (UnaryOperator>) statusExtractor::apply); - } - @CanIgnoreReturnValue public DefaultHttpServerInstrumenterBuilder setStatusExtractor( UnaryOperator> statusExtractor) { @@ -184,20 +171,6 @@ public DefaultHttpServerInstrumenterBuilder setKnownMethods( return this; } - /** - * Sets custom {@link SpanNameExtractor} via transform function. - * - * @deprecated Use {@link #setSpanNameExtractor(UnaryOperator)} instead. - */ - @Deprecated - @CanIgnoreReturnValue - public DefaultHttpServerInstrumenterBuilder setSpanNameExtractor( - Function, SpanNameExtractor> - spanNameExtractorTransformer) { - return setSpanNameExtractor( - (UnaryOperator>) spanNameExtractorTransformer::apply); - } - /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public DefaultHttpServerInstrumenterBuilder setSpanNameExtractor( From 14a92a64a6cda00aadc809ca5562580d0c8be677 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Thu, 23 Oct 2025 15:31:58 -0700 Subject: [PATCH 08/10] update --- .../ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt | 2 +- .../ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt b/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt index 8231675e7921..d60a978d6a8b 100644 --- a/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt +++ b/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt @@ -81,7 +81,7 @@ abstract class AbstractKtorClientTelemetryBuilder( @Deprecated("Use spanNameExtractor(UnaryOperator) instead", ReplaceWith("spanNameExtractor(spanNameExtractorTransformer as UnaryOperator>)")) fun spanNameExtractor(spanNameExtractorTransformer: Function, SpanNameExtractor>) { - builder.setSpanNameExtractor(UnaryOperator { spanNameExtractorTransformer.apply(it) }) + spanNameExtractor(spanNameExtractorTransformer as UnaryOperator>) } fun spanNameExtractor(spanNameExtractorTransformer: UnaryOperator>) { diff --git a/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt b/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt index f55d48a78f7c..5705228e3e57 100644 --- a/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt +++ b/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt @@ -91,7 +91,7 @@ abstract class AbstractKtorServerTelemetryBuilder(private val instrumentationNam @Deprecated("Use spanNameExtractor(UnaryOperator) instead", ReplaceWith("spanNameExtractor(spanNameExtractorTransformer as UnaryOperator>)")) fun spanNameExtractor(spanNameExtractorTransformer: Function, SpanNameExtractor>) { - builder.setSpanNameExtractor(UnaryOperator { spanNameExtractorTransformer.apply(it) }) + spanNameExtractor(spanNameExtractorTransformer as UnaryOperator>) } fun spanNameExtractor(spanNameExtractorTransformer: UnaryOperator>) { From 2dd57ae47f0dc78a7f8a6325dee7b3b82cec518e Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Thu, 23 Oct 2025 16:03:12 -0700 Subject: [PATCH 09/10] rename --- .../ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt | 4 ++-- .../ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt b/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt index d60a978d6a8b..75a1f91114f4 100644 --- a/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt +++ b/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt @@ -84,8 +84,8 @@ abstract class AbstractKtorClientTelemetryBuilder( spanNameExtractor(spanNameExtractorTransformer as UnaryOperator>) } - fun spanNameExtractor(spanNameExtractorTransformer: UnaryOperator>) { - builder.setSpanNameExtractor(spanNameExtractorTransformer) + fun spanNameExtractor(spanNameExtractor: UnaryOperator>) { + builder.setSpanNameExtractor(spanNameExtractor) } class ExtractorBuilder { diff --git a/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt b/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt index 5705228e3e57..08d03e4889cf 100644 --- a/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt +++ b/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt @@ -94,8 +94,8 @@ abstract class AbstractKtorServerTelemetryBuilder(private val instrumentationNam spanNameExtractor(spanNameExtractorTransformer as UnaryOperator>) } - fun spanNameExtractor(spanNameExtractorTransformer: UnaryOperator>) { - builder.setSpanNameExtractor(spanNameExtractorTransformer) + fun spanNameExtractor(spanNameExtractor: UnaryOperator>) { + builder.setSpanNameExtractor(spanNameExtractor) } class ExtractorBuilder { From 88bfcb18f5891745a7adb626417f7a01c7c6b765 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Fri, 24 Oct 2025 06:51:00 -0700 Subject: [PATCH 10/10] review --- .../api/incubator/instrumenter/InstrumenterCustomizer.java | 3 +-- .../apachedubbo/v2_7/DubboTelemetryBuilder.java | 4 ++-- .../instrumentation/grpc/v1_6/GrpcTelemetryBuilder.java | 4 ++-- .../ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt | 4 ++-- .../ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt | 4 ++-- .../instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java | 2 +- 6 files changed, 10 insertions(+), 11 deletions(-) diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java index a0b340aeb09a..8edef423ccfb 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/InstrumenterCustomizer.java @@ -82,8 +82,7 @@ InstrumenterCustomizer addAttributesExtractors( @SuppressWarnings("FunctionalInterfaceClash") default InstrumenterCustomizer setSpanNameExtractor( Function, SpanNameExtractor> spanNameExtractorTransformer) { - return setSpanNameExtractor( - (UnaryOperator>) spanNameExtractorTransformer::apply); + return setSpanNameExtractor(spanNameExtractorTransformer::apply); } /** diff --git a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetryBuilder.java b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetryBuilder.java index 5a3d32d2e9d2..c33fcf6a71de 100644 --- a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetryBuilder.java +++ b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetryBuilder.java @@ -71,7 +71,7 @@ public DubboTelemetryBuilder addAttributesExtractor( */ @Deprecated @CanIgnoreReturnValue - @SuppressWarnings("unchecked") // safe cast from Function to UnaryOperator + @SuppressWarnings("unchecked") // cast result to SpanNameExtractor public DubboTelemetryBuilder setClientSpanNameExtractor( Function, ? extends SpanNameExtractor> clientSpanNameExtractor) { @@ -95,7 +95,7 @@ public DubboTelemetryBuilder setClientSpanNameExtractor( */ @Deprecated @CanIgnoreReturnValue - @SuppressWarnings("unchecked") // safe cast from Function to UnaryOperator + @SuppressWarnings("unchecked") // cast result to SpanNameExtractor public DubboTelemetryBuilder setServerSpanNameExtractor( Function, ? extends SpanNameExtractor> serverSpanNameExtractor) { diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTelemetryBuilder.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTelemetryBuilder.java index 1beab234819f..fe0575c0f15e 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTelemetryBuilder.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcTelemetryBuilder.java @@ -102,7 +102,7 @@ public GrpcTelemetryBuilder addServerAttributeExtractor( */ @Deprecated @CanIgnoreReturnValue - @SuppressWarnings("unchecked") // safe cast from Function to UnaryOperator + @SuppressWarnings("unchecked") // cast result to SpanNameExtractor public GrpcTelemetryBuilder setClientSpanNameExtractor( Function, ? extends SpanNameExtractor> clientSpanNameExtractor) { @@ -126,7 +126,7 @@ public GrpcTelemetryBuilder setClientSpanNameExtractor( */ @Deprecated @CanIgnoreReturnValue - @SuppressWarnings("unchecked") // safe cast from Function to UnaryOperator + @SuppressWarnings("unchecked") // cast result to SpanNameExtractor public GrpcTelemetryBuilder setServerSpanNameExtractor( Function, ? extends SpanNameExtractor> serverSpanNameExtractor) { diff --git a/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt b/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt index 75a1f91114f4..718c7250a72f 100644 --- a/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt +++ b/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorClientTelemetryBuilder.kt @@ -79,9 +79,9 @@ abstract class AbstractKtorClientTelemetryBuilder( }) } - @Deprecated("Use spanNameExtractor(UnaryOperator) instead", ReplaceWith("spanNameExtractor(spanNameExtractorTransformer as UnaryOperator>)")) + @Deprecated("Use spanNameExtractor(UnaryOperator) instead", ReplaceWith("spanNameExtractor(spanNameExtractorTransformer::apply)")) fun spanNameExtractor(spanNameExtractorTransformer: Function, SpanNameExtractor>) { - spanNameExtractor(spanNameExtractorTransformer as UnaryOperator>) + spanNameExtractor(spanNameExtractorTransformer::apply) } fun spanNameExtractor(spanNameExtractor: UnaryOperator>) { diff --git a/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt b/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt index 08d03e4889cf..0323cae40ac9 100644 --- a/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt +++ b/instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/common/AbstractKtorServerTelemetryBuilder.kt @@ -89,9 +89,9 @@ abstract class AbstractKtorServerTelemetryBuilder(private val instrumentationNam ) } - @Deprecated("Use spanNameExtractor(UnaryOperator) instead", ReplaceWith("spanNameExtractor(spanNameExtractorTransformer as UnaryOperator>)")) + @Deprecated("Use spanNameExtractor(UnaryOperator) instead", ReplaceWith("spanNameExtractor(spanNameExtractorTransformer::apply)")) fun spanNameExtractor(spanNameExtractorTransformer: Function, SpanNameExtractor>) { - spanNameExtractor(spanNameExtractorTransformer as UnaryOperator>) + spanNameExtractor(spanNameExtractorTransformer::apply) } fun spanNameExtractor(spanNameExtractor: UnaryOperator>) { diff --git a/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java b/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java index e3caf8e39321..e98fb5e48d9b 100644 --- a/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java +++ b/instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/R2dbcTelemetryBuilder.java @@ -58,7 +58,7 @@ public R2dbcTelemetryBuilder setStatementSanitizationEnabled(boolean enabled) { */ @Deprecated @CanIgnoreReturnValue - @SuppressWarnings("unchecked") // safe cast from Function to UnaryOperator + @SuppressWarnings("unchecked") // cast result to SpanNameExtractor public R2dbcTelemetryBuilder setSpanNameExtractor( Function, ? extends SpanNameExtractor> spanNameExtractorTransformer) {