diff --git a/benchmarks/pom.xml b/benchmarks/pom.xml
index ac935e10e..c0cb48a5d 100644
--- a/benchmarks/pom.xml
+++ b/benchmarks/pom.xml
@@ -33,7 +33,7 @@
1.8
1.8
2.2.5.RELEASE
- 5.11.2
+ 5.12.0
3.14.6
diff --git a/docs/src/main/asciidoc/_configprops.adoc b/docs/src/main/asciidoc/_configprops.adoc
index 2692e0e3c..1fe0eef0f 100644
--- a/docs/src/main/asciidoc/_configprops.adoc
+++ b/docs/src/main/asciidoc/_configprops.adoc
@@ -33,7 +33,7 @@
|spring.sleuth.messaging.rabbit.remote-service-name | rabbitmq |
|spring.sleuth.opentracing.enabled | true |
|spring.sleuth.propagation-keys | | List of fields that are referenced the same in-process as it is on the wire. For example, the name "x-vcap-request-id" would be set as-is including the prefix.
Note: {@code fieldName} will be implicitly lower-cased. @see brave.propagation.ExtraFieldPropagation.FactoryBuilder#addField(String)
-|spring.sleuth.propagation.tag.enabled | true | Enables a {@link TagPropagationFinishedSpanHandler} that adds extra propagated fields to span tags.
+|spring.sleuth.propagation.tag.enabled | true | Enables a {@link TagPropagationSpanHandler} that adds extra propagated fields to span tags.
|spring.sleuth.propagation.tag.whitelisted-keys | | A list of keys to be put from extra propagation fields to span tags.
|spring.sleuth.reactor.decorate-on-each | true | When true decorates on each operator, will be less performing, but logging will always contain the tracing entries in each operator. When false decorates on last operator, will be more performing, but logging might not always contain the tracing entries.
|spring.sleuth.reactor.enabled | true | When true enables instrumentation for reactor.
diff --git a/docs/src/main/asciidoc/spring-cloud-sleuth.adoc b/docs/src/main/asciidoc/spring-cloud-sleuth.adoc
index 11d2ccda5..114248188 100644
--- a/docs/src/main/asciidoc/spring-cloud-sleuth.adoc
+++ b/docs/src/main/asciidoc/spring-cloud-sleuth.adoc
@@ -971,17 +971,17 @@ spring.zipkin.service.name: myService
=== Customization of Reported Spans
Before reporting spans (for example, to Zipkin) you may want to modify that span in some way.
-You can do so by using the `FinishedSpanHandler` interface.
+You can do so by implementing a `SpanHandler`.
In Sleuth, we generate spans with a fixed name.
Some users want to modify the name depending on values of tags.
-You can implement the `FinishedSpanHandler` interface to alter that name.
+You can implement the `SpanHandler` interface to alter that name.
-The following example shows how to register two beans that implement `FinishedSpanHandler`:
+The following example shows how to register two beans that implement `SpanHandler`:
[source,java]
----
-include::{project-root}//spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/FinishedSpanHandlerTests.java[tags=finishedSpanHandler,indent=0]
+include::{project-root}//spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/SpanHandlerTests.java[tags=spanHandler,indent=0]
----
The preceding example results in changing the name of the reported span to `foo bar`, just before it gets reported (for example, to Zipkin).
diff --git a/pom.xml b/pom.xml
index 02be955af..473f71ac9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -264,7 +264,7 @@
Horsham.SR3
2.2.3.BUILD-SNAPSHOT
2.2.3.BUILD-SNAPSHOT
- 5.11.2
+ 5.12.0
2.1.7.RELEASE
2.2.1.RELEASE
false
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/SpanAdjuster.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/SpanAdjuster.java
index e973e5378..5ff8914a9 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/SpanAdjuster.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/SpanAdjuster.java
@@ -21,7 +21,7 @@ import zipkin2.Span;
/**
* Deprecated Span Adjuster.
*
- * @deprecated use {@link brave.handler.FinishedSpanHandler}
+ * @deprecated use {@link brave.handler.SpanHandler}
* @author Marcin Grzejszczak
*/
@Deprecated
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfiguration.java
index 9d95f78f5..bf8f74f51 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfiguration.java
@@ -25,7 +25,7 @@ import brave.ErrorParser;
import brave.Tracer;
import brave.Tracing;
import brave.TracingCustomizer;
-import brave.handler.FinishedSpanHandler;
+import brave.handler.SpanHandler;
import brave.propagation.B3Propagation;
import brave.propagation.CurrentTraceContext;
import brave.propagation.CurrentTraceContextCustomizer;
@@ -94,7 +94,7 @@ public class TraceAutoConfiguration {
List spanAdjusters = new ArrayList<>();
@Autowired(required = false)
- List finishedSpanHandlers = new ArrayList<>();
+ List spanHandlers = new ArrayList<>();
@Autowired(required = false)
ExtraFieldPropagation.FactoryBuilder extraFieldPropagationFactoryBuilder;
@@ -121,8 +121,8 @@ public class TraceAutoConfiguration {
spanReporters != null ? spanReporters : Collections.emptyList()))
.traceId128Bit(sleuthProperties.isTraceId128())
.supportsJoin(sleuthProperties.isSupportsJoin());
- for (FinishedSpanHandler finishedSpanHandlerFactory : this.finishedSpanHandlers) {
- builder.addFinishedSpanHandler(finishedSpanHandlerFactory);
+ for (SpanHandler spanHandlerFactory : this.spanHandlers) {
+ builder.addSpanHandler(spanHandlerFactory);
}
for (TracingCustomizer customizer : this.tracingCustomizers) {
customizer.customize(builder);
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/log/Slf4jCurrentTraceContext.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/log/Slf4jCurrentTraceContext.java
index c5551a394..67c3a5cb7 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/log/Slf4jCurrentTraceContext.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/log/Slf4jCurrentTraceContext.java
@@ -16,8 +16,8 @@
package org.springframework.cloud.sleuth.log;
-import brave.internal.HexCodec;
import brave.internal.Nullable;
+import brave.internal.codec.HexCodec;
import brave.propagation.CurrentTraceContext;
import brave.propagation.TraceContext;
import org.slf4j.Logger;
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/propagation/SleuthTagPropagationAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/propagation/SleuthTagPropagationAutoConfiguration.java
index 2c3c4bc82..342c9e4b1 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/propagation/SleuthTagPropagationAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/propagation/SleuthTagPropagationAutoConfiguration.java
@@ -16,7 +16,7 @@
package org.springframework.cloud.sleuth.propagation;
-import brave.handler.FinishedSpanHandler;
+import brave.handler.SpanHandler;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@@ -45,8 +45,7 @@ public class SleuthTagPropagationAutoConfiguration {
protected static class TagPropagationConfiguration {
@Bean
- static FinishedSpanHandler sleuthFinishedSpanHandler(
- SleuthProperties sleuthProperties,
+ static SpanHandler tagPropagationSpanHandler(SleuthProperties sleuthProperties,
SleuthTagPropagationProperties tagPropagationProperties) {
return new TagPropagationFinishedSpanHandler(sleuthProperties,
tagPropagationProperties);
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/propagation/SleuthTagPropagationProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/propagation/SleuthTagPropagationProperties.java
index f2e83e3c3..3d68ce96f 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/propagation/SleuthTagPropagationProperties.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/propagation/SleuthTagPropagationProperties.java
@@ -34,8 +34,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
public class SleuthTagPropagationProperties {
/**
- * Enables a {@link TagPropagationFinishedSpanHandler} that adds extra propagated
- * fields to span tags.
+ * Enables a {@link TagPropagationSpanHandler} that adds extra propagated fields to
+ * span tags.
*/
private boolean enabled = true;
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/SamplerCondition.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/SamplerCondition.java
index 77c6164d9..5c50c3113 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/SamplerCondition.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/SamplerCondition.java
@@ -17,7 +17,7 @@
package org.springframework.cloud.sleuth.sampler;
import brave.TracingCustomizer;
-import brave.handler.FinishedSpanHandler;
+import brave.handler.SpanHandler;
import brave.sampler.Sampler;
import org.springframework.boot.autoconfigure.condition.AnyNestedCondition;
@@ -48,7 +48,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
*
* - {@code zipkin2.reporter.Reporter} - what's used by Zipkin or others like
* Stackdriver
- * - {@link FinishedSpanHandler} - only accepts sampled data
+ * - {@link SpanHandler} - only accepts sampled data
* - {@link TracingCustomizer} - can configure one of the above
*
*
@@ -69,8 +69,8 @@ final class SamplerCondition extends AnyNestedCondition {
}
- @ConditionalOnBean(FinishedSpanHandler.class)
- static final class FinishedSpanHandlerAvailable {
+ @ConditionalOnBean(SpanHandler.class)
+ static final class SpanHandlerAvailable {
}
diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/FinishedSpanHandlerTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/SpanHandlerTests.java
similarity index 80%
rename from spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/FinishedSpanHandlerTests.java
rename to spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/SpanHandlerTests.java
index b3bfcff56..b5bc9bc94 100644
--- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/FinishedSpanHandlerTests.java
+++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/SpanHandlerTests.java
@@ -18,8 +18,8 @@ package org.springframework.cloud.sleuth;
import brave.Span;
import brave.Tracer;
-import brave.handler.FinishedSpanHandler;
import brave.handler.MutableSpan;
+import brave.handler.SpanHandler;
import brave.propagation.TraceContext;
import brave.sampler.Sampler;
import org.assertj.core.api.BDDAssertions;
@@ -42,10 +42,9 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
* @author Marcin Grzejszczak
*/
@RunWith(SpringRunner.class)
-@SpringBootTest(
- classes = FinishedSpanHandlerTests.FinishedSpanHandlerAspectTestsConfig.class,
+@SpringBootTest(classes = SpanHandlerTests.SpanHandlerAspectTestsConfig.class,
webEnvironment = NONE)
-public class FinishedSpanHandlerTests {
+public class SpanHandlerTests {
@Autowired
ArrayListSpanReporter reporter;
@@ -65,7 +64,7 @@ public class FinishedSpanHandlerTests {
@Configuration
@EnableAutoConfiguration(exclude = IntegrationAutoConfiguration.class)
- static class FinishedSpanHandlerAspectTestsConfig {
+ static class SpanHandlerAspectTestsConfig {
@Bean
Sampler sampler() {
@@ -77,12 +76,13 @@ public class FinishedSpanHandlerTests {
return new ArrayListSpanReporter();
}
- // tag::finishedSpanHandler[]
+ // tag::spanHandler[]
@Bean
- FinishedSpanHandler handlerOne() {
- return new FinishedSpanHandler() {
+ SpanHandler handlerOne() {
+ return new SpanHandler() {
@Override
- public boolean handle(TraceContext traceContext, MutableSpan span) {
+ public boolean end(TraceContext traceContext, MutableSpan span,
+ Cause cause) {
span.name("foo");
return true; // keep this span
}
@@ -90,16 +90,17 @@ public class FinishedSpanHandlerTests {
}
@Bean
- FinishedSpanHandler handlerTwo() {
- return new FinishedSpanHandler() {
+ SpanHandler handlerTwo() {
+ return new SpanHandler() {
@Override
- public boolean handle(TraceContext traceContext, MutableSpan span) {
+ public boolean end(TraceContext traceContext, MutableSpan span,
+ Cause cause) {
span.name(span.name() + " bar");
return true; // keep this span
}
};
}
- // end::finishedSpanHandler[]
+ // end::spanHandler[]
}
diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfigurationPropagationCustomizationTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfigurationPropagationCustomizationTests.java
index c7f7155b7..a8f1a839a 100644
--- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfigurationPropagationCustomizationTests.java
+++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfigurationPropagationCustomizationTests.java
@@ -17,6 +17,7 @@
package org.springframework.cloud.sleuth.autoconfig;
import brave.propagation.B3Propagation;
+import brave.propagation.B3Propagation.Format;
import brave.propagation.B3SinglePropagation;
import brave.propagation.ExtraFieldPropagation;
import brave.propagation.Propagation;
@@ -33,6 +34,12 @@ import org.springframework.context.support.GenericApplicationContext;
public class TraceAutoConfigurationPropagationCustomizationTests {
+ // Default for spring-messaging is on 2.2.x is MULTI, though 3.x it is
+ // SINGLE_NO_PARENT
+ // spring-cloud/spring-cloud-sleuth#1607
+ Propagation.Factory defaultB3Propagation = B3Propagation.newFactoryBuilder()
+ .injectFormat(Format.MULTI).build();
+
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
.withConfiguration(AutoConfigurations.of(TraceAutoConfiguration.class));
@@ -40,7 +47,7 @@ public class TraceAutoConfigurationPropagationCustomizationTests {
public void stillCreatesDefault() {
this.contextRunner.run((context) -> {
BDDAssertions.then(context.getBean(Propagation.Factory.class))
- .isEqualTo(B3Propagation.FACTORY);
+ .isEqualTo(defaultB3Propagation);
});
}
diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/sampler/SamplerAutoConfigurationTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/sampler/SamplerAutoConfigurationTests.java
index f369d4145..5f5dce848 100644
--- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/sampler/SamplerAutoConfigurationTests.java
+++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/sampler/SamplerAutoConfigurationTests.java
@@ -18,8 +18,8 @@ package org.springframework.cloud.sleuth.sampler;
import brave.Tracing;
import brave.TracingCustomizer;
-import brave.handler.FinishedSpanHandler;
import brave.handler.MutableSpan;
+import brave.handler.SpanHandler;
import brave.propagation.TraceContext;
import brave.sampler.RateLimitingSampler;
import brave.sampler.Sampler;
@@ -52,12 +52,11 @@ public class SamplerAutoConfigurationTests {
}
@Test
- public void should_use_RateLimitedSampler_withFinishedSpanHandler() {
- this.contextRunner.withUserConfiguration(WithFinishedSpanHandler.class)
- .run((context -> {
- final Sampler bean = context.getBean(Sampler.class);
- BDDAssertions.then(bean).isInstanceOf(RateLimitingSampler.class);
- }));
+ public void should_use_RateLimitedSampler_withSpanHandler() {
+ this.contextRunner.withUserConfiguration(WithSpanHandler.class).run((context -> {
+ final Sampler bean = context.getBean(Sampler.class);
+ BDDAssertions.then(bean).isInstanceOf(RateLimitingSampler.class);
+ }));
}
@Test
@@ -138,13 +137,13 @@ public class SamplerAutoConfigurationTests {
}
@Configuration
- static class WithFinishedSpanHandler {
+ static class WithSpanHandler {
@Bean
- FinishedSpanHandler finishedSpanHandler() {
- return new FinishedSpanHandler() {
+ SpanHandler spanHandler() {
+ return new SpanHandler() {
@Override
- public boolean handle(TraceContext context, MutableSpan span) {
+ public boolean end(TraceContext context, MutableSpan span, Cause cause) {
return true;
}
};
diff --git a/spring-cloud-sleuth-dependencies/pom.xml b/spring-cloud-sleuth-dependencies/pom.xml
index 9c31142b4..6e413a494 100644
--- a/spring-cloud-sleuth-dependencies/pom.xml
+++ b/spring-cloud-sleuth-dependencies/pom.xml
@@ -31,8 +31,8 @@
spring-cloud-sleuth-dependencies
Spring Cloud Sleuth Dependencies
- 5.11.2
- 0.36.2
+ 5.12.0
+ 0.37.0
3.4.1
@@ -69,6 +69,12 @@
io.opentracing.brave
brave-opentracing
${brave.opentracing.version}
+
+
+ io.zipkin.brave
+ *
+
+
diff --git a/spring-cloud-sleuth-samples/pom.xml b/spring-cloud-sleuth-samples/pom.xml
index 08d7d286b..4f3189f54 100644
--- a/spring-cloud-sleuth-samples/pom.xml
+++ b/spring-cloud-sleuth-samples/pom.xml
@@ -70,11 +70,6 @@
spring-cloud-sleuth-sample-test-core
${project.version}
-
- io.zipkin.zipkin2
- zipkin
- 2.19.3
-
diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/pom.xml
index 84723e1de..fdb98f015 100644
--- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/pom.xml
+++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/pom.xml
@@ -105,10 +105,6 @@
awaitility
compile
-
- io.zipkin.zipkin2
- zipkin
-
io.projectreactor
reactor-core
diff --git a/spring-cloud-sleuth-zipkin/pom.xml b/spring-cloud-sleuth-zipkin/pom.xml
index 0843e555e..72bedc57a 100644
--- a/spring-cloud-sleuth-zipkin/pom.xml
+++ b/spring-cloud-sleuth-zipkin/pom.xml
@@ -79,6 +79,10 @@
io.zipkin.reporter2
zipkin-reporter
+
+ io.zipkin.reporter2
+ zipkin-reporter-brave
+
io.zipkin.reporter2
zipkin-sender-kafka
diff --git a/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin2/ZipkinAutoConfigurationTests.java b/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin2/ZipkinAutoConfigurationTests.java
index 851c1c6d2..3a68148a2 100644
--- a/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin2/ZipkinAutoConfigurationTests.java
+++ b/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin2/ZipkinAutoConfigurationTests.java
@@ -21,8 +21,8 @@ import java.util.concurrent.TimeoutException;
import brave.Span;
import brave.Tracing;
-import brave.handler.FinishedSpanHandler;
import brave.handler.MutableSpan;
+import brave.handler.SpanHandler;
import brave.propagation.TraceContext;
import brave.sampler.Sampler;
import okhttp3.mockwebserver.MockWebServer;
@@ -405,10 +405,11 @@ public class ZipkinAutoConfigurationTests {
protected static class HandlerHanldersConfig {
@Bean
- FinishedSpanHandler handlerOne() {
- return new FinishedSpanHandler() {
+ SpanHandler handlerOne() {
+ return new SpanHandler() {
@Override
- public boolean handle(TraceContext traceContext, MutableSpan span) {
+ public boolean end(TraceContext traceContext, MutableSpan span,
+ Cause cause) {
span.name("foo");
return true; // keep this span
}
@@ -416,10 +417,11 @@ public class ZipkinAutoConfigurationTests {
}
@Bean
- FinishedSpanHandler handlerTwo() {
- return new FinishedSpanHandler() {
+ SpanHandler handlerTwo() {
+ return new SpanHandler() {
@Override
- public boolean handle(TraceContext traceContext, MutableSpan span) {
+ public boolean end(TraceContext traceContext, MutableSpan span,
+ Cause cause) {
span.name(span.name() + " bar");
return true; // keep this span
}
diff --git a/src/checkstyle/checkstyle-suppressions.xml b/src/checkstyle/checkstyle-suppressions.xml
index 80260c2e4..e75174d51 100644
--- a/src/checkstyle/checkstyle-suppressions.xml
+++ b/src/checkstyle/checkstyle-suppressions.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
diff --git a/tests/spring-cloud-sleuth-instrumentation-mvc-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterWebIntegrationTests.java b/tests/spring-cloud-sleuth-instrumentation-mvc-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterWebIntegrationTests.java
index b24121300..afd175451 100644
--- a/tests/spring-cloud-sleuth-instrumentation-mvc-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterWebIntegrationTests.java
+++ b/tests/spring-cloud-sleuth-instrumentation-mvc-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterWebIntegrationTests.java
@@ -23,8 +23,8 @@ import java.util.regex.Pattern;
import java.util.stream.Collectors;
import brave.Span.Kind;
-import brave.handler.FinishedSpanHandler;
import brave.handler.MutableSpan;
+import brave.handler.SpanHandler;
import brave.http.HttpRequest;
import brave.http.HttpRequestParser;
import brave.propagation.CurrentTraceContext;
@@ -174,11 +174,10 @@ public class TraceFilterWebIntegrationTests {
}
@Bean
- FinishedSpanHandler uncaughtExceptionThrown(
- CurrentTraceContext currentTraceContext) {
- return new FinishedSpanHandler() {
+ SpanHandler uncaughtExceptionThrown(CurrentTraceContext currentTraceContext) {
+ return new SpanHandler() {
@Override
- public boolean handle(TraceContext context, MutableSpan span) {
+ public boolean end(TraceContext context, MutableSpan span, Cause cause) {
if (span.kind() != Kind.SERVER || span.error() == null
|| !log.isErrorEnabled()) {
return true; // don't add overhead as we only log server errors
diff --git a/tests/spring-cloud-sleuth-instrumentation-reactor-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/ITSpringConfiguredReactorClient.java b/tests/spring-cloud-sleuth-instrumentation-reactor-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/ITSpringConfiguredReactorClient.java
index 19fcf9895..3db58f794 100644
--- a/tests/spring-cloud-sleuth-instrumentation-reactor-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/ITSpringConfiguredReactorClient.java
+++ b/tests/spring-cloud-sleuth-instrumentation-reactor-tests/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/ITSpringConfiguredReactorClient.java
@@ -34,10 +34,10 @@ import org.reactivestreams.Subscription;
import reactor.core.publisher.BaseSubscriber;
import reactor.core.publisher.Mono;
import reactor.netty.http.client.HttpClient;
-import zipkin2.Span;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
+import static brave.Span.Kind.CLIENT;
import static org.assertj.core.api.Assertions.assertThat;
/**
@@ -161,7 +161,7 @@ abstract class ITSpringConfiguredReactorClient
assertThat(server.getRequestCount()).isOne();
- reporter.takeRemoteSpanWithError(Span.Kind.CLIENT, "CANCELLED");
+ this.spanHandler.takeRemoteSpanWithErrorMessage(CLIENT, "CANCELLED");
}
}