diff --git a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/ZipkinSpanListener.java b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/ZipkinSpanListener.java index 35e1a25ed..7edcf46cc 100644 --- a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/ZipkinSpanListener.java +++ b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/ZipkinSpanListener.java @@ -16,6 +16,12 @@ package org.springframework.cloud.sleuth.zipkin; +import java.nio.charset.Charset; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Map; + import org.springframework.cloud.commons.util.IdUtils; import org.springframework.cloud.sleuth.Log; import org.springframework.cloud.sleuth.NoOpSpanAdjuster; @@ -29,12 +35,6 @@ import zipkin.BinaryAnnotation; import zipkin.Constants; import zipkin.Endpoint; -import java.nio.charset.Charset; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Map; - /** * Listener of Sleuth events. Reports to Zipkin via {@link ZipkinSpanReporter}. * @@ -100,7 +100,7 @@ public class ZipkinSpanListener implements SpanReporter { //TODO: Consider adding support for the debug flag (related to #496) Span convertedSpan = span; for (SpanAdjuster adjuster : this.spanAdjusters) { - convertedSpan = adjuster.adjust(span); + convertedSpan = adjuster.adjust(convertedSpan); } zipkin.Span.Builder zipkinSpan = zipkin.Span.builder(); Endpoint endpoint = this.endpointLocator.local(); diff --git a/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin/ZipkinSpanListenerTests.java b/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin/ZipkinSpanListenerTests.java index b9c200a72..8ef2bea38 100644 --- a/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin/ZipkinSpanListenerTests.java +++ b/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin/ZipkinSpanListenerTests.java @@ -20,6 +20,7 @@ import org.assertj.core.api.Condition; import zipkin.Constants; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.List; import javax.annotation.PostConstruct; @@ -307,12 +308,14 @@ public class ZipkinSpanListenerTests { public void should_adjust_span_before_reporting_it() { this.parent.logEvent(Span.CLIENT_RECV); ZipkinSpanListener spanListener = new ZipkinSpanListener(this.spanReporter, - this.endpointLocator, null, Collections.singletonList( - span -> Span.builder().from(span).name("foo").build())); + this.endpointLocator, null, Arrays.asList( + (SpanAdjuster) span -> Span.builder().from(span).name("foo").build(), + (SpanAdjuster) span -> Span.builder().from(span).name(span.getName() + "bar").build() + )); zipkin.Span result = spanListener.convert(this.parent); - assertThat(result.name).isEqualTo("foo"); + assertThat(result.name).isEqualTo("foobar"); } @Test