This is an automated email from the ASF dual-hosted git repository.

reta pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cxf.git


The following commit(s) were added to refs/heads/main by this push:
     new b9954acb99 CXF-8969: Update to Brave 6 (#1894)
b9954acb99 is described below

commit b9954acb99f53a223d9ce94a243286df1246010c
Author: Andriy Redko <drr...@gmail.com>
AuthorDate: Sat Jun 15 08:58:51 2024 -0400

    CXF-8969: Update to Brave 6 (#1894)
---
 .../release/samples/jax_rs/tracing_brave/pom.xml   |  12 +-
 .../demo/jaxrs/tracing/server/CatalogTracing.java  |   9 +-
 distribution/src/main/release/samples/pom.xml      |   3 +-
 .../tracing/brave/AbstractBraveClientProvider.java |  42 ++----
 .../cxf/tracing/brave/AbstractBraveProvider.java   |  25 ++--
 .../cxf/tracing/brave/BraveClientFeature.java      |   3 +-
 .../tracing/brave/BraveClientStartInterceptor.java |   2 +-
 .../tracing/brave/BraveClientStopInterceptor.java  |   8 +-
 .../org/apache/cxf/tracing/brave/BraveFeature.java |   1 -
 .../cxf/tracing/brave/BraveStopInterceptor.java    |   3 +-
 ...panParser.java => HttpClientRequestParser.java} |  19 +--
 ...anParser.java => HttpClientResponseParser.java} |  21 ++-
 .../tracing/brave/internal/HttpAdapterFactory.java |  18 ++-
 .../brave/internal/HttpClientAdapterFactory.java   | 101 ++++++++-----
 .../brave/internal/HttpServerAdapterFactory.java   |  65 +++++----
 .../tracing/brave/jaxrs/BraveClientProvider.java   |   9 +-
 .../cxf/tracing/brave/jaxrs/BraveFeature.java      |   3 -
 .../cxf/tracing/brave/jaxrs/BraveProvider.java     |   3 +-
 .../apache/cxf/tracing/brave/BraveTraceTest.java   |  24 +--
 parent/pom.xml                                     |  10 +-
 ...Test.java => SpringJaxrsObservabilityTest.java} |  11 +-
 ...t.java => SpringJaxrsWebObservabilityTest.java} |  11 +-
 .../spring/boot/SpringJaxwsObservabilityTest.java  |   7 +-
 .../java/org/apache/cxf/systest/brave/HasSpan.java |  21 ++-
 .../cxf/systest/brave/IsAnnotationContaining.java  |   9 +-
 ...{TestSpanReporter.java => TestSpanHandler.java} |  15 +-
 .../brave/jaxrs/AbstractBraveTracingTest.java      | 162 ++++++++++-----------
 .../brave/jaxws/AbstractBraveTracingTest.java      |  74 +++++-----
 .../jaxrs/tracing/brave/BraveTracingTest.java      |   4 +-
 .../tracing/micrometer/MicrometerTracingTest.java  |   4 +-
 .../cxf/systest/jaxws/tracing/brave/BookStore.java |   4 +-
 .../jaxws/tracing/brave/BraveTracingTest.java      |   6 +-
 .../tracing/micrometer/MicrometerTracingTest.java  |   6 +-
 33 files changed, 379 insertions(+), 336 deletions(-)

diff --git a/distribution/src/main/release/samples/jax_rs/tracing_brave/pom.xml 
b/distribution/src/main/release/samples/jax_rs/tracing_brave/pom.xml
index 6d67420847..d5276f4d21 100644
--- a/distribution/src/main/release/samples/jax_rs/tracing_brave/pom.xml
+++ b/distribution/src/main/release/samples/jax_rs/tracing_brave/pom.xml
@@ -194,7 +194,17 @@
         <dependency>
             <groupId>io.zipkin.reporter2</groupId>
             <artifactId>zipkin-sender-okhttp3</artifactId>
