From fce71d28d9385de96a2dc7b498c9057bc0c7c6a5 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Fri, 8 Dec 2023 14:45:50 +0100 Subject: [PATCH] Further deprecate the handler API whenever the deprecated API is being used - added logging of warnings - added 5 second timeout also removed any calls to the deprecated API from the existing integration tests. That's a breaking change in the way that we're not creating the default handlers in testing framework. I think that's fine cause we haven't setup any functionality for it neither have we documented any of its usage anywhere fixes gh-371 --- .../brave/bridge/BraveHttpClientHandler.java | 4 ++ .../brave/bridge/BraveHttpRequestParser.java | 4 ++ .../brave/bridge/BraveHttpResponseParser.java | 3 ++ .../brave/bridge/BraveHttpServerHandler.java | 3 ++ .../brave/bridge/BraveSamplerFunction.java | 5 +++ .../brave/bridge/DeprecatedClassLogger.java | 40 ++++++++++++++++++ .../bridge/BraveHttpClientHandlerTests.java | 42 ------------------- .../DefaultHttpClientAttributesGetter.java | 17 ++++++++ .../DefaultHttpServerAttributesExtractor.java | 20 +++++++++ .../otel/bridge/DeprecatedClassLogger.java | 40 ++++++++++++++++++ .../otel/bridge/OtelHttpClientHandler.java | 4 ++ .../otel/bridge/OtelHttpServerHandler.java | 3 ++ .../otel/bridge/SkipPatternSampler.java | 2 + .../reporter/inmemory/InMemoryBraveSetup.java | 22 +++++----- .../reporter/inmemory/InMemoryOtelSetup.java | 26 +++++------- .../wavefront/WavefrontBraveSetup.java | 18 +++----- .../wavefront/WavefrontOtelSetup.java | 26 +++++------- .../reporter/zipkin/ZipkinBraveSetup.java | 24 +++++------ .../test/reporter/zipkin/ZipkinOtelSetup.java | 26 +++++------- .../micrometer/tracing/SamplerFunction.java | 2 + 20 files changed, 205 insertions(+), 126 deletions(-) create mode 100755 micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/DeprecatedClassLogger.java delete mode 100644 micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/test/java/io/micrometer/tracing/brave/bridge/BraveHttpClientHandlerTests.java create mode 100755 micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/DeprecatedClassLogger.java diff --git a/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/BraveHttpClientHandler.java b/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/BraveHttpClientHandler.java index 9f2f4ebb..c7cc18ba 100755 --- a/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/BraveHttpClientHandler.java +++ b/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/BraveHttpClientHandler.java @@ -44,15 +44,18 @@ public class BraveHttpClientHandler implements HttpClientHandler { public BraveHttpClientHandler( brave.http.HttpClientHandler delegate) { this.delegate = delegate; + DeprecatedClassLogger.logWarning(getClass()); } @Override public Span handleSend(HttpClientRequest request) { + DeprecatedClassLogger.logWarning(getClass()); return BraveSpan.fromBrave(this.delegate.handleSend(BraveHttpClientRequest.toBrave(request))); } @Override public Span handleSend(HttpClientRequest request, TraceContext parent) { + DeprecatedClassLogger.logWarning(getClass()); brave.Span span = this.delegate.handleSendWithParent(BraveHttpClientRequest.toBrave(request), BraveTraceContext.toBrave(parent)); if (!span.isNoop()) { @@ -63,6 +66,7 @@ public Span handleSend(HttpClientRequest request, TraceContext parent) { @Override public void handleReceive(HttpClientResponse response, Span span) { + DeprecatedClassLogger.logWarning(getClass()); if (response == null) { if (log.isDebugEnabled()) { log.debug("Response is null, will not handle receiving of span [" + span + "]"); diff --git a/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/BraveHttpRequestParser.java b/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/BraveHttpRequestParser.java index 642917f2..b345a849 100755 --- a/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/BraveHttpRequestParser.java +++ b/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/BraveHttpRequestParser.java @@ -36,8 +36,10 @@ public class BraveHttpRequestParser implements HttpRequestParser { * Creates a new version of a {@link BraveHttpRequestParser}. * @param delegate Brave version of {@link HttpRequestParser} */ + @Deprecated public BraveHttpRequestParser(brave.http.HttpRequestParser delegate) { this.delegate = delegate; + DeprecatedClassLogger.logWarning(getClass()); } /** @@ -46,6 +48,7 @@ public BraveHttpRequestParser(brave.http.HttpRequestParser delegate) { * @return Brave version of the parser */ public static brave.http.HttpRequestParser toBrave(HttpRequestParser parser) { + DeprecatedClassLogger.logWarning(BraveHttpRequestParser.class); if (parser instanceof BraveHttpRequestParser) { return ((BraveHttpRequestParser) parser).delegate; } @@ -55,6 +58,7 @@ public static brave.http.HttpRequestParser toBrave(HttpRequestParser parser) { @Override public void parse(HttpRequest request, TraceContext context, SpanCustomizer span) { + DeprecatedClassLogger.logWarning(getClass()); this.delegate.parse(BraveHttpRequest.toBrave(request), BraveTraceContext.toBrave(context), BraveSpanCustomizer.toBrave(span)); } diff --git a/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/BraveHttpResponseParser.java b/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/BraveHttpResponseParser.java index d8d79f0f..ac23e6f3 100755 --- a/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/BraveHttpResponseParser.java +++ b/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/BraveHttpResponseParser.java @@ -38,6 +38,7 @@ public class BraveHttpResponseParser implements HttpResponseParser { */ public BraveHttpResponseParser(brave.http.HttpResponseParser delegate) { this.delegate = delegate; + DeprecatedClassLogger.logWarning(getClass()); } /** @@ -46,6 +47,7 @@ public BraveHttpResponseParser(brave.http.HttpResponseParser delegate) { * @return Brave parser */ public static brave.http.HttpResponseParser toBrave(HttpResponseParser parser) { + DeprecatedClassLogger.logWarning(BraveHttpRequestParser.class); if (parser instanceof BraveHttpResponseParser) { return ((BraveHttpResponseParser) parser).delegate; } @@ -55,6 +57,7 @@ public static brave.http.HttpResponseParser toBrave(HttpResponseParser parser) { @Override public void parse(HttpResponse response, TraceContext context, SpanCustomizer span) { + DeprecatedClassLogger.logWarning(getClass()); this.delegate.parse(BraveHttpResponse.toBrave(response), BraveTraceContext.toBrave(context), BraveSpanCustomizer.toBrave(span)); } diff --git a/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/BraveHttpServerHandler.java b/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/BraveHttpServerHandler.java index a8b9a89f..bb682f73 100755 --- a/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/BraveHttpServerHandler.java +++ b/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/BraveHttpServerHandler.java @@ -39,15 +39,18 @@ public class BraveHttpServerHandler implements HttpServerHandler { public BraveHttpServerHandler( brave.http.HttpServerHandler delegate) { this.delegate = delegate; + DeprecatedClassLogger.logWarning(getClass()); } @Override public Span handleReceive(HttpServerRequest request) { + DeprecatedClassLogger.logWarning(getClass()); return BraveSpan.fromBrave(this.delegate.handleReceive(BraveHttpServerRequest.toBrave(request))); } @Override public void handleSend(HttpServerResponse response, Span span) { + DeprecatedClassLogger.logWarning(getClass()); this.delegate.handleSend(BraveHttpServerResponse.toBrave(response), BraveSpan.toBrave(span)); } diff --git a/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/BraveSamplerFunction.java b/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/BraveSamplerFunction.java index 6eb3dff4..38d27815 100755 --- a/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/BraveSamplerFunction.java +++ b/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/BraveSamplerFunction.java @@ -24,7 +24,9 @@ * @param type of the input, for example a request or method * @author Marcin Grzejszczak * @since 1.0.0 + * @deprecated scheduled for removal in 1.4.0 */ +@Deprecated @SuppressWarnings("unchecked") public final class BraveSamplerFunction implements SamplerFunction { @@ -35,6 +37,7 @@ public final class BraveSamplerFunction implements SamplerFunction { * @param samplerFunction Brave {@link SamplerFunction} */ public BraveSamplerFunction(brave.sampler.SamplerFunction samplerFunction) { + DeprecatedClassLogger.logWarning(getClass()); this.samplerFunction = samplerFunction; } @@ -47,11 +50,13 @@ public BraveSamplerFunction(brave.sampler.SamplerFunction samplerFunction) { @Deprecated public static brave.sampler.SamplerFunction toHttpBrave( SamplerFunction samplerFunction) { + DeprecatedClassLogger.logWarning(BraveSamplerFunction.class); return arg -> samplerFunction.trySample(BraveHttpRequest.fromBrave(arg)); } @Override public Boolean trySample(T arg) { + DeprecatedClassLogger.logWarning(getClass()); return this.samplerFunction.trySample(arg); } diff --git a/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/DeprecatedClassLogger.java b/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/DeprecatedClassLogger.java new file mode 100755 index 00000000..5c7797fe --- /dev/null +++ b/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/main/java/io/micrometer/tracing/brave/bridge/DeprecatedClassLogger.java @@ -0,0 +1,40 @@ +/** + * Copyright 2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.micrometer.tracing.brave.bridge; + +import io.micrometer.common.util.internal.logging.InternalLogger; +import io.micrometer.common.util.internal.logging.InternalLoggerFactory; + +/** + * @deprecated scheduled for removal in 1.4.0 + */ +@Deprecated +final class DeprecatedClassLogger { + + private static final InternalLogger log = InternalLoggerFactory.getInstance(DeprecatedClassLogger.class); + + static void logWarning(Class clazz) { + log.warn("The class <{}> is scheduled for removal in the next minor. Please migrate away from using it.", + clazz); + try { + Thread.sleep(5_000); + } + catch (InterruptedException e) { + throw new RuntimeException(e); + } + } + +} diff --git a/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/test/java/io/micrometer/tracing/brave/bridge/BraveHttpClientHandlerTests.java b/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/test/java/io/micrometer/tracing/brave/bridge/BraveHttpClientHandlerTests.java deleted file mode 100644 index 4909a8ec..00000000 --- a/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/test/java/io/micrometer/tracing/brave/bridge/BraveHttpClientHandlerTests.java +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Copyright 2022 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package io.micrometer.tracing.brave.bridge; - -import brave.Tracing; -import brave.http.HttpClientHandler; -import brave.http.HttpTracing; -import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.Test; - -class BraveHttpClientHandlerTests { - - Tracing tracing = Tracing.newBuilder().build(); - - @AfterEach - void cleanup() { - tracing.close(); - } - - @Test - void should_not_throw_exception_when_response_null() { - brave.http.HttpClientHandler delegate = HttpClientHandler - .create(HttpTracing.newBuilder(tracing).build()); - BraveHttpClientHandler handler = new BraveHttpClientHandler(delegate); - - handler.handleReceive(null, new BraveSpan(tracing.currentTracer().nextSpan())); - } - -} diff --git a/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/DefaultHttpClientAttributesGetter.java b/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/DefaultHttpClientAttributesGetter.java index 6577ba90..47ccf2ca 100644 --- a/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/DefaultHttpClientAttributesGetter.java +++ b/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/DefaultHttpClientAttributesGetter.java @@ -35,15 +35,21 @@ public class DefaultHttpClientAttributesGetter implements HttpClientAttributesGetter { + public DefaultHttpClientAttributesGetter() { + DeprecatedClassLogger.logWarning(getClass()); + } + @Nullable @Override public String getUrlFull(HttpClientRequest httpClientRequest) { + DeprecatedClassLogger.logWarning(getClass()); return httpClientRequest.url(); } @Nullable @Override public String getServerAddress(HttpClientRequest httpClientRequest) { + DeprecatedClassLogger.logWarning(getClass()); try { URI uri = URI.create(httpClientRequest.url()); return uri.getHost(); @@ -56,6 +62,7 @@ public String getServerAddress(HttpClientRequest httpClientRequest) { @Nullable @Override public Integer getServerPort(HttpClientRequest httpClientRequest) { + DeprecatedClassLogger.logWarning(getClass()); try { URI uri = URI.create(httpClientRequest.url()); return uri.getPort(); @@ -72,6 +79,7 @@ public Integer getServerPort(HttpClientRequest httpClientRequest) { @Nullable @Deprecated public String getUrl(HttpClientRequest httpClientRequest) { + DeprecatedClassLogger.logWarning(getClass()); return this.getUrlFull(httpClientRequest); } @@ -82,12 +90,14 @@ public String getUrl(HttpClientRequest httpClientRequest) { @Nullable @Deprecated public String getFlavor(HttpClientRequest httpClientRequest, @Nullable HttpClientResponse httpClientResponse) { + DeprecatedClassLogger.logWarning(getClass()); return null; } @Nullable @Override public String getHttpRequestMethod(HttpClientRequest httpClientRequest) { + DeprecatedClassLogger.logWarning(getClass()); return httpClientRequest.method(); } @@ -98,11 +108,13 @@ public String getHttpRequestMethod(HttpClientRequest httpClientRequest) { @Nullable @Deprecated public String getMethod(HttpClientRequest httpClientRequest) { + DeprecatedClassLogger.logWarning(getClass()); return this.getHttpRequestMethod(httpClientRequest); } @Override public List getHttpRequestHeader(HttpClientRequest httpClientRequest, String name) { + DeprecatedClassLogger.logWarning(getClass()); if (httpClientRequest == null) { return Collections.emptyList(); } @@ -116,6 +128,7 @@ public List getHttpRequestHeader(HttpClientRequest httpClientRequest, St */ @Deprecated public List getRequestHeader(HttpClientRequest httpClientRequest, String name) { + DeprecatedClassLogger.logWarning(getClass()); return this.getHttpRequestHeader(httpClientRequest, name); } @@ -123,6 +136,7 @@ public List getRequestHeader(HttpClientRequest httpClientRequest, String @Override public Integer getHttpResponseStatusCode(HttpClientRequest httpClientRequest, HttpClientResponse httpClientResponse, @Nullable Throwable error) { + DeprecatedClassLogger.logWarning(getClass()); if (httpClientResponse == null) { return null; } @@ -138,12 +152,14 @@ public Integer getHttpResponseStatusCode(HttpClientRequest httpClientRequest, Ht @Deprecated public Integer getStatusCode(HttpClientRequest httpClientRequest, HttpClientResponse httpClientResponse, Throwable error) { + DeprecatedClassLogger.logWarning(getClass()); return this.getHttpResponseStatusCode(httpClientRequest, httpClientResponse, error); } @Override public List getHttpResponseHeader(HttpClientRequest httpClientRequest, HttpClientResponse httpClientResponse, String name) { + DeprecatedClassLogger.logWarning(getClass()); if (httpClientResponse == null) { return Collections.emptyList(); } @@ -164,6 +180,7 @@ public List getHttpResponseHeader(HttpClientRequest httpClientRequest, @Deprecated public List getResponseHeader(HttpClientRequest httpClientRequest, HttpClientResponse httpClientResponse, String name) { + DeprecatedClassLogger.logWarning(getClass()); return this.getHttpResponseHeader(httpClientRequest, httpClientResponse, name); } diff --git a/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/DefaultHttpServerAttributesExtractor.java b/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/DefaultHttpServerAttributesExtractor.java index 33d24f3b..53aa45c5 100644 --- a/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/DefaultHttpServerAttributesExtractor.java +++ b/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/DefaultHttpServerAttributesExtractor.java @@ -35,6 +35,10 @@ public class DefaultHttpServerAttributesExtractor implements HttpServerAttributesGetter { + public DefaultHttpServerAttributesExtractor() { + DeprecatedClassLogger.logWarning(getClass()); + } + /** * @deprecated This method was removed from OpenTelemetry. It should not be used since * always returned null in Micrometer Tracing. @@ -42,12 +46,14 @@ public class DefaultHttpServerAttributesExtractor @Nullable @Deprecated public String getFlavor(HttpServerRequest httpServerRequest) { + DeprecatedClassLogger.logWarning(getClass()); return null; } @Nullable @Override public String getUrlPath(HttpServerRequest httpServerRequest) { + DeprecatedClassLogger.logWarning(getClass()); URI uri = toUri(httpServerRequest); if (uri == null) { return null; @@ -58,6 +64,7 @@ public String getUrlPath(HttpServerRequest httpServerRequest) { @Nullable @Override public String getUrlQuery(HttpServerRequest httpServerRequest) { + DeprecatedClassLogger.logWarning(getClass()); URI uri = toUri(httpServerRequest); if (uri == null) { return null; @@ -73,6 +80,7 @@ public String getUrlQuery(HttpServerRequest httpServerRequest) { @Nullable @Deprecated public String getTarget(HttpServerRequest httpServerRequest) { + DeprecatedClassLogger.logWarning(getClass()); return this.getUrlPath(httpServerRequest) + this.getUrlQuery(httpServerRequest); } @@ -89,6 +97,7 @@ private String queryPart(URI uri) { @Nullable @Override public String getHttpRoute(HttpServerRequest httpServerRequest) { + DeprecatedClassLogger.logWarning(getClass()); return httpServerRequest.route(); } @@ -99,12 +108,14 @@ public String getHttpRoute(HttpServerRequest httpServerRequest) { @Nullable @Deprecated public String getRoute(HttpServerRequest httpServerRequest) { + DeprecatedClassLogger.logWarning(getClass()); return this.getHttpRoute(httpServerRequest); } @Nullable @Override public String getUrlScheme(HttpServerRequest httpServerRequest) { + DeprecatedClassLogger.logWarning(getClass()); String url = httpServerRequest.url(); if (url == null) { return null; @@ -125,12 +136,14 @@ public String getUrlScheme(HttpServerRequest httpServerRequest) { @Nullable @Deprecated public String getScheme(HttpServerRequest httpServerRequest) { + DeprecatedClassLogger.logWarning(getClass()); return this.getUrlScheme(httpServerRequest); } @Nullable @Override public String getHttpRequestMethod(HttpServerRequest httpServerRequest) { + DeprecatedClassLogger.logWarning(getClass()); return httpServerRequest.method(); } @@ -141,11 +154,13 @@ public String getHttpRequestMethod(HttpServerRequest httpServerRequest) { @Nullable @Deprecated public String getMethod(HttpServerRequest httpServerRequest) { + DeprecatedClassLogger.logWarning(getClass()); return this.getHttpRequestMethod(httpServerRequest); } @Override public List getHttpRequestHeader(HttpServerRequest httpServerRequest, String name) { + DeprecatedClassLogger.logWarning(getClass()); String value = httpServerRequest.header(name); return value == null ? Collections.emptyList() : Collections.singletonList(value); } @@ -156,6 +171,7 @@ public List getHttpRequestHeader(HttpServerRequest httpServerRequest, St */ @Deprecated public List getRequestHeader(HttpServerRequest httpServerRequest, String name) { + DeprecatedClassLogger.logWarning(getClass()); return this.getHttpRequestHeader(httpServerRequest, name); } @@ -163,6 +179,7 @@ public List getRequestHeader(HttpServerRequest httpServerRequest, String @Override public Integer getHttpResponseStatusCode(HttpServerRequest httpServerRequest, HttpServerResponse httpServerResponse, @Nullable Throwable error) { + DeprecatedClassLogger.logWarning(getClass()); return httpServerResponse.statusCode(); } @@ -175,12 +192,14 @@ public Integer getHttpResponseStatusCode(HttpServerRequest httpServerRequest, Ht @Deprecated public Integer getStatusCode(HttpServerRequest httpServerRequest, HttpServerResponse httpServerResponse, Throwable error) { + DeprecatedClassLogger.logWarning(getClass()); return this.getHttpResponseStatusCode(httpServerRequest, httpServerResponse, error); } @Override public List getHttpResponseHeader(HttpServerRequest httpServerRequest, HttpServerResponse httpServerResponse, String name) { + DeprecatedClassLogger.logWarning(getClass()); String value = httpServerResponse.header(name); return value == null ? Collections.emptyList() : Collections.singletonList(value); } @@ -193,6 +212,7 @@ public List getHttpResponseHeader(HttpServerRequest httpServerRequest, @Deprecated public List getResponseHeader(HttpServerRequest httpServerRequest, HttpServerResponse httpServerResponse, String name) { + DeprecatedClassLogger.logWarning(getClass()); return this.getHttpResponseHeader(httpServerRequest, httpServerResponse, name); } diff --git a/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/DeprecatedClassLogger.java b/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/DeprecatedClassLogger.java new file mode 100755 index 00000000..54edad86 --- /dev/null +++ b/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/DeprecatedClassLogger.java @@ -0,0 +1,40 @@ +/** + * Copyright 2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.micrometer.tracing.otel.bridge; + +import io.micrometer.common.util.internal.logging.InternalLogger; +import io.micrometer.common.util.internal.logging.InternalLoggerFactory; + +/** + * @deprecated scheduled for removal in 1.4.0 + */ +@Deprecated +final class DeprecatedClassLogger { + + private static final InternalLogger log = InternalLoggerFactory.getInstance(DeprecatedClassLogger.class); + + static void logWarning(Class clazz) { + log.warn("The class <{}> is scheduled for removal in the next minor. Please migrate away from using it.", + clazz); + try { + Thread.sleep(5_000); + } + catch (InterruptedException e) { + throw new RuntimeException(e); + } + } + +} diff --git a/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/OtelHttpClientHandler.java b/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/OtelHttpClientHandler.java index 2c3ae38e..c47a4c02 100644 --- a/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/OtelHttpClientHandler.java +++ b/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/OtelHttpClientHandler.java @@ -92,6 +92,7 @@ public OtelHttpClientHandler(OpenTelemetry openTelemetry, @Nullable HttpRequestP @Nullable HttpResponseParser httpClientResponseParser, SamplerFunction samplerFunction, HttpClientAttributesGetter httpAttributesExtractor, NetClientAttributesGetter netAttributesGetter) { + DeprecatedClassLogger.logWarning(getClass()); this.httpClientRequestParser = httpClientRequestParser; this.httpClientResponseParser = httpClientResponseParser; this.samplerFunction = samplerFunction; @@ -107,12 +108,14 @@ public OtelHttpClientHandler(OpenTelemetry openTelemetry, @Nullable HttpRequestP @Override public Span handleSend(HttpClientRequest request) { + DeprecatedClassLogger.logWarning(getClass()); Context parentContext = Context.current(); return startSpan(request, parentContext); } @Override public Span handleSend(HttpClientRequest request, TraceContext parent) { + DeprecatedClassLogger.logWarning(getClass()); Context parentContext = OtelTraceContext.toOtelContext(parent); return startSpan(request, parentContext); } @@ -147,6 +150,7 @@ private Span span(Context context, HttpClientRequest request) { @Override public void handleReceive(HttpClientResponse response, Span span) { + DeprecatedClassLogger.logWarning(getClass()); OtelSpan otelSpanWrapper = (OtelSpan) span; if (!otelSpanWrapper.delegate.getSpanContext().isValid()) { if (log.isDebugEnabled()) { diff --git a/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/OtelHttpServerHandler.java b/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/OtelHttpServerHandler.java index f8101087..c0d5dc7e 100644 --- a/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/OtelHttpServerHandler.java +++ b/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/OtelHttpServerHandler.java @@ -68,6 +68,7 @@ public class OtelHttpServerHandler implements HttpServerHandler { public OtelHttpServerHandler(OpenTelemetry openTelemetry, @Nullable HttpRequestParser httpServerRequestParser, @Nullable HttpResponseParser httpServerResponseParser, Pattern skipPattern, HttpServerAttributesGetter httpAttributesExtractor) { + DeprecatedClassLogger.logWarning(getClass()); this.httpServerRequestParser = httpServerRequestParser; this.httpServerResponseParser = httpServerResponseParser; this.pattern = skipPattern; @@ -83,6 +84,7 @@ public OtelHttpServerHandler(OpenTelemetry openTelemetry, @Nullable HttpRequestP @Override public Span handleReceive(HttpServerRequest request) { + DeprecatedClassLogger.logWarning(getClass()); String url = request.path(); boolean shouldSkip = !StringUtils.isEmpty(url) && this.pattern.matcher(url).matches(); if (shouldSkip) { @@ -109,6 +111,7 @@ private Span span(Context context, HttpServerRequest request) { @Override public void handleSend(HttpServerResponse response, Span span) { + DeprecatedClassLogger.logWarning(getClass()); OtelSpan otelSpanWrapper = (OtelSpan) span; if (!otelSpanWrapper.delegate.getSpanContext().isValid()) { if (log.isDebugEnabled()) { diff --git a/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/SkipPatternSampler.java b/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/SkipPatternSampler.java index 02b07204..9b697ed8 100644 --- a/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/SkipPatternSampler.java +++ b/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/main/java/io/micrometer/tracing/otel/bridge/SkipPatternSampler.java @@ -37,11 +37,13 @@ public class SkipPatternSampler implements SamplerFunction { * @param pattern skip pattern */ public SkipPatternSampler(Pattern pattern) { + DeprecatedClassLogger.logWarning(getClass()); this.pattern = pattern; } @Override public final Boolean trySample(HttpRequest request) { + DeprecatedClassLogger.logWarning(getClass()); String url = request.path(); boolean shouldSkip = this.pattern.matcher(url).matches(); if (shouldSkip) { diff --git a/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/inmemory/InMemoryBraveSetup.java b/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/inmemory/InMemoryBraveSetup.java index b0fb290a..bfcd4280 100644 --- a/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/inmemory/InMemoryBraveSetup.java +++ b/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/inmemory/InMemoryBraveSetup.java @@ -163,7 +163,8 @@ public Propagator getPropagator() { } /** - * @deprecated scheduled for removal in 1.4.0 + * @deprecated scheduled for removal in 1.4.0, returns {@code null} starting + * from 1.3.0 unless explicitly set by the builder * @return http server handler */ @Deprecated @@ -173,7 +174,8 @@ public HttpServerHandler getHttpServerHandler() { } /** - * @deprecated scheduled for removal in 1.4.0 + * @deprecated scheduled for removal in 1.4.0, returns {@code null} starting + * from 1.3.0 unless explicitly set by the builder * @return http client handler */ @Deprecated @@ -252,7 +254,9 @@ public Builder observationHandlerCustomizer( * Overrides Http Server Handler. * @param httpServerHandler http server handler provider * @return this for chaining + * @deprecated scheduled for removal in 1.4.0 */ + @Deprecated public Builder httpServerHandler(Function httpServerHandler) { this.httpServerHandler = httpServerHandler; return this; @@ -262,7 +266,9 @@ public Builder httpServerHandler(Function httpSe * Overrides Http Client Handler. * @param httpClientHandler http client handler provider * @return this for chaining + * @deprecated scheduled for removal in 1.4.0 */ + @Deprecated public Builder httpClientHandler(Function httpClientHandler) { this.httpClientHandler = httpClientHandler; return this; @@ -302,9 +308,9 @@ public InMemoryBraveSetup register(ObservationRegistry registry) { Tracer tracer = this.tracer != null ? this.tracer.apply(tracing) : tracer(tracing); HttpTracing httpTracing = this.httpTracing != null ? this.httpTracing.apply(tracing) : httpTracing(tracing); HttpServerHandler httpServerHandler = this.httpServerHandler != null - ? this.httpServerHandler.apply(httpTracing) : httpServerHandler(httpTracing); + ? this.httpServerHandler.apply(httpTracing) : null; HttpClientHandler httpClientHandler = this.httpClientHandler != null - ? this.httpClientHandler.apply(httpTracing) : httpClientHandler(httpTracing); + ? this.httpClientHandler.apply(httpTracing) : null; BiConsumer>> customizers = this.customizers != null ? this.customizers : (t, h) -> { }; @@ -337,14 +343,6 @@ private static HttpTracing httpTracing(Tracing tracing) { return HttpTracing.newBuilder(tracing).build(); } - private static HttpServerHandler httpServerHandler(HttpTracing httpTracing) { - return new BraveHttpServerHandler(brave.http.HttpServerHandler.create(httpTracing)); - } - - private static HttpClientHandler httpClientHandler(HttpTracing httpTracing) { - return new BraveHttpClientHandler(brave.http.HttpClientHandler.create(httpTracing)); - } - private static Consumer closingFunction() { return deps -> { deps.httpTracing.close(); diff --git a/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/inmemory/InMemoryOtelSetup.java b/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/inmemory/InMemoryOtelSetup.java index d385d241..86bee37f 100644 --- a/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/inmemory/InMemoryOtelSetup.java +++ b/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/inmemory/InMemoryOtelSetup.java @@ -18,7 +18,6 @@ import io.micrometer.observation.Observation; import io.micrometer.observation.ObservationHandler; import io.micrometer.observation.ObservationRegistry; -import io.micrometer.tracing.SamplerFunction; import io.micrometer.tracing.exporter.FinishedSpan; import io.micrometer.tracing.handler.DefaultTracingObservationHandler; import io.micrometer.tracing.handler.PropagatingReceiverTracingObservationHandler; @@ -44,7 +43,6 @@ import java.util.function.BiConsumer; import java.util.function.Consumer; import java.util.function.Function; -import java.util.regex.Pattern; import java.util.stream.Collectors; /** @@ -161,7 +159,8 @@ public io.micrometer.tracing.Tracer getTracer() { } /** - * @deprecated scheduled for removal in 1.4.0 + * @deprecated scheduled for removal in 1.4.0, returns {@code null} starting + * from 1.3.0 unless explicitly set by the builder * @return http server handler */ @Deprecated @@ -171,7 +170,8 @@ public HttpServerHandler getHttpServerHandler() { } /** - * @deprecated scheduled for removal in 1.4.0 + * @deprecated scheduled for removal in 1.4.0, returns {@code null} starting + * from 1.3.0 unless explicitly set by the builder * @return http client handler */ @Deprecated @@ -265,7 +265,9 @@ public Builder observationHandlerCustomizer( * Overrides Http Server Handler. * @param httpServerHandler http server handler provider * @return this for chaining + * @deprecated scheduled for removal in 1.4.0 */ + @Deprecated public Builder httpServerHandler(Function httpServerHandler) { this.httpServerHandler = httpServerHandler; return this; @@ -275,7 +277,9 @@ public Builder httpServerHandler(Function h * Overrides Http Client Handler. * @param httpClientHandler http client handler provider * @return this for chaining + * @deprecated scheduled for removal in 1.4.0 */ + @Deprecated public Builder httpClientHandler(Function httpClientHandler) { this.httpClientHandler = httpClientHandler; return this; @@ -318,9 +322,9 @@ public InMemoryOtelSetup register(ObservationRegistry registry) { Tracer tracer = this.tracer != null ? this.tracer.apply(openTelemetrySdk) : tracer(openTelemetrySdk); OtelTracer otelTracer = this.otelTracer != null ? this.otelTracer.apply(tracer) : otelTracer(tracer); HttpServerHandler httpServerHandler = this.httpServerHandler != null - ? this.httpServerHandler.apply(openTelemetrySdk) : httpServerHandler(openTelemetrySdk); + ? this.httpServerHandler.apply(openTelemetrySdk) : null; HttpClientHandler httpClientHandler = this.httpClientHandler != null - ? this.httpClientHandler.apply(openTelemetrySdk) : httpClientHandler(openTelemetrySdk); + ? this.httpClientHandler.apply(openTelemetrySdk) : null; BiConsumer>> customizers = this.customizers != null ? this.customizers : (t, h) -> { }; @@ -370,16 +374,6 @@ private static ContextPropagators propagators(List propagator return ContextPropagators.create(TextMapPropagator.composite(propagators)); } - private static HttpServerHandler httpServerHandler(OpenTelemetrySdk openTelemetrySdk) { - return new OtelHttpServerHandler(openTelemetrySdk, null, null, Pattern.compile(""), - new DefaultHttpServerAttributesExtractor()); - } - - private static HttpClientHandler httpClientHandler(OpenTelemetrySdk openTelemetrySdk) { - return new OtelHttpClientHandler(openTelemetrySdk, null, null, SamplerFunction.alwaysSample(), - new DefaultHttpClientAttributesGetter()); - } - private static Consumer closingFunction() { return deps -> deps.sdkTracerProvider.close(); } diff --git a/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/wavefront/WavefrontBraveSetup.java b/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/wavefront/WavefrontBraveSetup.java index 1ebde634..23306fbf 100644 --- a/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/wavefront/WavefrontBraveSetup.java +++ b/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/wavefront/WavefrontBraveSetup.java @@ -200,7 +200,8 @@ public BravePropagator getPropagator() { } /** - * @deprecated scheduled for removal in 1.4.0 + * @deprecated scheduled for removal in 1.4.0, returns {@code null} starting + * from 1.3.0 unless explicitly set by the builder * @return http server handler */ @Deprecated @@ -210,7 +211,8 @@ public HttpServerHandler getHttpServerHandler() { } /** - * @deprecated scheduled for removal in 1.4.0 + * @deprecated scheduled for removal in 1.4.0, returns {@code null} starting + * from 1.3.0 unless explicitly set by the builder * @return http client handler */ @Deprecated @@ -372,9 +374,9 @@ public WavefrontBraveSetup register(MeterRegistry meterRegistry, ObservationRegi Tracer tracer = this.tracer != null ? this.tracer.apply(tracing) : tracer(tracing); HttpTracing httpTracing = this.httpTracing != null ? this.httpTracing.apply(tracing) : httpTracing(tracing); HttpServerHandler httpServerHandler = this.httpServerHandler != null - ? this.httpServerHandler.apply(httpTracing) : httpServerHandler(httpTracing); + ? this.httpServerHandler.apply(httpTracing) : null; HttpClientHandler httpClientHandler = this.httpClientHandler != null - ? this.httpClientHandler.apply(httpTracing) : httpClientHandler(httpTracing); + ? this.httpClientHandler.apply(httpTracing) : null; BiConsumer>> customizers = this.customizers != null ? this.customizers : (t, h) -> { }; @@ -426,14 +428,6 @@ private static HttpTracing httpTracing(Tracing tracing) { return HttpTracing.newBuilder(tracing).build(); } - private static HttpServerHandler httpServerHandler(HttpTracing httpTracing) { - return new BraveHttpServerHandler(brave.http.HttpServerHandler.create(httpTracing)); - } - - private static HttpClientHandler httpClientHandler(HttpTracing httpTracing) { - return new BraveHttpClientHandler(brave.http.HttpClientHandler.create(httpTracing)); - } - private static Consumer closingFunction() { return deps -> { deps.httpTracing.close(); diff --git a/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/wavefront/WavefrontOtelSetup.java b/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/wavefront/WavefrontOtelSetup.java index 86caff7b..22949ac5 100644 --- a/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/wavefront/WavefrontOtelSetup.java +++ b/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/wavefront/WavefrontOtelSetup.java @@ -21,7 +21,6 @@ import io.micrometer.observation.Observation; import io.micrometer.observation.ObservationHandler; import io.micrometer.observation.ObservationRegistry; -import io.micrometer.tracing.SamplerFunction; import io.micrometer.tracing.exporter.FinishedSpan; import io.micrometer.tracing.handler.DefaultTracingObservationHandler; import io.micrometer.tracing.handler.PropagatingReceiverTracingObservationHandler; @@ -45,7 +44,6 @@ import java.util.function.BiConsumer; import java.util.function.Consumer; import java.util.function.Function; -import java.util.regex.Pattern; import java.util.stream.Collectors; /** @@ -191,7 +189,8 @@ public Propagator getPropagator() { } /** - * @deprecated scheduled for removal in 1.4.0 + * @deprecated scheduled for removal in 1.4.0, returns {@code null} starting + * from 1.3.0 unless explicitly set by the builder * @return http server handler */ @Deprecated @@ -201,7 +200,8 @@ public HttpServerHandler getHttpServerHandler() { } /** - * @deprecated scheduled for removal in 1.4.0 + * @deprecated scheduled for removal in 1.4.0, returns {@code null} starting + * from 1.3.0 unless explicitly set by the builder * @return http client handler */ @Deprecated @@ -320,7 +320,9 @@ public Builder observationHandlerCustomizer( * Overrides Http Server Handler. * @param httpServerHandler http server handler provider * @return this for chaining + * @deprecated scheduled for removal in 1.4.0 */ + @Deprecated public Builder httpServerHandler(Function httpServerHandler) { this.httpServerHandler = httpServerHandler; return this; @@ -330,7 +332,9 @@ public Builder httpServerHandler(Function h * Overrides Http Client Handler. * @param httpClientHandler http client handler provider * @return this for chaining + * @deprecated scheduled for removal in 1.4.0 */ + @Deprecated public Builder httpClientHandler(Function httpClientHandler) { this.httpClientHandler = httpClientHandler; return this; @@ -379,9 +383,9 @@ public WavefrontOtelSetup register(ObservationRegistry observationRegistry, Mete ? this.customizers : (b, t) -> { }; HttpServerHandler httpServerHandler = this.httpServerHandler != null - ? this.httpServerHandler.apply(openTelemetrySdk) : httpServerHandler(openTelemetrySdk); + ? this.httpServerHandler.apply(openTelemetrySdk) : null; HttpClientHandler httpClientHandler = this.httpClientHandler != null - ? this.httpClientHandler.apply(openTelemetrySdk) : httpClientHandler(openTelemetrySdk); + ? this.httpClientHandler.apply(openTelemetrySdk) : null; OtelBuildingBlocks otelBuildingBlocks = new OtelBuildingBlocks(wavefrontOTelSpanExporter, otelTracer, new OtelPropagator(propagators(Collections.singletonList(B3Propagator.injectingMultiHeaders())), tracer), @@ -445,16 +449,6 @@ private static OtelTracer otelTracer(io.opentelemetry.api.trace.Tracer tracer) { }, new OtelBaggageManager(otelCurrentTraceContext, Collections.emptyList(), Collections.emptyList())); } - private static HttpServerHandler httpServerHandler(OpenTelemetrySdk openTelemetrySdk) { - return new OtelHttpServerHandler(openTelemetrySdk, null, null, Pattern.compile(""), - new DefaultHttpServerAttributesExtractor()); - } - - private static HttpClientHandler httpClientHandler(OpenTelemetrySdk openTelemetrySdk) { - return new OtelHttpClientHandler(openTelemetrySdk, null, null, SamplerFunction.alwaysSample(), - new DefaultHttpClientAttributesGetter()); - } - private static Consumer closingFunction() { return deps -> { WavefrontOtelSpanExporter reporter = deps.wavefrontOTelSpanExporter; diff --git a/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/zipkin/ZipkinBraveSetup.java b/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/zipkin/ZipkinBraveSetup.java index 684cc688..dade40eb 100644 --- a/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/zipkin/ZipkinBraveSetup.java +++ b/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/zipkin/ZipkinBraveSetup.java @@ -193,7 +193,8 @@ public Propagator getPropagator() { } /** - * @deprecated scheduled for removal in 1.4.0 + * @deprecated scheduled for removal in 1.4.0, returns {@code null} starting + * from 1.3.0 unless explicitly set by the builder * @return http server handler */ @Deprecated @@ -203,7 +204,8 @@ public HttpServerHandler getHttpServerHandler() { } /** - * @deprecated scheduled for removal in 1.4.0 + * @deprecated scheduled for removal in 1.4.0, returns {@code null} starting + * from 1.3.0 unless explicitly set by the builder * @return http client handler */ @Deprecated @@ -312,7 +314,9 @@ public Builder observationHandlerCustomizer( * Overrides Http Server Handler. * @param httpServerHandler http server handler provider * @return this for chaining + * @deprecated scheduled for removal in 1.4.0 */ + @Deprecated public Builder httpServerHandler(Function httpServerHandler) { this.httpServerHandler = httpServerHandler; return this; @@ -322,7 +326,9 @@ public Builder httpServerHandler(Function httpSe * Overrides Http Client Handler. * @param httpClientHandler http client handler provider * @return this for chaining + * @deprecated scheduled for removal in 1.4.0 */ + @Deprecated public Builder httpClientHandler(Function httpClientHandler) { this.httpClientHandler = httpClientHandler; return this; @@ -363,10 +369,12 @@ public ZipkinBraveSetup register(ObservationRegistry registry) { : tracing(reporter, testSpanHandler, this.applicationName); Tracer tracer = this.tracer != null ? this.tracer.apply(tracing) : tracer(tracing); HttpTracing httpTracing = this.httpTracing != null ? this.httpTracing.apply(tracing) : httpTracing(tracing); + @Deprecated HttpServerHandler httpServerHandler = this.httpServerHandler != null - ? this.httpServerHandler.apply(httpTracing) : httpServerHandler(httpTracing); + ? this.httpServerHandler.apply(httpTracing) : null; + @Deprecated HttpClientHandler httpClientHandler = this.httpClientHandler != null - ? this.httpClientHandler.apply(httpTracing) : httpClientHandler(httpTracing); + ? this.httpClientHandler.apply(httpTracing) : null; BiConsumer>> customizers = this.customizers != null ? this.customizers : (t, h) -> { }; @@ -415,14 +423,6 @@ private static HttpTracing httpTracing(Tracing tracing) { return HttpTracing.newBuilder(tracing).build(); } - private static HttpServerHandler httpServerHandler(HttpTracing httpTracing) { - return new BraveHttpServerHandler(brave.http.HttpServerHandler.create(httpTracing)); - } - - private static HttpClientHandler httpClientHandler(HttpTracing httpTracing) { - return new BraveHttpClientHandler(brave.http.HttpClientHandler.create(httpTracing)); - } - private static Consumer closingFunction() { return deps -> { deps.httpTracing.close(); diff --git a/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/zipkin/ZipkinOtelSetup.java b/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/zipkin/ZipkinOtelSetup.java index 57d016e0..20bce1a4 100644 --- a/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/zipkin/ZipkinOtelSetup.java +++ b/micrometer-tracing-tests/micrometer-tracing-integration-test/src/main/java/io/micrometer/tracing/test/reporter/zipkin/ZipkinOtelSetup.java @@ -18,7 +18,6 @@ import io.micrometer.observation.Observation; import io.micrometer.observation.ObservationHandler; import io.micrometer.observation.ObservationRegistry; -import io.micrometer.tracing.SamplerFunction; import io.micrometer.tracing.exporter.FinishedSpan; import io.micrometer.tracing.handler.DefaultTracingObservationHandler; import io.micrometer.tracing.handler.PropagatingReceiverTracingObservationHandler; @@ -51,7 +50,6 @@ import java.util.function.Consumer; import java.util.function.Function; import java.util.function.Supplier; -import java.util.regex.Pattern; import java.util.stream.Collectors; /** @@ -199,7 +197,8 @@ public io.micrometer.tracing.Tracer getTracer() { } /** - * @deprecated scheduled for removal in 1.4.0 + * @deprecated scheduled for removal in 1.4.0, returns {@code null} starting + * from 1.3.0 unless explicitly set by the builder * @return http server handler */ @Deprecated @@ -209,7 +208,8 @@ public HttpServerHandler getHttpServerHandler() { } /** - * @deprecated scheduled for removal in 1.4.0 + * @deprecated scheduled for removal in 1.4.0, returns {@code null} starting + * from 1.3.0 unless explicitly set by the builder * @return http client handler */ @Deprecated @@ -333,7 +333,9 @@ public Builder observationHandlerCustomizer( * Overrides Http Server Handler. * @param httpServerHandler http server handler provider * @return this for chaining + * @deprecated scheduled for removal in 1.4.0 */ + @Deprecated public Builder httpServerHandler(Function httpServerHandler) { this.httpServerHandler = httpServerHandler; return this; @@ -343,7 +345,9 @@ public Builder httpServerHandler(Function h * Overrides Http Client Handler. * @param httpClientHandler http client handler provider * @return this for chaining + * @deprecated scheduled for removal in 1.4.0 */ + @Deprecated public Builder httpClientHandler(Function httpClientHandler) { this.httpClientHandler = httpClientHandler; return this; @@ -390,9 +394,9 @@ public ZipkinOtelSetup register(ObservationRegistry registry) { : tracer(openTelemetrySdk); OtelTracer otelTracer = this.otelTracer != null ? this.otelTracer.apply(tracer) : otelTracer(tracer); HttpServerHandler httpServerHandler = this.httpServerHandler != null - ? this.httpServerHandler.apply(openTelemetrySdk) : httpServerHandler(openTelemetrySdk); + ? this.httpServerHandler.apply(openTelemetrySdk) : null; HttpClientHandler httpClientHandler = this.httpClientHandler != null - ? this.httpClientHandler.apply(openTelemetrySdk) : httpClientHandler(openTelemetrySdk); + ? this.httpClientHandler.apply(openTelemetrySdk) : null; BiConsumer>> customizers = this.customizers != null ? this.customizers : (t, h) -> { }; @@ -460,16 +464,6 @@ private static ContextPropagators propagators(List propagator return ContextPropagators.create(TextMapPropagator.composite(propagators)); } - private static HttpServerHandler httpServerHandler(OpenTelemetrySdk openTelemetrySdk) { - return new OtelHttpServerHandler(openTelemetrySdk, null, null, Pattern.compile(""), - new DefaultHttpServerAttributesExtractor()); - } - - private static HttpClientHandler httpClientHandler(OpenTelemetrySdk openTelemetrySdk) { - return new OtelHttpClientHandler(openTelemetrySdk, null, null, SamplerFunction.alwaysSample(), - new DefaultHttpClientAttributesGetter()); - } - private static Consumer closingFunction() { return deps -> deps.sdkTracerProvider.close(); } diff --git a/micrometer-tracing/src/main/java/io/micrometer/tracing/SamplerFunction.java b/micrometer-tracing/src/main/java/io/micrometer/tracing/SamplerFunction.java index 8b75ba8c..e619ebc1 100644 --- a/micrometer-tracing/src/main/java/io/micrometer/tracing/SamplerFunction.java +++ b/micrometer-tracing/src/main/java/io/micrometer/tracing/SamplerFunction.java @@ -27,7 +27,9 @@ * @author OpenZipkin Brave Authors * @author Marcin Grzejszczak * @since 1.0.0 + * @deprecated scheduled for removal in 1.4.0 */ +@Deprecated public interface SamplerFunction { /**