From 3cadf651254762630888303cd53ba13abc6a1a63 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Fri, 31 Jan 2025 10:31:27 -0800 Subject: [PATCH] Remove deprecated HTTP library methods --- CHANGELOG.md | 2 ++ .../ApacheHttpClientTelemetryBuilder.java | 32 ------------------- .../JavaHttpClientTelemetryBuilder.java | 31 ------------------ .../v12_0/JettyClientTelemetryBuilder.java | 30 ----------------- .../v9_2/JettyClientTelemetryBuilder.java | 30 ----------------- .../okhttp/v3_0/OkHttpTelemetry.java | 19 +---------- .../okhttp/v3_0/OkHttpTelemetryBuilder.java | 30 ----------------- 7 files changed, 3 insertions(+), 171 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d8e75493f52d..2f27982b7c26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ - `io.opentelemetry.instrumentation.api.incubator.semconv.util.SpanNames` has been deprecated, replaced by the stable `io.opentelemetry.instrumentation.api.semconv.util.SpanNames` +- In preparation for stabilizing HTTP library instrumentation, the classes and methods + that were deprecated in the prior two releases have now been removed ## Version 2.12.0 (2025-01-17) 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 0dc11a036052..f7b94dc65a7a 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 @@ -35,21 +35,6 @@ public final class ApacheHttpClientTelemetryBuilder { this.openTelemetry = openTelemetry; } - /** - * Adds an additional {@link AttributesExtractor} to invoke to set attributes to instrumented - * items. The {@link AttributesExtractor} will be executed after all default extractors. - * - * @deprecated Use {@link #addAttributesExtractor(AttributesExtractor)} instead. - */ - @Deprecated - @CanIgnoreReturnValue - public ApacheHttpClientTelemetryBuilder addAttributeExtractor( - AttributesExtractor - attributesExtractor) { - builder.addAttributesExtractor(attributesExtractor); - return this; - } - /** * Adds an additional {@link AttributesExtractor} to invoke to set attributes to instrumented * items. The {@link AttributesExtractor} will be executed after all default extractors. @@ -105,23 +90,6 @@ public ApacheHttpClientTelemetryBuilder setKnownMethods(Collection known return this; } - /** - * Configures the instrumentation to emit experimental HTTP client metrics. - * - * @param emitExperimentalHttpClientMetrics {@code true} if the experimental HTTP client metrics - * are to be emitted. - * @deprecated Use {@link - * Experimental#setEmitExperimentalTelemetry(ApacheHttpClientTelemetryBuilder, boolean)} - * instead. - */ - @Deprecated - @CanIgnoreReturnValue - public ApacheHttpClientTelemetryBuilder setEmitExperimentalHttpClientMetrics( - boolean emitExperimentalHttpClientMetrics) { - builder.setEmitExperimentalHttpClientMetrics(emitExperimentalHttpClientMetrics); - return this; - } - /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public ApacheHttpClientTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/java-http-client/library/src/main/java/io/opentelemetry/instrumentation/httpclient/JavaHttpClientTelemetryBuilder.java b/instrumentation/java-http-client/library/src/main/java/io/opentelemetry/instrumentation/httpclient/JavaHttpClientTelemetryBuilder.java index 48ac08d29013..2113ba276eb6 100644 --- a/instrumentation/java-http-client/library/src/main/java/io/opentelemetry/instrumentation/httpclient/JavaHttpClientTelemetryBuilder.java +++ b/instrumentation/java-http-client/library/src/main/java/io/opentelemetry/instrumentation/httpclient/JavaHttpClientTelemetryBuilder.java @@ -34,20 +34,6 @@ public final class JavaHttpClientTelemetryBuilder { this.openTelemetry = openTelemetry; } - /** - * Adds an additional {@link AttributesExtractor} to invoke to set attributes to instrumented - * items. The {@link AttributesExtractor} will be executed after all default extractors. - * - * @deprecated Use {@link #addAttributesExtractor(AttributesExtractor)} instead. - */ - @Deprecated - @CanIgnoreReturnValue - public JavaHttpClientTelemetryBuilder addAttributeExtractor( - AttributesExtractor> attributesExtractor) { - builder.addAttributesExtractor(attributesExtractor); - return this; - } - /** * Adds an additional {@link AttributesExtractor} to invoke to set attributes to instrumented * items. The {@link AttributesExtractor} will be executed after all default extractors. @@ -102,23 +88,6 @@ public JavaHttpClientTelemetryBuilder setKnownMethods(Collection knownMe return this; } - /** - * Configures the instrumentation to emit experimental HTTP client metrics. - * - * @param emitExperimentalHttpClientMetrics {@code true} if the experimental HTTP client metrics - * are to be emitted. - * @deprecated Use {@link - * Experimental#setEmitExperimentalTelemetry(JavaHttpClientTelemetryBuilder, boolean)} - * instead. - */ - @Deprecated - @CanIgnoreReturnValue - public JavaHttpClientTelemetryBuilder setEmitExperimentalHttpClientMetrics( - boolean emitExperimentalHttpClientMetrics) { - builder.setEmitExperimentalHttpClientMetrics(emitExperimentalHttpClientMetrics); - return this; - } - /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public JavaHttpClientTelemetryBuilder 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 1df9582ecade..f9025541c93f 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 @@ -49,20 +49,6 @@ public JettyClientTelemetryBuilder setSslContextFactory( return this; } - /** - * Adds an additional {@link AttributesExtractor} to invoke to set attributes to instrumented - * items. - * - * @deprecated Use {@link #addAttributesExtractor(AttributesExtractor)} instead. - */ - @Deprecated - @CanIgnoreReturnValue - public JettyClientTelemetryBuilder addAttributeExtractor( - AttributesExtractor attributesExtractor) { - builder.addAttributesExtractor(attributesExtractor); - return this; - } - /** * Adds an additional {@link AttributesExtractor} to invoke to set attributes to instrumented * items. @@ -116,22 +102,6 @@ public JettyClientTelemetryBuilder setKnownMethods(Collection knownMetho return this; } - /** - * Configures the instrumentation to emit experimental HTTP client metrics. - * - * @param emitExperimentalHttpClientMetrics {@code true} if the experimental HTTP client metrics - * are to be emitted. - * @deprecated Use {@link Experimental#setEmitExperimentalTelemetry(JettyClientTelemetryBuilder, - * boolean)} instead. - */ - @Deprecated - @CanIgnoreReturnValue - public JettyClientTelemetryBuilder setEmitExperimentalHttpClientMetrics( - boolean emitExperimentalHttpClientMetrics) { - builder.setEmitExperimentalHttpClientMetrics(emitExperimentalHttpClientMetrics); - return this; - } - /** 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 438477a54835..7489bb6e9667 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 @@ -49,20 +49,6 @@ public JettyClientTelemetryBuilder setSslContextFactory(SslContextFactory sslCon return this; } - /** - * Adds an additional {@link AttributesExtractor} to invoke to set attributes to instrumented - * items. - * - * @deprecated Use {@link #addAttributesExtractor(AttributesExtractor)} instead. - */ - @Deprecated - @CanIgnoreReturnValue - public JettyClientTelemetryBuilder addAttributeExtractor( - AttributesExtractor attributesExtractor) { - builder.addAttributesExtractor(attributesExtractor); - return this; - } - /** * Adds an additional {@link AttributesExtractor} to invoke to set attributes to instrumented * items. @@ -116,22 +102,6 @@ public JettyClientTelemetryBuilder setKnownMethods(Collection knownMetho return this; } - /** - * Configures the instrumentation to emit experimental HTTP client metrics. - * - * @param emitExperimentalHttpClientMetrics {@code true} if the experimental HTTP client metrics - * are to be emitted. - * @deprecated Use {@link Experimental#setEmitExperimentalTelemetry(JettyClientTelemetryBuilder, - * boolean)} instead. - */ - @Deprecated - @CanIgnoreReturnValue - public JettyClientTelemetryBuilder setEmitExperimentalHttpClientMetrics( - boolean emitExperimentalHttpClientMetrics) { - builder.setEmitExperimentalHttpClientMetrics(emitExperimentalHttpClientMetrics); - return this; - } - /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public JettyClientTelemetryBuilder setSpanNameExtractor( diff --git a/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/OkHttpTelemetry.java b/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/OkHttpTelemetry.java index cd4963f24654..6bb85070e31b 100644 --- a/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/OkHttpTelemetry.java +++ b/instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/OkHttpTelemetry.java @@ -40,23 +40,6 @@ public static OkHttpTelemetryBuilder builder(OpenTelemetry openTelemetry) { this.propagators = propagators; } - /** - * Returns a new {@link Interceptor} that can be used with methods like {@link - * okhttp3.OkHttpClient.Builder#addInterceptor(Interceptor)}. - * - *