-            <version>2.17.1</version>
+            <version>${cxf.zipkin-reporter.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>io.zipkin.reporter2</groupId>
+            <artifactId>zipkin-reporter</artifactId>
+            <version>${cxf.zipkin-reporter.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>io.zipkin.reporter2</groupId>
+            <artifactId>zipkin-reporter-brave</artifactId>
+            <version>${cxf.zipkin-reporter.version}</version>
         </dependency>
         <dependency>
             <groupId>io.zipkin.brave</groupId>
diff --git 
a/distribution/src/main/release/samples/jax_rs/tracing_brave/src/main/java/demo/jaxrs/tracing/server/CatalogTracing.java
 
b/distribution/src/main/release/samples/jax_rs/tracing_brave/src/main/java/demo/jaxrs/tracing/server/CatalogTracing.java
index 818ffe08c1..eac0b7175c 100644
--- 
a/distribution/src/main/release/samples/jax_rs/tracing_brave/src/main/java/demo/jaxrs/tracing/server/CatalogTracing.java
+++ 
b/distribution/src/main/release/samples/jax_rs/tracing_brave/src/main/java/demo/jaxrs/tracing/server/CatalogTracing.java
@@ -25,12 +25,13 @@ import brave.http.HttpTracing;
 import brave.propagation.ThreadLocalCurrentTraceContext;
 import zipkin2.Span;
 import zipkin2.reporter.AsyncReporter;
-import zipkin2.reporter.Sender;
+import zipkin2.reporter.BytesMessageSender;
+import zipkin2.reporter.brave.ZipkinSpanHandler;
 import zipkin2.reporter.okhttp3.OkHttpSender;
 
 public class CatalogTracing implements AutoCloseable {
     private volatile AsyncReporter<Span> reporter;
-    private volatile Sender sender;
+    private volatile BytesMessageSender sender;
     private volatile HttpTracing httpTracing;
     private final String serviceName;
     
@@ -74,10 +75,10 @@ public class CatalogTracing implements AutoCloseable {
             .currentTraceContext(
                 ThreadLocalCurrentTraceContext
                     .newBuilder()
-                    .addScopeDecorator(MDCScopeDecorator.create()) 
+                    .addScopeDecorator(MDCScopeDecorator.get()) 
                     .build()
               )
-            .spanReporter(reporter)
+            .addSpanHandler(ZipkinSpanHandler.create(reporter))
             .build();
         
         return HttpTracing.create(tracing);
diff --git a/distribution/src/main/release/samples/pom.xml 
b/distribution/src/main/release/samples/pom.xml
index 8369a38872..f26a610721 100644
--- a/distribution/src/main/release/samples/pom.xml
+++ b/distribution/src/main/release/samples/pom.xml
@@ -44,7 +44,8 @@
         <cxf.lucene.version>9.10.0</cxf.lucene.version>
         <cxf.olingo.server.version>5.0.0</cxf.olingo.server.version>
         <cxf.aspectj.version>1.9.22.1</cxf.aspectj.version>
-        <cxf.brave.version>5.17.0</cxf.brave.version>
+        <cxf.brave.version>6.0.3</cxf.brave.version>
+        <cxf.zipkin-reporter.version>3.4.0</cxf.zipkin-reporter.version>
         <cxf.zest.version>2.1</cxf.zest.version>
         <cxf.activemq.artemis.version>2.31.0</cxf.activemq.artemis.version>
         <cxf.h2.version>2.2.224</cxf.h2.version>
diff --git 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/AbstractBraveClientProvider.java
 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/AbstractBraveClientProvider.java
index 4071d0ca72..dde2101af3 100644
--- 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/AbstractBraveClientProvider.java
+++ 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/AbstractBraveClientProvider.java
@@ -19,19 +19,16 @@
 package org.apache.cxf.tracing.brave;
 
 import java.net.URI;
-import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.logging.Logger;
 
 import brave.Span;
 import brave.Tracer.SpanInScope;
-import brave.http.HttpClientAdapter;
 import brave.http.HttpClientHandler;
 import brave.http.HttpClientRequest;
 import brave.http.HttpClientResponse;
 import brave.http.HttpTracing;
-import brave.propagation.Propagation.Setter;
 import org.apache.cxf.common.logging.LogUtils;
 import org.apache.cxf.phase.PhaseInterceptorChain;
 import org.apache.cxf.tracing.AbstractTracingProvider;
@@ -54,15 +51,10 @@ public abstract class AbstractBraveClientProvider extends 
AbstractTracingProvide
             URI uri, String method) {
 
         final Request request = HttpAdapterFactory.request(requestHeaders, 
uri, method);
-        final HttpClientAdapter<Request, ?> adapter = 
HttpClientAdapterFactory.create(request);
+        final HttpClientRequest wrapper = 
HttpClientAdapterFactory.create(request);
         
-        final HttpClientHandler<Request, ?> handler = 
HttpClientHandler.create(brave, adapter);
-        final Span span = handler.handleSend(
-            brave
-                .tracing()
-                .propagation()
-                .injector(inject(requestHeaders)), 
-            request);
+        final HttpClientHandler<HttpClientRequest, ?> handler = 
HttpClientHandler.create(brave);
+        final Span span = handler.handleSend(wrapper);
 
         // In case of asynchronous client invocation, the span should be 
detached as JAX-RS
         // client request / response filters are going to be executed in 
different threads.
@@ -73,20 +65,13 @@ public abstract class AbstractBraveClientProvider extends 
AbstractTracingProvide
 
         return new TraceScopeHolder<TraceScope>(new TraceScope(span, scope), 
scope == null /* detached */);
     }
-    
-    private <C> Setter<C, String> inject(final Map<String, List<String>> 
requestHeaders) {
-        return (carrier, key, value) -> {
-            if (!requestHeaders.containsKey(key)) {
-                requestHeaders.put(key, Collections.singletonList(value));
-            }
-        };
-    }
 
     private boolean isAsyncInvocation() {
         return 
!PhaseInterceptorChain.getCurrentMessage().getExchange().isSynchronous();
     }
 
-    protected void stopTraceSpan(final TraceScopeHolder<TraceScope> holder, 
final int responseStatus) {
+    protected void stopTraceSpan(final TraceScopeHolder<TraceScope> holder, 
final String method,
+            final URI uri, final int responseStatus) {
         if (holder == null) {
             return;
         }
@@ -100,18 +85,19 @@ public abstract class AbstractBraveClientProvider extends 
AbstractTracingProvide
                     
brave.tracing().tracer().joinSpan(scope.getSpan().context());
                 }
     
-                final Response response = 
HttpAdapterFactory.response(responseStatus);
-                final HttpClientAdapter<?, Response> adapter = 
HttpClientAdapterFactory.create(response);
+                final Response response = HttpAdapterFactory.response(method, 
uri.toASCIIString(), responseStatus);
+                final HttpClientResponse wrapper = 
HttpClientAdapterFactory.create(response);
                 
-                final HttpClientHandler<?, Response> handler = 
HttpClientHandler.create(brave, adapter);
-                handler.handleReceive(response, null, scope.getSpan());
+                final HttpClientHandler<?, HttpClientResponse> handler = 
HttpClientHandler.create(brave);
+                handler.handleReceive(wrapper, scope.getSpan());
             } finally {
                 scope.close();
             }
         }
     }
     
-    protected void stopTraceSpan(final TraceScopeHolder<TraceScope> holder, 
final Throwable ex) {
+    protected void stopTraceSpan(final TraceScopeHolder<TraceScope> holder, 
final String method,
+            final URI uri, final Throwable ex) {
         if (holder == null) {
             return;
         }
@@ -125,9 +111,9 @@ public abstract class AbstractBraveClientProvider extends 
AbstractTracingProvide
                     
brave.tracing().tracer().joinSpan(scope.getSpan().context());
                 }
     
-                final HttpClientHandler<HttpClientRequest, HttpClientResponse> 
handler = 
-                        HttpClientHandler.create(brave);
-                handler.handleReceive(null, ex, scope.getSpan());
+                final HttpClientResponse wrapper = 
HttpClientAdapterFactory.create(method, uri, ex);
+                final HttpClientHandler<?, HttpClientResponse> handler = 
HttpClientHandler.create(brave);
+                handler.handleReceive(wrapper, scope.getSpan());
             } finally {
                 scope.close();
             }
diff --git 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/AbstractBraveProvider.java
 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/AbstractBraveProvider.java
index d991f780aa..ea332a3b81 100644
--- 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/AbstractBraveProvider.java
+++ 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/AbstractBraveProvider.java
@@ -25,8 +25,9 @@ import java.util.logging.Logger;
 
 import brave.Span;
 import brave.Tracer.SpanInScope;
-import brave.http.HttpServerAdapter;
 import brave.http.HttpServerHandler;
+import brave.http.HttpServerRequest;
+import brave.http.HttpServerResponse;
 import brave.http.HttpTracing;
 import org.apache.cxf.common.logging.LogUtils;
 import org.apache.cxf.phase.PhaseInterceptorChain;
@@ -50,16 +51,10 @@ public abstract class AbstractBraveProvider extends 
AbstractTracingProvider {
             URI uri, String method) {
 
         final Request request = HttpAdapterFactory.request(requestHeaders, 
uri, method);
-        final HttpServerAdapter<Request, ?> adapter = 
HttpServerAdapterFactory.create(request);
+        final HttpServerRequest wrapper = 
HttpServerAdapterFactory.create(request);
         
-        final HttpServerHandler<Request, ?> handler = 
HttpServerHandler.create(brave, adapter);
-        
-        Span span = handler.handleReceive(
-            brave
-                .tracing()
-                .propagation()
-                .extractor(adapter::requestHeader), 
-            request);
+        final HttpServerHandler<HttpServerRequest, ?> handler = 
HttpServerHandler.create(brave);
+        Span span = handler.handleReceive(wrapper);
         
         // If the service resource is using asynchronous processing mode, the 
trace
         // scope will be closed in another thread and as such should be 
detached.
@@ -76,6 +71,8 @@ public abstract class AbstractBraveProvider extends 
AbstractTracingProvider {
 
     protected void stopTraceSpan(final Map<String, List<String>> 
requestHeaders,
                                  final Map<String, List<Object>> 
responseHeaders,
+                                 final String method,
+                                 final URI uri,
                                  final int responseStatus,
                                  final TraceScopeHolder<TraceScope> holder) {
         if (holder == null) {
@@ -93,11 +90,11 @@ public abstract class AbstractBraveProvider extends 
AbstractTracingProvider {
                     span = 
brave.tracing().tracer().joinSpan(scope.getSpan().context());
                 }
     
-                final Response response = 
HttpAdapterFactory.response(responseStatus);
-                final HttpServerAdapter<?, Response> adapter = 
HttpServerAdapterFactory.create(response);
+                final Response response = HttpAdapterFactory.response(method, 
uri.getPath(), responseStatus);
+                final HttpServerResponse wrapper = 
HttpServerAdapterFactory.create(response);
                 
-                final HttpServerHandler<?, Response> handler = 
HttpServerHandler.create(brave, adapter);
-                handler.handleSend(response, null, scope.getSpan());
+                final HttpServerHandler<?, HttpServerResponse> handler = 
HttpServerHandler.create(brave);
+                handler.handleSend(wrapper, scope.getSpan());
             } finally {
                 scope.close();
                 if (span != null) {
diff --git 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveClientFeature.java
 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveClientFeature.java
index 8d0fd6ea40..3fbbd45e4d 100644
--- 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveClientFeature.java
+++ 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveClientFeature.java
@@ -48,7 +48,8 @@ public class BraveClientFeature extends 
DelegatingFeature<BraveClientFeature.Por
             this(
                     HttpTracing
                             .newBuilder(tracing)
-                            .clientParser(new HttpClientSpanParser())
+                            .clientRequestParser(new HttpClientRequestParser())
+                            .clientResponseParser(new 
HttpClientResponseParser())
                             .build()
             );
         }
diff --git 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveClientStartInterceptor.java
 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveClientStartInterceptor.java
index d33c4ad1fe..a57d9742c8 100644
--- 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveClientStartInterceptor.java
+++ 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveClientStartInterceptor.java
@@ -52,6 +52,6 @@ public class BraveClientStartInterceptor extends 
AbstractBraveClientInterceptor
             
(TraceScopeHolder<TraceScope>)message.getExchange().get(TRACE_SPAN);
         
         final Exception ex = message.getContent(Exception.class);
-        super.stopTraceSpan(holder, ex);
+        super.stopTraceSpan(holder, (String) 
message.get(Message.HTTP_REQUEST_METHOD), getUri(message), ex);
     }
 }
diff --git 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveClientStopInterceptor.java
 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveClientStopInterceptor.java
index 016e1087fa..c754cf508a 100644
--- 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveClientStopInterceptor.java
+++ 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveClientStopInterceptor.java
@@ -21,6 +21,7 @@ package org.apache.cxf.tracing.brave;
 import brave.http.HttpTracing;
 import org.apache.cxf.interceptor.Fault;
 import org.apache.cxf.message.Message;
+import org.apache.cxf.message.MessageUtils;
 import org.apache.cxf.phase.Phase;
 
 public class BraveClientStopInterceptor extends AbstractBraveClientInterceptor 
{
@@ -43,6 +44,11 @@ public class BraveClientStopInterceptor extends 
AbstractBraveClientInterceptor {
             responseCode = 200;
         }
 
-        super.stopTraceSpan(holder, responseCode);
+        boolean isRequestor = MessageUtils.isRequestor(message);
+        final Message requestMessage = isRequestor ? 
message.getExchange().getOutMessage()
+            : message.getExchange().getInMessage();
+
+        super.stopTraceSpan(holder, (String) 
requestMessage.get(Message.HTTP_REQUEST_METHOD), 
+            getUri(requestMessage), responseCode);
     }
 }
diff --git 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveFeature.java
 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveFeature.java
index 90d69e7c1d..4d152a0117 100644
--- 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveFeature.java
+++ 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveFeature.java
@@ -83,7 +83,6 @@ public class BraveFeature extends 
DelegatingFeature<BraveFeature.Portable> {
         private static HttpTracing newTracer(Tracing tracing) {
             return HttpTracing
                     .newBuilder(tracing)
-                    .serverParser(new HttpServerSpanParser())
                     .build();
         }
 
diff --git 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveStopInterceptor.java
 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveStopInterceptor.java
index 7dc4c0a388..ceb6a05da7 100644
--- 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveStopInterceptor.java
+++ 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/BraveStopInterceptor.java
@@ -60,6 +60,7 @@ public class BraveStopInterceptor extends 
AbstractBraveInterceptor {
             responseCode = 200;
         }
 
-        super.stopTraceSpan(requestHeaders, responseHeaders, responseCode, 
holder);
+        super.stopTraceSpan(requestHeaders, responseHeaders, 
(String)requestMessage.get(Message.HTTP_REQUEST_METHOD), 
+            getUri(requestMessage), responseCode, holder);
     }
 }
diff --git 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/HttpClientSpanParser.java
 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/HttpClientRequestParser.java
similarity index 65%
rename from 
integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/HttpClientSpanParser.java
rename to 
integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/HttpClientRequestParser.java
index 7fc959761a..90d131ce2c 100644
--- 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/HttpClientSpanParser.java
+++ 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/HttpClientRequestParser.java
@@ -18,20 +18,17 @@
  */
 package org.apache.cxf.tracing.brave;
 
-import brave.http.HttpAdapter;
-import brave.http.HttpClientParser;
+import brave.http.HttpRequest;
+import brave.http.HttpRequestParser;
+import brave.propagation.TraceContext;
 import org.apache.cxf.common.util.StringUtils;
 
-public class HttpClientSpanParser extends HttpClientParser {
+public class HttpClientRequestParser extends HttpRequestParser.Default {
     @Override
-    protected <Req> String spanName(HttpAdapter<Req, ?> adapter, Req request) {
-        return buildSpanDescription(adapter.url(request), 
adapter.method(request));
-    }
-
-    private String buildSpanDescription(final String path, final String 
method) {
-        if (StringUtils.isEmpty(method)) {
-            return path;
+    protected String spanName(HttpRequest req, TraceContext context) {
+        if (StringUtils.isEmpty(req.url())) {
+            return req.method();
         }
-        return method + " " + path;
+        return req.method() + " " + req.url();
     }
 }
diff --git 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/HttpServerSpanParser.java
 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/HttpClientResponseParser.java
similarity index 62%
rename from 
integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/HttpServerSpanParser.java
rename to 
integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/HttpClientResponseParser.java
index fd60963929..94ed0eb8b0 100644
--- 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/HttpServerSpanParser.java
+++ 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/HttpClientResponseParser.java
@@ -18,20 +18,17 @@
  */
 package org.apache.cxf.tracing.brave;
 
-import brave.http.HttpAdapter;
-import brave.http.HttpServerParser;
-import org.apache.cxf.common.util.StringUtils;
+import brave.SpanCustomizer;
+import brave.Tags;
+import brave.http.HttpResponseParser;
 
-public class HttpServerSpanParser extends HttpServerParser {
+public class HttpClientResponseParser extends HttpResponseParser.Default {
     @Override
-    protected <Req> String spanName(HttpAdapter<Req, ?> adapter, Req request) {
-        return buildSpanDescription(adapter.path(request), 
adapter.method(request));
-    }
-
-    private String buildSpanDescription(final String path, final String 
method) {
-        if (StringUtils.isEmpty(method)) {
-            return path;
+    protected void error(int httpStatus, Throwable error, SpanCustomizer span) 
{
+        if (error != null) {
+            span.tag(Tags.ERROR.key(), error.getMessage());
+        } else {
+            super.error(httpStatus, error, span);
         }
-        return method + " " + path;
     }
 }
diff --git 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/internal/HttpAdapterFactory.java
 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/internal/HttpAdapterFactory.java
index 4941369179..176780f125 100644
--- 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/internal/HttpAdapterFactory.java
+++ 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/internal/HttpAdapterFactory.java
@@ -48,12 +48,24 @@ public interface HttpAdapterFactory {
     }
     
     final class Response {
+        private final String method;
+        private final String path;
         private final Integer status;
         
-        Response(Integer status) {
+        Response(String method, String path, Integer status) {
+            this.method = method;
+            this.path = path;
             this.status = status;
         }
         
+        String path() {
+            return path;
+        }
+        
+        String method() {
+            return method;
+        }
+        
         Integer status() {
             return status;
         }
@@ -63,7 +75,7 @@ public interface HttpAdapterFactory {
         return new Request(headers, uri, method);
     }
     
-    static Response response(Integer status) {
-        return new Response(status);
+    static Response response(String method, String path, Integer status) {
+        return new Response(method, path, status);
     }
 }
diff --git 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/internal/HttpClientAdapterFactory.java
 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/internal/HttpClientAdapterFactory.java
index 7499648082..6ad39b4eee 100644
--- 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/internal/HttpClientAdapterFactory.java
+++ 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/internal/HttpClientAdapterFactory.java
@@ -18,71 +18,102 @@
  */
 package org.apache.cxf.tracing.brave.internal;
 
+import java.net.URI;
 import java.util.List;
 
-import brave.http.HttpClientAdapter;
+import brave.http.HttpClientRequest;
+import brave.http.HttpClientResponse;
 
 public interface HttpClientAdapterFactory extends HttpAdapterFactory {
-    static HttpClientAdapter<Request, Response> create(Request request) {
-        return new HttpClientAdapter<Request, Response>() {
+    static HttpClientRequest create(Request request) {
+        return new HttpClientRequest() {
             @Override 
-            public String method(Request request) {
+            public String method() {
                 return request.method();
             }
     
             @Override 
-            public String path(Request request) {
+            public String path() {
                 return request.uri().getPath();
             }
     
+            @Override
+            public String route() {
+                return path();
+            }
+
             @Override 
-            public String url(Request request) {
+            public String url() {
                 return request.uri().toString();
             }
     
             @Override 
-            public String requestHeader(Request request, String name) {
+            public String header(String name) {
                 List<String> value = request.headers().get(name);
-    
-                if (value != null && !value.isEmpty()) {
-                    return value.get(0);
-                }
-    
-                return null;
+                return (value != null && !value.isEmpty()) ? value.get(0) : 
null;
             }
     
-            @Override 
-            public Integer statusCode(Response response) {
-                throw new UnsupportedOperationException("The operation is not 
supported for request adapter");
+            @Override
+            public Request unwrap() {
+                return request;
+            }
+
+            @Override
+            public void header(String name, String value) {
+                request.headers().put(name, List.of(value));
             }
         };
     }
     
-    static HttpClientAdapter<Request, Response> create(Response response) {
-        return new HttpClientAdapter<Request, Response>() {
-            @Override 
-            public String method(Request request) {
-                throw new UnsupportedOperationException("The operation is not 
supported for response adapter");
+    static HttpClientResponse create(Response response) {
+        return new HttpClientResponse() {
+            @Override
+            public String route() {
+                return response.path();
             }
-    
+
             @Override 
-            public String path(Request request) {
-                throw new UnsupportedOperationException("The operation is not 
supported for response adapter");
+            public int statusCode() {
+                return response.status();
             }
-    
-            @Override 
-            public String url(Request request) {
-                throw new UnsupportedOperationException("The operation is not 
supported for response adapter");
+
+            @Override
+            public Response unwrap() {
+                return response;
             }
-    
-            @Override 
-            public String requestHeader(Request request, String name) {
-                throw new UnsupportedOperationException("The operation is not 
supported for response adapter");
+            
+            @Override
+            public String method() {
+                return response.method();
             }
+        };
+    }
     
-            @Override 
-            public Integer statusCode(Response response) {
-                return response.status();
+    static HttpClientResponse create(String method, URI uri, Throwable ex) {
+        return new HttpClientResponse() {
+            @Override
+            public Throwable unwrap() {
+                return ex;
+            }
+
+            @Override
+            public String method() {
+                return method;
+            }
+
+            @Override
+            public String route() {
+                return uri.toASCIIString();
+            }
+
+            @Override
+            public int statusCode() {
+                return 0;
+            }
+            
+            @Override
+            public Throwable error() {
+                return ex;
             }
         };
     }
diff --git 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/internal/HttpServerAdapterFactory.java
 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/internal/HttpServerAdapterFactory.java
index 69fee0f1e4..1006c3ad59 100644
--- 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/internal/HttpServerAdapterFactory.java
+++ 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/internal/HttpServerAdapterFactory.java
@@ -20,28 +20,34 @@ package org.apache.cxf.tracing.brave.internal;
 
 import java.util.List;
 
-import brave.http.HttpServerAdapter;
+import brave.http.HttpServerRequest;
+import brave.http.HttpServerResponse;
 
 public interface HttpServerAdapterFactory extends HttpAdapterFactory {
-    static HttpServerAdapter<Request, Response> create(Request request) {
-        return new HttpServerAdapter<Request, Response>() {
+    static HttpServerRequest create(Request request) {
+        return new HttpServerRequest() {
             @Override 
-            public String method(Request request) {
+            public String method() {
                 return request.method();
             }
     
             @Override 
-            public String path(Request request) {
+            public String path() {
                 return request.uri().getPath();
             }
+
+            @Override
+            public String route() {
+                return path();
+            }
     
             @Override 
-            public String url(Request request) {
+            public String url() {
                 return request.uri().toString();
             }
     
             @Override 
-            public String requestHeader(Request request, String name) {
+            public String header(String name) {
                 List<String> value = request.headers().get(name);
     
                 if (value != null && !value.isEmpty()) {
@@ -50,40 +56,35 @@ public interface HttpServerAdapterFactory extends 
HttpAdapterFactory {
     
                 return null;
             }
-    
-            @Override 
-            public Integer statusCode(Response response) {
-                throw new UnsupportedOperationException("The operation is not 
supported for request adapter");
+
+            @Override
+            public Request unwrap() {
+                return request;
             }
         };
     }
     
-    static HttpServerAdapter<Request, Response> create(Response response) {
-        return new HttpServerAdapter<Request, Response>() {
-            @Override 
-            public String method(Request request) {
-                throw new UnsupportedOperationException("The operation is not 
supported for response adapter");
+    static HttpServerResponse create(Response response) {
+        return new HttpServerResponse() {
+            @Override
+            public String method() {
+                return response.method();
             }
-    
-            @Override 
-            public String path(Request request) {
-                throw new UnsupportedOperationException("The operation is not 
supported for response adapter");
+            
+            @Override
+            public String route() {
+                return response.path();
             }
-    
+            
             @Override 
-            public String url(Request request) {
-                throw new UnsupportedOperationException("The operation is not 
supported for response adapter");
-            }
-    
-            @Override 
-            public String requestHeader(Request request, String name) {
-                throw new UnsupportedOperationException("The operation is not 
supported for response adapter");
-            }
-    
-            @Override 
-            public Integer statusCode(Response response) {
+            public int statusCode() {
                 return response.status();
             }
+
+            @Override
+            public Response unwrap() {
+                return response;
+            }
         };
     }
 }
diff --git 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/jaxrs/BraveClientProvider.java
 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/jaxrs/BraveClientProvider.java
index 40fb949f88..db3a4be9f0 100644
--- 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/jaxrs/BraveClientProvider.java
+++ 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/jaxrs/BraveClientProvider.java
@@ -28,7 +28,8 @@ import jakarta.ws.rs.client.ClientResponseContext;
 import jakarta.ws.rs.client.ClientResponseFilter;
 import jakarta.ws.rs.ext.Provider;
 import org.apache.cxf.tracing.brave.AbstractBraveClientProvider;
-import org.apache.cxf.tracing.brave.HttpClientSpanParser;
+import org.apache.cxf.tracing.brave.HttpClientRequestParser;
+import org.apache.cxf.tracing.brave.HttpClientResponseParser;
 import org.apache.cxf.tracing.brave.TraceScope;
 
 @Provider
@@ -39,7 +40,8 @@ public class BraveClientProvider extends 
AbstractBraveClientProvider
         this(
             HttpTracing
                 .newBuilder(brave)
-                .clientParser(new HttpClientSpanParser())
+                .clientRequestParser(new HttpClientRequestParser())
+                .clientResponseParser(new HttpClientResponseParser())
                 .build()
         );
     }
@@ -64,6 +66,7 @@ public class BraveClientProvider extends 
AbstractBraveClientProvider
             final ClientResponseContext responseContext) throws IOException {
         final TraceScopeHolder<TraceScope> holder =
             
(TraceScopeHolder<TraceScope>)requestContext.getProperty(TRACE_SPAN);
-        super.stopTraceSpan(holder, responseContext.getStatus());
+        super.stopTraceSpan(holder, requestContext.getMethod(),
+            requestContext.getUri(), responseContext.getStatus());
     }
 }
diff --git 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/jaxrs/BraveFeature.java
 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/jaxrs/BraveFeature.java
index 951333d767..798946124b 100644
--- 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/jaxrs/BraveFeature.java
+++ 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/jaxrs/BraveFeature.java
@@ -25,7 +25,6 @@ import brave.http.HttpTracing;
 import jakarta.ws.rs.core.Feature;
 import jakarta.ws.rs.core.FeatureContext;
 import jakarta.ws.rs.ext.Provider;
-import org.apache.cxf.tracing.brave.HttpServerSpanParser;
 
 @Provider
 public class BraveFeature implements Feature {
@@ -39,7 +38,6 @@ public class BraveFeature implements Feature {
         this(
             HttpTracing
                 
.newBuilder(Tracing.newBuilder().localServiceName(name).build())
-                .serverParser(new HttpServerSpanParser())
                 .build()
         );
     }
@@ -48,7 +46,6 @@ public class BraveFeature implements Feature {
         this(
           HttpTracing
               .newBuilder(tracing)
-              .serverParser(new HttpServerSpanParser())
               .build()
         );
     }
diff --git 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/jaxrs/BraveProvider.java
 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/jaxrs/BraveProvider.java
index 0d4a5a6179..9c498fa2b5 100644
--- 
a/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/jaxrs/BraveProvider.java
+++ 
b/integration/tracing/tracing-brave/src/main/java/org/apache/cxf/tracing/brave/jaxrs/BraveProvider.java
@@ -58,7 +58,8 @@ public class BraveProvider extends AbstractBraveProvider
     public void filter(final ContainerRequestContext requestContext,
             final ContainerResponseContext responseContext) throws IOException 
{
         super.stopTraceSpan(requestContext.getHeaders(), 
responseContext.getHeaders(),
-            responseContext.getStatus(), 
(TraceScopeHolder<TraceScope>)requestContext.getProperty(TRACE_SPAN));
+            requestContext.getMethod(), 
requestContext.getUriInfo().getRequestUri(),
+                responseContext.getStatus(), 
(TraceScopeHolder<TraceScope>)requestContext.getProperty(TRACE_SPAN));
     }
 
     @Override
diff --git 
a/integration/tracing/tracing-brave/src/test/java/org/apache/cxf/tracing/brave/BraveTraceTest.java
 
b/integration/tracing/tracing-brave/src/test/java/org/apache/cxf/tracing/brave/BraveTraceTest.java
index 7a90ef6766..5028e225ec 100644
--- 
a/integration/tracing/tracing-brave/src/test/java/org/apache/cxf/tracing/brave/BraveTraceTest.java
+++ 
b/integration/tracing/tracing-brave/src/test/java/org/apache/cxf/tracing/brave/BraveTraceTest.java
@@ -23,12 +23,13 @@ import java.util.Arrays;
 import java.util.List;
 
 import brave.Tracing;
+import brave.handler.MutableSpan;
+import brave.handler.SpanHandler;
+import brave.propagation.TraceContext;
 import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.feature.Feature;
 import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
 import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
-import zipkin2.Span;
-import zipkin2.reporter.Reporter;
 
 import org.junit.After;
 import org.junit.Assert;
@@ -56,7 +57,7 @@ public class BraveTraceTest {
     public void testMyService() {
         MyService myService = createProxy(clientLogging);
         myService.echo("test");
-        for (Span span : localReporter.spans) {
+        for (MutableSpan span : localReporter.spans) {
             System.out.println(span);
         }
         Assert.assertEquals(2, localReporter.spans.size());
@@ -84,26 +85,25 @@ public class BraveTraceTest {
         return (MyService)factory.create();
     }
 
-    private static BraveFeature createLoggingFeature(Reporter<Span> reporter) {
+    private static BraveFeature createLoggingFeature(SpanHandler handler) {
         Tracing brave =
-            
Tracing.newBuilder().localServiceName("myservice").spanReporter(reporter).build();
+            
Tracing.newBuilder().localServiceName("myservice").addSpanHandler(handler).build();
         return new BraveFeature(brave);
     }
 
-    private static BraveClientFeature 
createClientLoggingFeature(Reporter<Span> reporter) {
+    private static BraveClientFeature createClientLoggingFeature(SpanHandler 
handler) {
         Tracing brave =
-            
Tracing.newBuilder().localServiceName("myservice").spanReporter(reporter).build();
+            
Tracing.newBuilder().localServiceName("myservice").addSpanHandler(handler).build();
         return new BraveClientFeature(brave);
     }
 
-    static final class Localreporter implements Reporter<Span> {
-        List<Span> spans = new ArrayList<>();
+    static final class Localreporter extends SpanHandler {
+        List<MutableSpan> spans = new ArrayList<>();
 
         @Override
-        public void report(Span span) {
-            spans.add(span);
+        public boolean end(TraceContext context, MutableSpan span, Cause 
cause) {
+            return spans.add(span);
         }
-
     }
 
 }
diff --git a/parent/pom.xml b/parent/pom.xml
index 9222f4e1c4..0b343a70d5 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -96,7 +96,7 @@
         <cxf.atmosphere.version.range>[3.0, 4.0)</cxf.atmosphere.version.range>
         <cxf.atmosphere.version>3.0.8</cxf.atmosphere.version>
         <cxf.bcprov.version>1.77</cxf.bcprov.version>
-        <cxf.brave.version>5.17.1</cxf.brave.version>
+        <cxf.brave.version>6.0.3</cxf.brave.version>
         <cxf.cdi.api.version>4.0.1</cxf.cdi.api.version>
         <cxf.classgraph.version>4.8.25</cxf.classgraph.version>
         <cxf.classmate.version>1.5.1</cxf.classmate.version>
@@ -177,8 +177,8 @@
         <cxf.logback.classic.version>1.5.6</cxf.logback.classic.version>
         <cxf.lucene.version>9.10.0</cxf.lucene.version>
         <cxf.maven.core.version>3.9.6</cxf.maven.core.version>
-        <cxf.micrometer.version>1.13.0</cxf.micrometer.version>
-        <cxf.micrometer-tracing.version>1.2.6</cxf.micrometer-tracing.version>
+        <cxf.micrometer.version>1.13.1</cxf.micrometer.version>
+        <cxf.micrometer-tracing.version>1.3.1</cxf.micrometer-tracing.version>
         <cxf.microprofile.config.version>3.1</cxf.microprofile.config.version>
         
<cxf.microprofile.rest.client.version>3.0.1</cxf.microprofile.rest.client.version>
         
<cxf.microprofile.openapi.version>3.1.1</cxf.microprofile.openapi.version>
@@ -191,7 +191,7 @@
         <cxf.netty.tcnative.version>2.0.46.Final</cxf.netty.tcnative.version>
         <cxf.olingo.version>2.0.12</cxf.olingo.version>
         <cxf.openjpa.version>3.2.2</cxf.openjpa.version>
-        <cxf.opentelemetry.version>1.34.1</cxf.opentelemetry.version>
+        <cxf.opentelemetry.version>1.39.0</cxf.opentelemetry.version>
         
<cxf.opentelemetry.semconv.version>1.25.0-alpha</cxf.opentelemetry.semconv.version>
         <cxf.opentracing.version>0.33.0</cxf.opentracing.version>
         <cxf.openwebbeans.version>2.0.27</cxf.openwebbeans.version>
@@ -240,7 +240,7 @@
         <cxf.xmlschema.version>2.3.1</cxf.xmlschema.version>
         <cxf.xnio.version>3.8.15.Final</cxf.xnio.version>
         <cxf.zest.version>2.1</cxf.zest.version>
-        <cxf.zipkin-reporter.version>2.17.2</cxf.zipkin-reporter.version>
+        <cxf.zipkin-reporter.version>3.4.0</cxf.zipkin-reporter.version>
 
         <!-- various OSGi related versions -->
         <cxf.aries.api.version>1.0.1</cxf.aries.api.version>
diff --git 
a/systests/spring-boot/src/test/java/org/apache/cxf/systest/jaxrs/spring/boot/SpringJaxrsObservabiityTest.java
 
b/systests/spring-boot/src/test/java/org/apache/cxf/systest/jaxrs/spring/boot/SpringJaxrsObservabilityTest.java
similarity index 96%
rename from 
systests/spring-boot/src/test/java/org/apache/cxf/systest/jaxrs/spring/boot/SpringJaxrsObservabiityTest.java
rename to 
systests/spring-boot/src/test/java/org/apache/cxf/systest/jaxrs/spring/boot/SpringJaxrsObservabilityTest.java
index 747218a050..de3b42e4e5 100644
--- 
a/systests/spring-boot/src/test/java/org/apache/cxf/systest/jaxrs/spring/boot/SpringJaxrsObservabiityTest.java
+++ 
b/systests/spring-boot/src/test/java/org/apache/cxf/systest/jaxrs/spring/boot/SpringJaxrsObservabilityTest.java
@@ -23,6 +23,7 @@ import java.time.Duration;
 
 import com.fasterxml.jackson.jakarta.rs.json.JacksonJsonProvider;
 
+import brave.handler.SpanHandler;
 import brave.sampler.Sampler;
 import jakarta.ws.rs.client.ClientBuilder;
 import jakarta.ws.rs.client.WebTarget;
@@ -43,8 +44,6 @@ import 
org.springframework.boot.test.web.server.LocalServerPort;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.test.context.ActiveProfiles;
-import zipkin2.Span;
-import zipkin2.reporter.Reporter;
 
 import io.micrometer.core.instrument.MeterRegistry;
 import io.micrometer.core.instrument.Tags;
@@ -60,10 +59,10 @@ import static org.assertj.core.api.Assertions.assertThat;
 import static org.awaitility.Awaitility.await;
 import static org.hamcrest.Matchers.hasSize;
 
-@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT, classes = 
SpringJaxrsObservabiityTest.TestConfig.class)
+@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT, classes = 
SpringJaxrsObservabilityTest.TestConfig.class)
 @ActiveProfiles("jaxrs")
 @AutoConfigureObservability
-public class SpringJaxrsObservabiityTest {
+public class SpringJaxrsObservabilityTest {
 
     @Autowired
     private MeterRegistry registry;
@@ -101,8 +100,8 @@ public class SpringJaxrsObservabiityTest {
         }
 
         @Bean
-        Reporter<Span> reporter() {
-            return Reporter.CONSOLE;
+        SpanHandler spanHandler() {
+            return SpanHandler.NOOP;
         }
     }
 
diff --git 
a/systests/spring-boot/src/test/java/org/apache/cxf/systest/jaxrs/spring/boot/SpringJaxrsWebObservabiityTest.java
 
b/systests/spring-boot/src/test/java/org/apache/cxf/systest/jaxrs/spring/boot/SpringJaxrsWebObservabilityTest.java
similarity index 96%
rename from 
systests/spring-boot/src/test/java/org/apache/cxf/systest/jaxrs/spring/boot/SpringJaxrsWebObservabiityTest.java
rename to 
systests/spring-boot/src/test/java/org/apache/cxf/systest/jaxrs/spring/boot/SpringJaxrsWebObservabilityTest.java
index d1f07d096d..a553f6a683 100644
--- 
a/systests/spring-boot/src/test/java/org/apache/cxf/systest/jaxrs/spring/boot/SpringJaxrsWebObservabiityTest.java
+++ 
b/systests/spring-boot/src/test/java/org/apache/cxf/systest/jaxrs/spring/boot/SpringJaxrsWebObservabilityTest.java
@@ -23,6 +23,7 @@ import java.time.Duration;
 
 import com.fasterxml.jackson.jakarta.rs.json.JacksonJsonProvider;
 
+import brave.handler.SpanHandler;
 import brave.sampler.Sampler;
 import jakarta.ws.rs.client.ClientBuilder;
 import jakarta.ws.rs.client.WebTarget;
@@ -42,8 +43,6 @@ import 
org.springframework.boot.test.web.server.LocalServerPort;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.test.context.ActiveProfiles;
-import zipkin2.Span;
-import zipkin2.reporter.Reporter;
 
 import io.micrometer.core.instrument.MeterRegistry;
 import io.micrometer.core.instrument.Tags;
@@ -59,10 +58,10 @@ import static org.assertj.core.api.Assertions.assertThat;
 import static org.awaitility.Awaitility.await;
 import static org.hamcrest.Matchers.hasSize;
 
-@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT, classes = 
SpringJaxrsWebObservabiityTest.TestConfig.class)
+@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT, classes = 
SpringJaxrsWebObservabilityTest.TestConfig.class)
 @ActiveProfiles("jaxrs")
 @AutoConfigureObservability
-public class SpringJaxrsWebObservabiityTest {
+public class SpringJaxrsWebObservabilityTest {
 
     @Autowired
     private MeterRegistry registry;
@@ -100,8 +99,8 @@ public class SpringJaxrsWebObservabiityTest {
         }
 
         @Bean
-        Reporter<Span> reporter() {
-            return Reporter.CONSOLE;
+        SpanHandler spanHandler() {
+            return SpanHandler.NOOP;
         }
     }
 
diff --git 
a/systests/spring-boot/src/test/java/org/apache/cxf/systest/jaxws/spring/boot/SpringJaxwsObservabilityTest.java
 
b/systests/spring-boot/src/test/java/org/apache/cxf/systest/jaxws/spring/boot/SpringJaxwsObservabilityTest.java
index 436cd5caae..5858a82369 100644
--- 
a/systests/spring-boot/src/test/java/org/apache/cxf/systest/jaxws/spring/boot/SpringJaxwsObservabilityTest.java
+++ 
b/systests/spring-boot/src/test/java/org/apache/cxf/systest/jaxws/spring/boot/SpringJaxwsObservabilityTest.java
@@ -28,6 +28,7 @@ import javax.xml.namespace.QName;
 import javax.xml.transform.Source;
 import javax.xml.transform.stream.StreamSource;
 
+import brave.handler.SpanHandler;
 import brave.sampler.Sampler;
 import jakarta.xml.ws.Dispatch;
 import jakarta.xml.ws.Endpoint;
@@ -50,8 +51,6 @@ import 
org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
 import org.springframework.boot.test.web.server.LocalServerPort;
 import org.springframework.context.annotation.Bean;
 import org.springframework.test.context.ActiveProfiles;
-import zipkin2.Span;
-import zipkin2.reporter.Reporter;
 
 import io.micrometer.core.instrument.MeterRegistry;
 import io.micrometer.core.instrument.Tags;
@@ -139,8 +138,8 @@ public class SpringJaxwsObservabilityTest {
         }
 
         @Bean
-        Reporter<Span> reporter() {
-            return Reporter.CONSOLE;
+        SpanHandler spanHandler() {
+            return SpanHandler.NOOP;
         }
     }
 
diff --git 
a/systests/tracing/src/test/java/org/apache/cxf/systest/brave/HasSpan.java 
b/systests/tracing/src/test/java/org/apache/cxf/systest/brave/HasSpan.java
index d51ea74d41..ed50864a04 100644
--- a/systests/tracing/src/test/java/org/apache/cxf/systest/brave/HasSpan.java
+++ b/systests/tracing/src/test/java/org/apache/cxf/systest/brave/HasSpan.java
@@ -18,20 +18,22 @@
  */
 package org.apache.cxf.systest.brave;
 
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import brave.handler.MutableSpan;
 import org.hamcrest.Description;
 import org.hamcrest.Matcher;
 import org.hamcrest.TypeSafeMatcher;
 import org.hamcrest.core.IsIterableContaining;
-import zipkin2.Annotation;
-import zipkin2.Span;
 
-public class HasSpan extends IsIterableContaining<Span> {
+public class HasSpan extends IsIterableContaining<MutableSpan> {
     public HasSpan(final String name) {
         this(name, null);
     }
 
-    public HasSpan(final String name, final Matcher<Iterable<? super 
Annotation>> matcher) {
-        super(new TypeSafeMatcher<Span>() {
+    public HasSpan(final String name, final Matcher<Iterable<? super String>> 
matcher) {
+        super(new TypeSafeMatcher<MutableSpan>() {
             @Override
             public void describeTo(Description description) {
                 description
@@ -46,13 +48,16 @@ public class HasSpan extends IsIterableContaining<Span> {
             }
 
             @Override
-            protected boolean matchesSafely(Span item) {
+            protected boolean matchesSafely(MutableSpan item) {
                 if (!name.equals(item.name())) {
                     return false;
                 }
 
                 if (matcher != null) {
-                    return matcher.matches(item.annotations());
+                    return matcher.matches(item.annotations()
+                        .stream()
+                        .map(Map.Entry::getValue)
+                        .collect(Collectors.toList()));
                 }
 
                 return true;
@@ -64,7 +69,7 @@ public class HasSpan extends IsIterableContaining<Span> {
         return new HasSpan(name);
     }
 
-    public static HasSpan hasSpan(final String name, final Matcher<Iterable<? 
super Annotation>> matcher) {
+    public static HasSpan hasSpan(final String name, final Matcher<Iterable<? 
super String>> matcher) {
         return new HasSpan(name, matcher);
     }
 }
\ No newline at end of file
diff --git 
a/systests/tracing/src/test/java/org/apache/cxf/systest/brave/IsAnnotationContaining.java
 
b/systests/tracing/src/test/java/org/apache/cxf/systest/brave/IsAnnotationContaining.java
index ac8ed1c09e..1b82a2f71e 100644
--- 
a/systests/tracing/src/test/java/org/apache/cxf/systest/brave/IsAnnotationContaining.java
+++ 
b/systests/tracing/src/test/java/org/apache/cxf/systest/brave/IsAnnotationContaining.java
@@ -21,11 +21,10 @@ package org.apache.cxf.systest.brave;
 import org.hamcrest.Description;
 import org.hamcrest.TypeSafeMatcher;
 import org.hamcrest.core.IsIterableContaining;
-import zipkin2.Annotation;
 
-public class IsAnnotationContaining extends IsIterableContaining<Annotation> {
+public class IsAnnotationContaining extends IsIterableContaining<String> {
     public IsAnnotationContaining(final String value) {
-        super(new TypeSafeMatcher<Annotation>() {
+        super(new TypeSafeMatcher<String>() {
             @Override
             public void describeTo(Description description) {
                 description
@@ -34,8 +33,8 @@ public class IsAnnotationContaining extends 
IsIterableContaining<Annotation> {
             }
 
             @Override
-            protected boolean matchesSafely(Annotation item) {
-                return value.equals(item.value());
+            protected boolean matchesSafely(String item) {
+                return value.equals(item);
             }
         });
     }
diff --git 
a/systests/tracing/src/test/java/org/apache/cxf/systest/brave/TestSpanReporter.java
 
b/systests/tracing/src/test/java/org/apache/cxf/systest/brave/TestSpanHandler.java
similarity index 72%
rename from 
systests/tracing/src/test/java/org/apache/cxf/systest/brave/TestSpanReporter.java
rename to 
systests/tracing/src/test/java/org/apache/cxf/systest/brave/TestSpanHandler.java
index d15fda52e0..266cc36637 100644
--- 
a/systests/tracing/src/test/java/org/apache/cxf/systest/brave/TestSpanReporter.java
+++ 
b/systests/tracing/src/test/java/org/apache/cxf/systest/brave/TestSpanHandler.java
@@ -21,18 +21,19 @@ package org.apache.cxf.systest.brave;
 import java.util.ArrayList;
 import java.util.List;
 
-import zipkin2.Span;
-import zipkin2.reporter.Reporter;
+import brave.handler.MutableSpan;
+import brave.handler.SpanHandler;
+import brave.propagation.TraceContext;
 
-public class TestSpanReporter implements Reporter<Span> {
-    private static final List<Span> SPANS = new ArrayList<>(12);
+public class TestSpanHandler extends SpanHandler {
+    private static final List<MutableSpan> SPANS = new ArrayList<>(12);
 
     @Override
-    public void report(Span span) {
-        SPANS.add(span);
+    public boolean end(TraceContext context, MutableSpan span, Cause cause) {
+        return SPANS.add(span);
     }
 
-    public static List<Span> getAllSpans() {
+    public static List<MutableSpan> getAllSpans() {
         return SPANS;
     }
 
diff --git 
a/systests/tracing/src/test/java/org/apache/cxf/systest/brave/jaxrs/AbstractBraveTracingTest.java
 
b/systests/tracing/src/test/java/org/apache/cxf/systest/brave/jaxrs/AbstractBraveTracingTest.java
index faa149cd81..0a248da9e7 100644
--- 
a/systests/tracing/src/test/java/org/apache/cxf/systest/brave/jaxrs/AbstractBraveTracingTest.java
+++ 
b/systests/tracing/src/test/java/org/apache/cxf/systest/brave/jaxrs/AbstractBraveTracingTest.java
@@ -40,7 +40,7 @@ import jakarta.ws.rs.core.Response.Status;
 import org.apache.cxf.feature.Feature;
 import org.apache.cxf.jaxrs.client.WebClient;
 import org.apache.cxf.systest.brave.BraveTestSupport.SpanId;
-import org.apache.cxf.systest.brave.TestSpanReporter;
+import org.apache.cxf.systest.brave.TestSpanHandler;
 import org.apache.cxf.testutil.common.AbstractClientServerTestBase;
 import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
 
@@ -73,13 +73,13 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
     public ExpectedException expectedException = ExpectedException.none();
 
     private final Tracing brave = Tracing.newBuilder()
-        .spanReporter(new TestSpanReporter())
+        .addSpanHandler(new TestSpanHandler())
         .build();
 
 
     @After
     public void tearDown() {
-        TestSpanReporter.clear();
+        TestSpanHandler.clear();
     }
 
     @Test
@@ -87,9 +87,9 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
         final Response r = createWebClient("/bookstore/books").get();
         assertEquals(Status.OK.getStatusCode(), r.getStatus());
 
-        assertThat(TestSpanReporter.getAllSpans().size(), equalTo(2));
-        assertThat(TestSpanReporter.getAllSpans().get(0).name(), equalTo("get 
books"));
-        assertThat(TestSpanReporter.getAllSpans().get(1).name(), equalTo("get 
/bookstore/books"));
+        assertThat(TestSpanHandler.getAllSpans().size(), equalTo(2));
+        assertThat(TestSpanHandler.getAllSpans().get(0).name(), equalTo("Get 
Books"));
+        assertThat(TestSpanHandler.getAllSpans().get(1).name(), equalTo("GET 
/bookstore/books"));
 
         assertFalse(r.getHeaders().containsKey(SPAN_ID_NAME));
         assertFalse(r.getHeaders().containsKey(TRACE_ID_NAME));
@@ -104,9 +104,9 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
         final Response r = withTrace(createWebClient("/bookstore/books"), 
spanId).get();
         assertEquals(Status.OK.getStatusCode(), r.getStatus());
 
-        assertThat(TestSpanReporter.getAllSpans().size(), equalTo(2));
-        assertThat(TestSpanReporter.getAllSpans().get(0).name(), equalTo("get 
books"));
-        assertThat(TestSpanReporter.getAllSpans().get(1).name(), equalTo("get 
/bookstore/books"));
+        assertThat(TestSpanHandler.getAllSpans().size(), equalTo(2));
+        assertThat(TestSpanHandler.getAllSpans().get(0).name(), equalTo("Get 
Books"));
+        assertThat(TestSpanHandler.getAllSpans().get(1).name(), equalTo("GET 
/bookstore/books"));
     }
 
     @Test
@@ -116,9 +116,9 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
         final Response r = withTrace(createWebClient("/bookstore/book/1"), 
spanId).get();
         assertEquals(Status.OK.getStatusCode(), r.getStatus());
 
-        assertThat(TestSpanReporter.getAllSpans().size(), equalTo(1));
-        assertThat(TestSpanReporter.getAllSpans().get(0).name(), equalTo("get 
/bookstore/book/1"));
-        assertThat(TestSpanReporter.getAllSpans().get(0).tags(), 
hasEntry("book-id", "1"));
+        assertThat(TestSpanHandler.getAllSpans().size(), equalTo(1));
+        assertThat(TestSpanHandler.getAllSpans().get(0).name(), equalTo("GET 
/bookstore/book/1"));
+        assertThat(TestSpanHandler.getAllSpans().get(0).tags(), 
hasEntry("book-id", "1"));
     }
 
     @Test
@@ -128,9 +128,9 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
         final Response r = withTrace(createWebClient("/bookstore/process"), 
spanId).put("");
         assertEquals(Status.OK.getStatusCode(), r.getStatus());
 
-        assertThat(TestSpanReporter.getAllSpans().size(), equalTo(2));
-        assertThat(TestSpanReporter.getAllSpans(), hasSpan("processing books", 
hasItem("Processing started")));
-        assertThat(TestSpanReporter.getAllSpans(), hasSpan("put 
/bookstore/process"));
+        assertThat(TestSpanHandler.getAllSpans().size(), equalTo(2));
+        assertThat(TestSpanHandler.getAllSpans(), hasSpan("Processing books", 
hasItem("Processing started")));
+        assertThat(TestSpanHandler.getAllSpans(), hasSpan("PUT 
/bookstore/process"));
     }
 
     @Test
@@ -138,9 +138,9 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
         final Response r = createWebClient("/bookstore/books", 
getClientProvider(brave)).get();
         assertEquals(Status.OK.getStatusCode(), r.getStatus());
 
-        assertThat(TestSpanReporter.getAllSpans().size(), equalTo(3));
-        assertThat(TestSpanReporter.getAllSpans().get(0).name(), equalTo("get 
books"));
-        assertThat(TestSpanReporter.getAllSpans().get(0).parentId(), 
not(nullValue()));
+        assertThat(TestSpanHandler.getAllSpans().size(), equalTo(3));
+        assertThat(TestSpanHandler.getAllSpans().get(0).name(), equalTo("Get 
Books"));
+        assertThat(TestSpanHandler.getAllSpans().get(0).parentId(), 
not(nullValue()));
     }
 
     @Test
@@ -150,12 +150,12 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
         final Response r = 
withTrace(createWebClient("/bookstore/books/async"), spanId).get();
         assertEquals(Status.OK.getStatusCode(), r.getStatus());
 
-        assertThat(TestSpanReporter.getAllSpans().size(), equalTo(2));
-        assertThat(TestSpanReporter.getAllSpans().get(1).name(), equalTo("get 
/bookstore/books/async"));
-        assertThat(TestSpanReporter.getAllSpans().get(0).name(), 
equalTo("processing books"));
-        assertThat(TestSpanReporter.getAllSpans().get(0).parentId(), 
not(nullValue()));
-        assertThat(TestSpanReporter.getAllSpans().get(0).parentId(),
-            equalTo(TestSpanReporter.getAllSpans().get(1).id()));
+        assertThat(TestSpanHandler.getAllSpans().size(), equalTo(2));
+        assertThat(TestSpanHandler.getAllSpans().get(1).name(), equalTo("GET 
/bookstore/books/async"));
+        assertThat(TestSpanHandler.getAllSpans().get(0).name(), 
equalTo("Processing books"));
+        assertThat(TestSpanHandler.getAllSpans().get(0).parentId(), 
not(nullValue()));
+        assertThat(TestSpanHandler.getAllSpans().get(0).parentId(),
+            equalTo(TestSpanHandler.getAllSpans().get(1).id()));
     }
 
     @Test
@@ -165,8 +165,8 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
         final Response r = 
withTrace(createWebClient("/bookstore/books/async/notrace"), spanId).get();
         assertEquals(Status.OK.getStatusCode(), r.getStatus());
 
-        assertThat(TestSpanReporter.getAllSpans().size(), equalTo(1));
-        assertThat(TestSpanReporter.getAllSpans().get(0).name(), equalTo("get 
/bookstore/books/async/notrace"));
+        assertThat(TestSpanHandler.getAllSpans().size(), equalTo(1));
+        assertThat(TestSpanHandler.getAllSpans().get(0).name(), equalTo("GET 
/bookstore/books/async/notrace"));
     }
 
     @Test
@@ -174,9 +174,9 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
         final Response r = createWebClient("/bookstore/books/async").get();
         assertEquals(Status.OK.getStatusCode(), r.getStatus());
 
-        assertThat(TestSpanReporter.getAllSpans().size(), equalTo(2));
-        assertThat(TestSpanReporter.getAllSpans().get(1).name(), equalTo("get 
/bookstore/books/async"));
-        assertThat(TestSpanReporter.getAllSpans().get(0).name(), 
equalTo("processing books"));
+        assertThat(TestSpanHandler.getAllSpans().size(), equalTo(2));
+        assertThat(TestSpanHandler.getAllSpans().get(1).name(), equalTo("GET 
/bookstore/books/async"));
+        assertThat(TestSpanHandler.getAllSpans().get(0).name(), 
equalTo("Processing books"));
     }
 
     @Test
@@ -187,10 +187,10 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
         final Response r = f.get(1, TimeUnit.SECONDS);
         assertEquals(Status.OK.getStatusCode(), r.getStatus());
 
-        assertThat(TestSpanReporter.getAllSpans().size(), equalTo(3));
-        assertThat(TestSpanReporter.getAllSpans().get(0).name(), equalTo("get 
books"));
-        assertThat(TestSpanReporter.getAllSpans().get(1).name(), equalTo("get 
/bookstore/books"));
-        assertThat(TestSpanReporter.getAllSpans().get(2).name(), equalTo("get 
" + client.getCurrentURI()));
+        assertThat(TestSpanHandler.getAllSpans().size(), equalTo(3));
+        assertThat(TestSpanHandler.getAllSpans().get(0).name(), equalTo("Get 
Books"));
+        assertThat(TestSpanHandler.getAllSpans().get(1).name(), equalTo("GET 
/bookstore/books"));
+        assertThat(TestSpanHandler.getAllSpans().get(2).name(), equalTo("GET " 
+ client.getCurrentURI()));
     }
 
     @Test
@@ -205,18 +205,18 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
             .map(this::get)
             .forEach(r -> assertEquals(Status.OK.getStatusCode(), 
r.getStatus()));
 
-        assertThat(TestSpanReporter.getAllSpans().toString(), 
TestSpanReporter.getAllSpans().size(), equalTo(12));
+        assertThat(TestSpanHandler.getAllSpans().toString(), 
TestSpanHandler.getAllSpans().size(), equalTo(12));
 
         IntStream
             .range(0, 4)
             .map(index -> index * 3)
             .forEach(index -> {
-                assertThat(TestSpanReporter.getAllSpans().get(index).name(),
-                    equalTo("get books"));
-                assertThat(TestSpanReporter.getAllSpans().get(index + 
1).name(),
-                    equalTo("get /bookstore/books"));
-                assertThat(TestSpanReporter.getAllSpans().get(index + 
2).name(),
-                    equalTo("get " + client.getCurrentURI()));
+                assertThat(TestSpanHandler.getAllSpans().get(index).name(),
+                    equalTo("Get Books"));
+                assertThat(TestSpanHandler.getAllSpans().get(index + 1).name(),
+                    equalTo("GET /bookstore/books"));
+                assertThat(TestSpanHandler.getAllSpans().get(index + 2).name(),
+                    equalTo("GET " + client.getCurrentURI()));
             });
     }
 
@@ -231,18 +231,18 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
             .mapToObj(index -> client.get())
             .forEach(r -> assertEquals(Status.OK.getStatusCode(), 
r.getStatus()));
 
-        assertThat(TestSpanReporter.getAllSpans().size(), equalTo(12));
+        assertThat(TestSpanHandler.getAllSpans().size(), equalTo(12));
 
         IntStream
             .range(0, 4)
             .map(index -> index * 3)
             .forEach(index -> {
-                assertThat(TestSpanReporter.getAllSpans().get(index).name(),
-                    equalTo("get books"));
-                assertThat(TestSpanReporter.getAllSpans().get(index + 
1).name(),
-                    equalTo("get /bookstore/books"));
-                assertThat(TestSpanReporter.getAllSpans().get(index + 
2).name(),
-                    equalTo("get " + client.getCurrentURI()));
+                assertThat(TestSpanHandler.getAllSpans().get(index).name(),
+                    equalTo("Get Books"));
+                assertThat(TestSpanHandler.getAllSpans().get(index + 1).name(),
+                    equalTo("GET /bookstore/books"));
+                assertThat(TestSpanHandler.getAllSpans().get(index + 2).name(),
+                    equalTo("GET " + client.getCurrentURI()));
             });
     }
 
@@ -255,20 +255,20 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
             final Response r = client.get();
             assertEquals(Status.OK.getStatusCode(), r.getStatus());
 
-            assertThat(TestSpanReporter.getAllSpans().size(), equalTo(3));
-            assertThat(TestSpanReporter.getAllSpans().get(0).name(), 
equalTo("get books"));
-            assertThat(TestSpanReporter.getAllSpans().get(0).parentId(), 
not(nullValue()));
-            assertThat(TestSpanReporter.getAllSpans().get(1).name(), 
equalTo("get /bookstore/books"));
-            assertThat(TestSpanReporter.getAllSpans().get(2).name(), 
equalTo("get " + client.getCurrentURI()));
+            assertThat(TestSpanHandler.getAllSpans().size(), equalTo(3));
+            assertThat(TestSpanHandler.getAllSpans().get(0).name(), 
equalTo("Get Books"));
+            assertThat(TestSpanHandler.getAllSpans().get(0).parentId(), 
not(nullValue()));
+            assertThat(TestSpanHandler.getAllSpans().get(1).name(), 
equalTo("GET /bookstore/books"));
+            assertThat(TestSpanHandler.getAllSpans().get(2).name(), 
equalTo("GET " + client.getCurrentURI()));
         } finally {
             span.finish();
         }
 
         // Await till flush happens, usually a second is enough
-        await().atMost(Duration.ofSeconds(1L)).until(()-> 
TestSpanReporter.getAllSpans().size() == 4);
+        await().atMost(Duration.ofSeconds(1L)).until(()-> 
TestSpanHandler.getAllSpans().size() == 4);
 
-        assertThat(TestSpanReporter.getAllSpans().size(), equalTo(4));
-        assertThat(TestSpanReporter.getAllSpans().get(3).name(), equalTo("test 
span"));
+        assertThat(TestSpanHandler.getAllSpans().size(), equalTo(4));
+        assertThat(TestSpanHandler.getAllSpans().get(3).name(), equalTo("test 
span"));
     }
 
     @Test
@@ -283,19 +283,19 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
             assertEquals(Status.OK.getStatusCode(), r.getStatus());
             assertThat(brave.tracer().currentSpan().context().spanId(), 
equalTo(span.context().spanId()));
 
-            assertThat(TestSpanReporter.getAllSpans().size(), equalTo(3));
-            assertThat(TestSpanReporter.getAllSpans().get(0).name(), 
equalTo("get books"));
-            assertThat(TestSpanReporter.getAllSpans().get(1).name(), 
equalTo("get /bookstore/books"));
-            assertThat(TestSpanReporter.getAllSpans().get(2).name(), 
equalTo("get " + client.getCurrentURI()));
+            assertThat(TestSpanHandler.getAllSpans().size(), equalTo(3));
+            assertThat(TestSpanHandler.getAllSpans().get(0).name(), 
equalTo("Get Books"));
+            assertThat(TestSpanHandler.getAllSpans().get(1).name(), 
equalTo("GET /bookstore/books"));
+            assertThat(TestSpanHandler.getAllSpans().get(2).name(), 
equalTo("GET " + client.getCurrentURI()));
         } finally {
             span.finish();
         }
 
         // Await till flush happens, usually a second is enough
-        await().atMost(Duration.ofSeconds(1L)).until(()-> 
TestSpanReporter.getAllSpans().size() == 4);
+        await().atMost(Duration.ofSeconds(1L)).until(()-> 
TestSpanHandler.getAllSpans().size() == 4);
 
-        assertThat(TestSpanReporter.getAllSpans().size(), equalTo(4));
-        assertThat(TestSpanReporter.getAllSpans().get(3).name(), equalTo("test 
span"));
+        assertThat(TestSpanHandler.getAllSpans().size(), equalTo(4));
+        assertThat(TestSpanHandler.getAllSpans().get(3).name(), equalTo("test 
span"));
     }
 
     @Test
@@ -305,23 +305,23 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
         final Response r = 
withTrace(createWebClient("/bookstore/books/pseudo-async"), spanId).get();
         assertEquals(Status.OK.getStatusCode(), r.getStatus());
 
-        assertThat(TestSpanReporter.getAllSpans().size(), equalTo(2));
-        assertThat(TestSpanReporter.getAllSpans().get(1).name(), equalTo("get 
/bookstore/books/pseudo-async"));
-        assertThat(TestSpanReporter.getAllSpans().get(0).name(), 
equalTo("processing books"));
+        assertThat(TestSpanHandler.getAllSpans().size(), equalTo(2));
+        assertThat(TestSpanHandler.getAllSpans().get(1).name(), equalTo("GET 
/bookstore/books/pseudo-async"));
+        assertThat(TestSpanHandler.getAllSpans().get(0).name(), 
equalTo("Processing books"));
     }
 
     @Test
     public void testThatNoSpansAreRecordedWhenNotSampled() {
         final Tracing never = Tracing
                 .newBuilder()
-                .spanReporter(new TestSpanReporter())
+                .addSpanHandler(new TestSpanHandler())
                 .sampler(Sampler.NEVER_SAMPLE)
                 .build();
 
         final Response r = createWebClient("/bookstore/books", 
getClientProvider(never)).get();
         assertEquals(Status.OK.getStatusCode(), r.getStatus());
 
-        assertThat(TestSpanReporter.getAllSpans().size(), equalTo(0));
+        assertThat(TestSpanHandler.getAllSpans().size(), equalTo(0));
     }
 
     @Test
@@ -340,11 +340,11 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
         try {
             client.get();
         } finally {
-            await().atMost(Duration.ofSeconds(1L)).until(()-> 
TestSpanReporter.getAllSpans().size() == 2);
-            assertThat(TestSpanReporter.getAllSpans().size(), equalTo(2));
-            assertThat(TestSpanReporter.getAllSpans().get(0).name(), 
equalTo("get " + client.getCurrentURI()));
-            assertThat(TestSpanReporter.getAllSpans().get(0).tags(), 
hasKey("error"));
-            assertThat(TestSpanReporter.getAllSpans().get(1).name(), 
equalTo("get /bookstore/books/long"));
+            await().atMost(Duration.ofSeconds(1L)).until(()-> 
TestSpanHandler.getAllSpans().size() == 2);
+            assertThat(TestSpanHandler.getAllSpans().size(), equalTo(2));
+            assertThat(TestSpanHandler.getAllSpans().get(0).name(), 
equalTo("GET " + client.getCurrentURI()));
+            assertThat(TestSpanHandler.getAllSpans().get(0).tags(), 
hasKey("error"));
+            assertThat(TestSpanHandler.getAllSpans().get(1).name(), 
equalTo("GET /bookstore/books/long"));
         }
     }
 
@@ -353,9 +353,9 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
         final Response r = createWebClient("/bookstore/books/exception").get();
         assertEquals(Status.INTERNAL_SERVER_ERROR.getStatusCode(), 
r.getStatus());
 
-        assertThat(TestSpanReporter.getAllSpans().size(), equalTo(1));
-        assertThat(TestSpanReporter.getAllSpans().get(0).name(), equalTo("get 
/bookstore/books/exception"));
-        assertThat(TestSpanReporter.getAllSpans().get(0).tags(), 
hasEntry("http.status_code", "500"));
+        assertThat(TestSpanHandler.getAllSpans().size(), equalTo(1));
+        assertThat(TestSpanHandler.getAllSpans().get(0).name(), equalTo("GET 
/bookstore/books/exception"));
+        assertThat(TestSpanHandler.getAllSpans().get(0).tags(), 
hasEntry("http.status_code", "500"));
 
         assertFalse(r.getHeaders().containsKey(SPAN_ID_NAME));
         assertFalse(r.getHeaders().containsKey(TRACE_ID_NAME));
@@ -368,9 +368,9 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
         final Response r = createWebClient("/bookstore/books/error").get();
         assertEquals(Status.SERVICE_UNAVAILABLE.getStatusCode(), 
r.getStatus());
 
-        assertThat(TestSpanReporter.getAllSpans().size(), equalTo(1));
-        assertThat(TestSpanReporter.getAllSpans().get(0).name(), equalTo("get 
/bookstore/books/error"));
-        assertThat(TestSpanReporter.getAllSpans().get(0).tags(), 
hasEntry("http.status_code", "503"));
+        assertThat(TestSpanHandler.getAllSpans().size(), equalTo(1));
+        assertThat(TestSpanHandler.getAllSpans().get(0).name(), equalTo("GET 
/bookstore/books/error"));
+        assertThat(TestSpanHandler.getAllSpans().get(0).tags(), 
hasEntry("http.status_code", "503"));
 
         assertFalse(r.getHeaders().containsKey(SPAN_ID_NAME));
         assertFalse(r.getHeaders().containsKey(TRACE_ID_NAME));
@@ -383,9 +383,9 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
         final Response r = createWebClient("/bookstore/books/mapper").get();
         assertEquals(Status.NOT_FOUND.getStatusCode(), r.getStatus());
 
-        assertThat(TestSpanReporter.getAllSpans().size(), equalTo(1));
-        assertThat(TestSpanReporter.getAllSpans().get(0).name(), equalTo("get 
/bookstore/books/mapper"));
-        assertThat(TestSpanReporter.getAllSpans().get(0).tags(), 
hasEntry("http.status_code", "404"));
+        assertThat(TestSpanHandler.getAllSpans().size(), equalTo(1));
+        assertThat(TestSpanHandler.getAllSpans().get(0).name(), equalTo("GET 
/bookstore/books/mapper"));
+        assertThat(TestSpanHandler.getAllSpans().get(0).tags(), 
hasEntry("http.status_code", "404"));
 
         assertFalse(r.getHeaders().containsKey(SPAN_ID_NAME));
         assertFalse(r.getHeaders().containsKey(TRACE_ID_NAME));
diff --git 
a/systests/tracing/src/test/java/org/apache/cxf/systest/brave/jaxws/AbstractBraveTracingTest.java
 
b/systests/tracing/src/test/java/org/apache/cxf/systest/brave/jaxws/AbstractBraveTracingTest.java
index e17b0eb08d..07991044f4 100644
--- 
a/systests/tracing/src/test/java/org/apache/cxf/systest/brave/jaxws/AbstractBraveTracingTest.java
+++ 
b/systests/tracing/src/test/java/org/apache/cxf/systest/brave/jaxws/AbstractBraveTracingTest.java
@@ -39,7 +39,7 @@ import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.systest.brave.BraveTestSupport.SpanId;
-import org.apache.cxf.systest.brave.TestSpanReporter;
+import org.apache.cxf.systest.brave.TestSpanHandler;
 import org.apache.cxf.systest.jaxws.tracing.BookStoreService;
 import org.apache.cxf.testutil.common.AbstractClientServerTestBase;
 
@@ -64,9 +64,9 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
         final BookStoreService service = createJaxWsService();
         assertThat(service.getBooks().size(), equalTo(2));
 
-        assertThat(TestSpanReporter.getAllSpans().size(), equalTo(2));
-        assertThat(TestSpanReporter.getAllSpans().get(0).name(), equalTo("get 
books"));
-        assertThat(TestSpanReporter.getAllSpans().get(1).name(), equalTo("post 
/bookstore"));
+        assertThat(TestSpanHandler.getAllSpans().size(), equalTo(2));
+        assertThat(TestSpanHandler.getAllSpans().get(0).name(), equalTo("Get 
Books"));
+        assertThat(TestSpanHandler.getAllSpans().get(1).name(), equalTo("POST 
/BookStore"));
 
         final Map<String, List<String>> headers = getResponseHeaders(service);
         assertFalse(headers.containsKey(TRACE_ID_NAME));
@@ -94,9 +94,9 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
         final BookStoreService service = createJaxWsService(headers);
         assertThat(service.getBooks().size(), equalTo(2));
 
-        assertThat(TestSpanReporter.getAllSpans().size(), equalTo(2));
-        assertThat(TestSpanReporter.getAllSpans().get(0).name(), equalTo("get 
books"));
-        assertThat(TestSpanReporter.getAllSpans().get(1).name(), equalTo("post 
/bookstore"));
+        assertThat(TestSpanHandler.getAllSpans().size(), equalTo(2));
+        assertThat(TestSpanHandler.getAllSpans().get(0).name(), equalTo("Get 
Books"));
+        assertThat(TestSpanHandler.getAllSpans().get(1).name(), equalTo("POST 
/BookStore"));
     }
 
     @Test
@@ -105,12 +105,12 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
             final BookStoreService service = 
createJaxWsService(getClientFeature(brave));
             assertThat(service.getBooks().size(), equalTo(2));
     
-            assertThat(TestSpanReporter.getAllSpans().size(), equalTo(3));
-            assertThat(TestSpanReporter.getAllSpans().get(0).name(), 
equalTo("get books"));
-            assertThat(TestSpanReporter.getAllSpans().get(0).parentId(), 
not(nullValue()));
-            assertThat(TestSpanReporter.getAllSpans().get(1).name(), 
equalTo("post /bookstore"));
-            assertThat(TestSpanReporter.getAllSpans().get(2).name(),
-                equalTo("post http://localhost:"; + getPort() + "/bookstore"));
+            assertThat(TestSpanHandler.getAllSpans().size(), equalTo(3));
+            assertThat(TestSpanHandler.getAllSpans().get(0).name(), 
equalTo("Get Books"));
+            assertThat(TestSpanHandler.getAllSpans().get(0).parentId(), 
not(nullValue()));
+            assertThat(TestSpanHandler.getAllSpans().get(1).name(), 
equalTo("POST /BookStore"));
+            assertThat(TestSpanHandler.getAllSpans().get(2).name(),
+                equalTo("POST http://localhost:"; + getPort() + "/BookStore"));
         }
     }
 
@@ -125,12 +125,12 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
                     assertThat(service.getBooks().size(), equalTo(2));
                     assertThat(brave.tracer().currentSpan(), not(nullValue()));
     
-                    assertThat(TestSpanReporter.getAllSpans().size(), 
equalTo(3));
-                    assertThat(TestSpanReporter.getAllSpans().get(0).name(), 
equalTo("get books"));
-                    
assertThat(TestSpanReporter.getAllSpans().get(0).parentId(), not(nullValue()));
-                    assertThat(TestSpanReporter.getAllSpans().get(1).name(), 
equalTo("post /bookstore"));
-                    assertThat(TestSpanReporter.getAllSpans().get(2).name(),
-                        equalTo("post http://localhost:"; + getPort() + 
"/bookstore"));
+                    assertThat(TestSpanHandler.getAllSpans().size(), 
equalTo(3));
+                    assertThat(TestSpanHandler.getAllSpans().get(0).name(), 
equalTo("Get Books"));
+                    
assertThat(TestSpanHandler.getAllSpans().get(0).parentId(), not(nullValue()));
+                    assertThat(TestSpanHandler.getAllSpans().get(1).name(), 
equalTo("POST /BookStore"));
+                    assertThat(TestSpanHandler.getAllSpans().get(2).name(),
+                        equalTo("POST http://localhost:"; + getPort() + 
"/BookStore"));
                 }
             } finally {
                 if (span != null) {
@@ -138,8 +138,8 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
                 }
             }
     
-            assertThat(TestSpanReporter.getAllSpans().size(), equalTo(4));
-            assertThat(TestSpanReporter.getAllSpans().get(3).name(), 
equalTo("test span"));
+            assertThat(TestSpanHandler.getAllSpans().size(), equalTo(4));
+            assertThat(TestSpanHandler.getAllSpans().get(3).name(), 
equalTo("test span"));
         }
     }
 
@@ -154,8 +154,8 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
             /* expected exception */
         }
 
-        assertThat(TestSpanReporter.getAllSpans().size(), equalTo(1));
-        assertThat(TestSpanReporter.getAllSpans().get(0).name(), equalTo("post 
/bookstore"));
+        assertThat(TestSpanHandler.getAllSpans().size(), equalTo(1));
+        assertThat(TestSpanHandler.getAllSpans().get(0).name(), equalTo("POST 
/BookStore"));
 
         final Map<String, List<String>> headers = getResponseHeaders(service);
         assertFalse(headers.containsKey(TRACE_ID_NAME));
@@ -176,10 +176,10 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
                 /* expected exception */
             }
     
-            assertThat(TestSpanReporter.getAllSpans().size(), equalTo(2));
-            assertThat(TestSpanReporter.getAllSpans().get(0).name(), 
equalTo("post /bookstore"));
-            assertThat(TestSpanReporter.getAllSpans().get(1).name(),
-                equalTo("post http://localhost:"; + getPort() + "/bookstore"));
+            assertThat(TestSpanHandler.getAllSpans().size(), equalTo(2));
+            assertThat(TestSpanHandler.getAllSpans().get(0).name(), 
equalTo("POST /BookStore"));
+            assertThat(TestSpanHandler.getAllSpans().get(1).name(),
+                equalTo("POST http://localhost:"; + getPort() + "/BookStore"));
         }
     }
     
@@ -189,11 +189,11 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
             final BookStoreService service = 
createJaxWsService(getClientFeature(brave));
             service.addBooks();
     
-            assertThat(TestSpanReporter.getAllSpans().size(), equalTo(2));
-            assertThat(TestSpanReporter.getAllSpans().get(0).name(), 
equalTo("post /bookstore"));
-            assertThat(TestSpanReporter.getAllSpans().get(0).tags(), 
hasEntry("http.status_code", "305"));
-            assertThat(TestSpanReporter.getAllSpans().get(1).name(),
-                    equalTo("post http://localhost:"; + getPort() + 
"/bookstore"));
+            assertThat(TestSpanHandler.getAllSpans().size(), equalTo(2));
+            assertThat(TestSpanHandler.getAllSpans().get(0).name(), 
equalTo("POST /BookStore"));
+            assertThat(TestSpanHandler.getAllSpans().get(0).tags(), 
hasEntry("http.status_code", "305"));
+            assertThat(TestSpanHandler.getAllSpans().get(1).name(),
+                    equalTo("POST http://localhost:"; + getPort() + 
"/BookStore"));
         }
     }
 
@@ -204,11 +204,11 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
             service.orderBooks();
     
             // Await till flush happens, usually every second
-            await().atMost(Duration.ofSeconds(1L)).until(() -> 
TestSpanReporter.getAllSpans().size() == 2);
+            await().atMost(Duration.ofSeconds(1L)).until(() -> 
TestSpanHandler.getAllSpans().size() == 2);
 
-            assertThat(TestSpanReporter.getAllSpans().get(0).name(), 
equalTo("post /bookstore"));
-            assertThat(TestSpanReporter.getAllSpans().get(1).name(),
-                equalTo("post http://localhost:"; + getPort() + "/bookstore"));
+            assertThat(TestSpanHandler.getAllSpans().get(0).name(), 
equalTo("POST /BookStore"));
+            assertThat(TestSpanHandler.getAllSpans().get(1).name(),
+                equalTo("POST http://localhost:"; + getPort() + "/BookStore"));
         }
     }
 
@@ -250,7 +250,7 @@ public abstract class AbstractBraveTracingTest extends 
AbstractClientServerTestB
     private static Tracing createTracer() {
         return Tracing.newBuilder()
             .localServiceName("book-store")
-            .spanReporter(new TestSpanReporter())
+            .addSpanHandler(new TestSpanHandler())
             .build();
     }
 
diff --git 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxrs/tracing/brave/BraveTracingTest.java
 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxrs/tracing/brave/BraveTracingTest.java
index 93e0a6e28b..a757727a5c 100644
--- 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxrs/tracing/brave/BraveTracingTest.java
+++ 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxrs/tracing/brave/BraveTracingTest.java
@@ -24,7 +24,7 @@ import brave.Tracing;
 import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
 import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider;
 import org.apache.cxf.jaxrs.model.AbstractResourceInfo;
-import org.apache.cxf.systest.brave.TestSpanReporter;
+import org.apache.cxf.systest.brave.TestSpanHandler;
 import org.apache.cxf.systest.brave.jaxrs.AbstractBraveTracingTest;
 import org.apache.cxf.systest.jaxrs.tracing.BookStore;
 import org.apache.cxf.systest.jaxrs.tracing.NullPointerExceptionMapper;
@@ -48,7 +48,7 @@ public class BraveTracingTest extends 
AbstractBraveTracingTest {
         protected void run() {
             final Tracing brave = Tracing
                     .newBuilder()
-                    .spanReporter(new TestSpanReporter())
+                    .addSpanHandler(new TestSpanHandler())
                     .build();
 
             final JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
diff --git 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxrs/tracing/micrometer/MicrometerTracingTest.java
 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxrs/tracing/micrometer/MicrometerTracingTest.java
index 231c6b1671..e682f4fa90 100644
--- 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxrs/tracing/micrometer/MicrometerTracingTest.java
+++ 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxrs/tracing/micrometer/MicrometerTracingTest.java
@@ -25,7 +25,7 @@ import org.apache.cxf.feature.Feature;
 import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
 import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider;
 import org.apache.cxf.jaxrs.model.AbstractResourceInfo;
-import org.apache.cxf.systest.brave.TestSpanReporter;
+import org.apache.cxf.systest.brave.TestSpanHandler;
 import org.apache.cxf.systest.brave.jaxrs.AbstractBraveTracingTest;
 import org.apache.cxf.systest.jaxrs.tracing.BookStore;
 import org.apache.cxf.systest.jaxrs.tracing.NullPointerExceptionMapper;
@@ -64,7 +64,7 @@ public class MicrometerTracingTest extends 
AbstractBraveTracingTest {
         protected void run() {
             final Tracing brave = Tracing
                 .newBuilder()
-                .spanReporter(new TestSpanReporter())
+                .addSpanHandler(new TestSpanHandler())
                 .build();
 
             final ObservationRegistry observationRegistry = 
createObservationRegistry(meterRegistry, brave);
diff --git 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/brave/BookStore.java
 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/brave/BookStore.java
index d7acce256c..3179e10adb 100644
--- 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/brave/BookStore.java
+++ 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/brave/BookStore.java
@@ -32,7 +32,7 @@ import jakarta.jws.WebService;
 import jakarta.xml.ws.WebServiceContext;
 import jakarta.xml.ws.handler.MessageContext;
 import org.apache.cxf.systest.Book;
-import org.apache.cxf.systest.brave.TestSpanReporter;
+import org.apache.cxf.systest.brave.TestSpanHandler;
 import org.apache.cxf.systest.jaxws.tracing.BookStoreService;
 
 @WebService(endpointInterface = 
"org.apache.cxf.systest.jaxws.tracing.BookStoreService", serviceName = 
"BookStore")
@@ -45,7 +45,7 @@ public class BookStore implements BookStoreService {
     public BookStore() {
         brave = Tracing.newBuilder()
             .localServiceName("book-store")
-            .spanReporter(new TestSpanReporter())
+            .addSpanHandler(new TestSpanHandler())
             .build();
     }
 
diff --git 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/brave/BraveTracingTest.java
 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/brave/BraveTracingTest.java
index ab6a2af294..e985f2f043 100644
--- 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/brave/BraveTracingTest.java
+++ 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/brave/BraveTracingTest.java
@@ -22,7 +22,7 @@ package org.apache.cxf.systest.jaxws.tracing.brave;
 import brave.Tracing;
 import org.apache.cxf.feature.Feature;
 import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
-import org.apache.cxf.systest.brave.TestSpanReporter;
+import org.apache.cxf.systest.brave.TestSpanHandler;
 import org.apache.cxf.systest.brave.jaxws.AbstractBraveTracingTest;
 import org.apache.cxf.testutil.common.AbstractTestServerBase;
 import org.apache.cxf.tracing.brave.BraveClientFeature;
@@ -44,7 +44,7 @@ public class BraveTracingTest extends 
AbstractBraveTracingTest {
         protected void run() {
             final Tracing brave = Tracing.newBuilder()
                 .localServiceName("book-store")
-                .spanReporter(new TestSpanReporter())
+                .addSpanHandler(new TestSpanHandler())
                 .build();
 
             final JaxWsServerFactoryBean sf = new JaxWsServerFactoryBean();
@@ -68,7 +68,7 @@ public class BraveTracingTest extends 
AbstractBraveTracingTest {
 
     @After
     public void tearDown() {
-        TestSpanReporter.clear();
+        TestSpanHandler.clear();
     }
 
     @Override
diff --git 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/micrometer/MicrometerTracingTest.java
 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/micrometer/MicrometerTracingTest.java
index a01121752c..8996da34d7 100644
--- 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/micrometer/MicrometerTracingTest.java
+++ 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxws/tracing/micrometer/MicrometerTracingTest.java
@@ -22,7 +22,7 @@ import brave.Tracing;
 import org.apache.cxf.feature.Feature;
 import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
 import org.apache.cxf.message.Message;
-import org.apache.cxf.systest.brave.TestSpanReporter;
+import org.apache.cxf.systest.brave.TestSpanHandler;
 import org.apache.cxf.systest.brave.jaxws.AbstractBraveTracingTest;
 import org.apache.cxf.systest.jaxws.tracing.brave.BookStore;
 import org.apache.cxf.testutil.common.AbstractTestServerBase;
@@ -57,7 +57,7 @@ public class MicrometerTracingTest extends 
AbstractBraveTracingTest {
         protected void run() {
             final Tracing brave = Tracing.newBuilder()
                 .localServiceName("book-store")
-                .spanReporter(new TestSpanReporter())
+                .addSpanHandler(new TestSpanHandler())
                 .build();
 
             final ObservationRegistry observationRegistry = 
createObservationRegistry(meterRegistry, brave);
@@ -100,7 +100,7 @@ public class MicrometerTracingTest extends 
AbstractBraveTracingTest {
 
     @After
     public void tearDown() {
-        TestSpanReporter.clear();
+        TestSpanHandler.clear();
     }
     
     @Override


Reply via email to