Important: asynchronous calls using {@link okhttp3.Call.Factory#enqueue(Callback)} will - * *not* work correctly using just this interceptor. - * - *

It is strongly recommended that you use the {@link #newCallFactory(OkHttpClient)} method to - * decorate your {@link OkHttpClient}, rather than using this method directly. - * - * @deprecated Please use the {@link #newCallFactory(OkHttpClient)} method instead. - */ - @Deprecated - public Interceptor newInterceptor() { - return new TracingInterceptor(instrumenter, propagators); - } - /** * Construct a new OpenTelemetry tracing-enabled {@link okhttp3.Call.Factory} using the provided * {@link OkHttpClient} instance. @@ -72,7 +55,7 @@ public Call.Factory newCallFactory(OkHttpClient baseClient) { // add our interceptors before other interceptors builder.interceptors().add(0, new ContextInterceptor()); builder.interceptors().add(1, new ConnectionErrorSpanInterceptor(instrumenter)); - builder.networkInterceptors().add(0, newInterceptor()); + builder.networkInterceptors().add(0, new TracingInterceptor(instrumenter, propagators)); OkHttpClient tracingClient = builder.build(); return new TracingCallFactory(tracingClient); } 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 203e93b46573..671f87841e4e 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 @@ -34,20 +34,6 @@ public final class OkHttpTelemetryBuilder { this.openTelemetry = openTelemetry; } - /** - * Adds an additional {@link AttributesExtractor} to invoke to set attributes to instrumented - * items. - * - * @deprecated Use {@link #addAttributesExtractor(AttributesExtractor)} instead. - */ - @Deprecated - @CanIgnoreReturnValue - public OkHttpTelemetryBuilder addAttributeExtractor( - AttributesExtractor attributesExtractor) { - builder.addAttributesExtractor(attributesExtractor); - return this; - } - /** * Adds an additional {@link AttributesExtractor} to invoke to set attributes to instrumented * items. @@ -100,22 +86,6 @@ public OkHttpTelemetryBuilder setKnownMethods(Collection knownMethods) { return this; } - /** - * Configures the instrumentation to emit experimental HTTP client metrics. - * - * @param emitExperimentalHttpClientMetrics {@code true} if the experimental HTTP client metrics - * are to be emitted. - * @deprecated Use {@link Experimental#setEmitExperimentalTelemetry(OkHttpTelemetryBuilder, - * boolean)} instead. - */ - @Deprecated - @CanIgnoreReturnValue - public OkHttpTelemetryBuilder setEmitExperimentalHttpClientMetrics( - boolean emitExperimentalHttpClientMetrics) { - builder.setEmitExperimentalHttpClientMetrics(emitExperimentalHttpClientMetrics); - return this; - } - /** Sets custom {@link SpanNameExtractor} via transform function. */ @CanIgnoreReturnValue public OkHttpTelemetryBuilder setSpanNameExtractor(