diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/Span.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/Span.java
index 5af2c9154..811ee683f 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/Span.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/Span.java
@@ -19,6 +19,8 @@ package org.springframework.cloud.sleuth;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
+import org.springframework.util.Assert;
+import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.Arrays;
@@ -32,9 +34,6 @@ import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
-import org.springframework.util.Assert;
-import org.springframework.util.StringUtils;
-
/**
* Class for gathering and reporting statistics about a block of execution.
*
@@ -171,7 +170,10 @@ public class Span implements SpanContext {
* Creates a new span that still tracks tags and logs of the current span. This is
* crucial when continuing spans since the changes in those collections done in the
* continued span need to be reflected until the span gets closed.
+ *
+ * @deprecated - use {@link SpanBuilder}
*/
+ @Deprecated
public Span(Span current, Span savedSpan) {
this.begin = current.getBegin();
this.end = current.getEnd();
@@ -191,21 +193,13 @@ public class Span implements SpanContext {
this.savedSpan = savedSpan;
}
- /**
- * @deprecated please use {@link SpanBuilder}
- */
- @Deprecated
- public Span(long begin, long end, String name, long traceId, List parents,
+ Span(long begin, long end, String name, long traceId, List parents,
long spanId, boolean remote, boolean exportable, String processId) {
this(begin, end, name, traceId, parents, spanId, remote, exportable, processId,
null);
}
- /**
- * @deprecated please use {@link SpanBuilder}
- */
- @Deprecated
- public Span(long begin, long end, String name, long traceId, List parents,
+ Span(long begin, long end, String name, long traceId, List parents,
long spanId, boolean remote, boolean exportable, String processId,
Span savedSpan) {
this(new SpanBuilder()
@@ -274,18 +268,6 @@ public class Span implements SpanContext {
}
}
- /**
- * Return the total amount of time elapsed since start was called, if running, or
- * difference between stop and start
- *
- * @deprecated use {@link #getAccumulatedMicros()} as it is more precise.
- */
- @Deprecated
- @JsonIgnore
- public synchronized long getAccumulatedMillis() {
- return getAccumulatedMicros() / 1000;
- }
-
/**
* Return the total amount of time elapsed since start was called, if running, or
* difference between stop and start, in microseconds.
@@ -766,6 +748,9 @@ public class Span implements SpanContext {
return this;
}
+ /**
+ * Creates a {@link Span.SpanBuilder} from the {@link Span}.
+ */
public Span.SpanBuilder from(Span span) {
return begin(span.begin).end(span.end).name(span.name)
.traceIdHigh(span.traceIdHigh).traceId(span.traceId)
@@ -774,6 +759,11 @@ public class Span implements SpanContext {
.processId(span.processId).savedSpan(span.savedSpan);
}
+ /**
+ * Builds a span. All collections lik baggage / tags / logs are *copied*, not continued.
+ * In other words if you add a tag to the input {@link Span}, the created span
+ * will not reflect that change.
+ */
public Span build() {
return new Span(this);
}
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceContinuingCallable.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceContinuingCallable.java
deleted file mode 100644
index 8fc48f635..000000000
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceContinuingCallable.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright 2013-2017 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.cloud.sleuth.instrument.async;
-
-import java.util.concurrent.Callable;
-
-import org.springframework.cloud.sleuth.Span;
-import org.springframework.cloud.sleuth.SpanNamer;
-import org.springframework.cloud.sleuth.TraceCallable;
-import org.springframework.cloud.sleuth.Tracer;
-
-/**
- * Trace Callable that continues a span instead of creating a new one. Upon completion
- * the span is not closed - it gets {@link Tracer#detach(Span) detached}.
- *
- * @author Marcin Grzejszczak
- * @since 1.0.0
- * @deprecated as of 1.2 in favor of {@link SpanContinuingTraceCallable}
- */
-@Deprecated
-public class TraceContinuingCallable extends TraceCallable implements Callable {
-
- public TraceContinuingCallable(Tracer tracer, SpanNamer spanNamer, Callable delegate) {
- super(tracer, spanNamer, delegate);
- }
-
- @Override
- protected Span startSpan() {
- return getTracer().continueSpan(getParent());
- }
-
- @Override
- protected void close(Span span) {
- if (getTracer().isTracing()) {
- getTracer().detach(span);
- }
- }
-}
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/AbstractTraceChannelInterceptor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/AbstractTraceChannelInterceptor.java
index 49b1dd62c..9a65485f7 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/AbstractTraceChannelInterceptor.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/AbstractTraceChannelInterceptor.java
@@ -1,12 +1,9 @@
package org.springframework.cloud.sleuth.instrument.messaging;
-import java.lang.invoke.MethodHandles;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.cloud.sleuth.ErrorParser;
-import org.springframework.cloud.sleuth.ExceptionMessageErrorParser;
import org.springframework.cloud.sleuth.Span;
import org.springframework.cloud.sleuth.SpanTextMap;
import org.springframework.cloud.sleuth.TraceKeys;
@@ -19,6 +16,8 @@ import org.springframework.messaging.support.ChannelInterceptorAdapter;
import org.springframework.messaging.support.ExecutorChannelInterceptor;
import org.springframework.util.ClassUtils;
+import java.lang.invoke.MethodHandles;
+
/**
* Abstraction over classes related to channel intercepting
*
@@ -46,17 +45,6 @@ abstract class AbstractTraceChannelInterceptor extends ChannelInterceptorAdapter
private ErrorParser errorParser;
private BeanFactory beanFactory;
- @Deprecated
- protected AbstractTraceChannelInterceptor(Tracer tracer, TraceKeys traceKeys,
- MessagingSpanTextMapExtractor spanExtractor,
- MessagingSpanTextMapInjector spanInjector) {
- this.tracer = tracer;
- this.traceKeys = traceKeys;
- this.spanExtractor = spanExtractor;
- this.spanInjector = spanInjector;
- this.errorParser = new ExceptionMessageErrorParser();
- }
-
protected AbstractTraceChannelInterceptor(BeanFactory beanFactory) {
this.beanFactory = beanFactory;
}
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/IntegrationTraceChannelInterceptor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/IntegrationTraceChannelInterceptor.java
index fcbcb7438..1bdf18e4e 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/IntegrationTraceChannelInterceptor.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/IntegrationTraceChannelInterceptor.java
@@ -17,8 +17,6 @@
package org.springframework.cloud.sleuth.instrument.messaging;
import org.springframework.beans.factory.BeanFactory;
-import org.springframework.cloud.sleuth.TraceKeys;
-import org.springframework.cloud.sleuth.Tracer;
import org.springframework.integration.channel.ChannelInterceptorAware;
import org.springframework.integration.channel.interceptor.VetoCapableInterceptor;
import org.springframework.messaging.support.ChannelInterceptor;
@@ -29,14 +27,7 @@ import org.springframework.messaging.support.ChannelInterceptor;
*/
class IntegrationTraceChannelInterceptor extends TraceChannelInterceptor implements VetoCapableInterceptor {
- @Deprecated
- public IntegrationTraceChannelInterceptor(Tracer tracer, TraceKeys traceKeys,
- MessagingSpanTextMapExtractor spanExtractor,
- MessagingSpanTextMapInjector spanInjector) {
- super(tracer, traceKeys, spanExtractor, spanInjector);
- }
-
- public IntegrationTraceChannelInterceptor(BeanFactory beanFactory) {
+ IntegrationTraceChannelInterceptor(BeanFactory beanFactory) {
super(beanFactory);
}
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptor.java
index 954dd5f0b..408a32481 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptor.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptor.java
@@ -19,8 +19,6 @@ package org.springframework.cloud.sleuth.instrument.messaging;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.cloud.sleuth.Log;
import org.springframework.cloud.sleuth.Span;
-import org.springframework.cloud.sleuth.TraceKeys;
-import org.springframework.cloud.sleuth.Tracer;
import org.springframework.cloud.sleuth.sampler.NeverSampler;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
@@ -38,13 +36,6 @@ import org.springframework.messaging.support.MessageHeaderAccessor;
*/
public class TraceChannelInterceptor extends AbstractTraceChannelInterceptor {
- @Deprecated
- public TraceChannelInterceptor(Tracer tracer, TraceKeys traceKeys,
- MessagingSpanTextMapExtractor spanExtractor,
- MessagingSpanTextMapInjector spanInjector) {
- super(tracer, traceKeys, spanExtractor, spanInjector);
- }
-
public TraceChannelInterceptor(BeanFactory beanFactory) {
super(beanFactory);
}
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/websocket/TraceWebSocketAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/websocket/TraceWebSocketAutoConfiguration.java
index 86c2ed4e2..e69b2c9fa 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/websocket/TraceWebSocketAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/websocket/TraceWebSocketAutoConfiguration.java
@@ -1,5 +1,6 @@
package org.springframework.cloud.sleuth.instrument.messaging.websocket;
+import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
@@ -36,6 +37,8 @@ import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
public class TraceWebSocketAutoConfiguration
extends AbstractWebSocketMessageBrokerConfigurer {
+ @Autowired
+ BeanFactory beanFactory;
@Autowired
Tracer tracer;
@Autowired
@@ -52,13 +55,11 @@ public class TraceWebSocketAutoConfiguration
@Override
public void configureClientOutboundChannel(ChannelRegistration registration) {
- registration.setInterceptors(new TraceChannelInterceptor(this.tracer,
- this.traceKeys, this.spanExtractor, this.spanInjector));
+ registration.setInterceptors(new TraceChannelInterceptor(this.beanFactory));
}
@Override
public void configureClientInboundChannel(ChannelRegistration registration) {
- registration.setInterceptors(new TraceChannelInterceptor(this.tracer,
- this.traceKeys, this.spanExtractor, this.spanInjector));
+ registration.setInterceptors(new TraceChannelInterceptor(this.beanFactory));
}
}
\ No newline at end of file
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java
index 2b0657581..d00bafdcd 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java
@@ -32,7 +32,6 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.cloud.sleuth.ErrorParser;
-import org.springframework.cloud.sleuth.ExceptionMessageErrorParser;
import org.springframework.cloud.sleuth.Span;
import org.springframework.cloud.sleuth.SpanReporter;
import org.springframework.cloud.sleuth.TraceKeys;
@@ -91,12 +90,6 @@ public class TraceFilter extends GenericFilterBean {
protected static final String TRACE_CLOSE_SPAN_REQUEST_ATTR = TraceFilter.class.getName()
+ ".CLOSE_SPAN";
- /**
- * @deprecated please use {@link SleuthWebProperties#DEFAULT_SKIP_PATTERN}
- */
- @Deprecated
- public static final String DEFAULT_SKIP_PATTERN = SleuthWebProperties.DEFAULT_SKIP_PATTERN;
-
private Tracer tracer;
private TraceKeys traceKeys;
private Pattern skipPattern;
@@ -108,27 +101,6 @@ public class TraceFilter extends GenericFilterBean {
private UrlPathHelper urlPathHelper = new UrlPathHelper();
- @Deprecated
- public TraceFilter(Tracer tracer, TraceKeys traceKeys, SpanReporter spanReporter,
- HttpSpanExtractor spanExtractor,
- HttpTraceKeysInjector httpTraceKeysInjector) {
- this(tracer, traceKeys, Pattern.compile(SleuthWebProperties.DEFAULT_SKIP_PATTERN), spanReporter,
- spanExtractor, httpTraceKeysInjector);
- }
-
- @Deprecated
- public TraceFilter(Tracer tracer, TraceKeys traceKeys, Pattern skipPattern,
- SpanReporter spanReporter, HttpSpanExtractor spanExtractor,
- HttpTraceKeysInjector httpTraceKeysInjector) {
- this.tracer = tracer;
- this.traceKeys = traceKeys;
- this.skipPattern = skipPattern;
- this.spanReporter = spanReporter;
- this.spanExtractor = spanExtractor;
- this.httpTraceKeysInjector = httpTraceKeysInjector;
- this.errorParser = new ExceptionMessageErrorParser();
- }
-
public TraceFilter(BeanFactory beanFactory) {
this(beanFactory, Pattern.compile(SleuthWebProperties.DEFAULT_SKIP_PATTERN));
}
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAspect.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAspect.java
index 1468d84ff..24fa0137a 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAspect.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAspect.java
@@ -16,18 +16,12 @@
package org.springframework.cloud.sleuth.instrument.web;
-import java.lang.reflect.Field;
-import java.util.concurrent.Callable;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
import org.apache.commons.logging.Log;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.cloud.sleuth.ErrorParser;
-import org.springframework.cloud.sleuth.ExceptionMessageErrorParser;
import org.springframework.cloud.sleuth.Span;
import org.springframework.cloud.sleuth.SpanNamer;
import org.springframework.cloud.sleuth.TraceKeys;
@@ -35,6 +29,11 @@ import org.springframework.cloud.sleuth.Tracer;
import org.springframework.cloud.sleuth.instrument.async.SpanContinuingTraceCallable;
import org.springframework.web.context.request.async.WebAsyncTask;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.lang.reflect.Field;
+import java.util.concurrent.Callable;
+
/**
* Aspect that adds tracing to
*
@@ -79,14 +78,6 @@ public class TraceWebAspect {
private final TraceKeys traceKeys;
private final ErrorParser errorParser;
- @Deprecated
- public TraceWebAspect(Tracer tracer, SpanNamer spanNamer, TraceKeys traceKeys) {
- this.tracer = tracer;
- this.spanNamer = spanNamer;
- this.traceKeys = traceKeys;
- this.errorParser = new ExceptionMessageErrorParser();
- }
-
public TraceWebAspect(Tracer tracer, SpanNamer spanNamer, TraceKeys traceKeys,
ErrorParser errorParser) {
this.tracer = tracer;
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceAsyncRestTemplate.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceAsyncRestTemplate.java
index 2f042d422..b95e7e4f2 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceAsyncRestTemplate.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceAsyncRestTemplate.java
@@ -16,16 +16,9 @@
package org.springframework.cloud.sleuth.instrument.web.client;
-import java.lang.invoke.MethodHandles;
-import java.net.URI;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.cloud.sleuth.ErrorParser;
-import org.springframework.cloud.sleuth.ExceptionMessageErrorParser;
import org.springframework.cloud.sleuth.Span;
import org.springframework.cloud.sleuth.Tracer;
import org.springframework.core.task.AsyncListenableTaskExecutor;
@@ -42,6 +35,12 @@ import org.springframework.web.client.ResponseExtractor;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;
+import java.lang.invoke.MethodHandles;
+import java.net.URI;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
+
/**
* An {@link AsyncRestTemplate} that closes started spans when a response has been
* successfully received.
@@ -55,44 +54,6 @@ public class TraceAsyncRestTemplate extends AsyncRestTemplate {
private final Tracer tracer;
private final ErrorParser errorParser;
- @Deprecated
- public TraceAsyncRestTemplate(Tracer tracer) {
- super();
- this.tracer = tracer;
- this.errorParser = new ExceptionMessageErrorParser();
- }
-
- @Deprecated
- public TraceAsyncRestTemplate(AsyncListenableTaskExecutor taskExecutor, Tracer tracer) {
- super(taskExecutor);
- this.tracer = tracer;
- this.errorParser = new ExceptionMessageErrorParser();
- }
-
- @Deprecated
- public TraceAsyncRestTemplate(AsyncClientHttpRequestFactory asyncRequestFactory,
- Tracer tracer) {
- super(asyncRequestFactory);
- this.tracer = tracer;
- this.errorParser = new ExceptionMessageErrorParser();
- }
-
- @Deprecated
- public TraceAsyncRestTemplate(AsyncClientHttpRequestFactory asyncRequestFactory,
- ClientHttpRequestFactory syncRequestFactory, Tracer tracer) {
- super(asyncRequestFactory, syncRequestFactory);
- this.tracer = tracer;
- this.errorParser = new ExceptionMessageErrorParser();
- }
-
- @Deprecated
- public TraceAsyncRestTemplate(AsyncClientHttpRequestFactory requestFactory,
- RestTemplate restTemplate, Tracer tracer) {
- super(requestFactory, restTemplate);
- this.tracer = tracer;
- this.errorParser = new ExceptionMessageErrorParser();
- }
-
public TraceAsyncRestTemplate(Tracer tracer, ErrorParser errorParser) {
super();
this.tracer = tracer;
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceRestTemplateInterceptor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceRestTemplateInterceptor.java
index cd26a72aa..afadd5d75 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceRestTemplateInterceptor.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceRestTemplateInterceptor.java
@@ -16,10 +16,7 @@
package org.springframework.cloud.sleuth.instrument.web.client;
-import java.io.IOException;
-
import org.springframework.cloud.sleuth.ErrorParser;
-import org.springframework.cloud.sleuth.ExceptionMessageErrorParser;
import org.springframework.cloud.sleuth.Tracer;
import org.springframework.cloud.sleuth.instrument.web.HttpSpanInjector;
import org.springframework.cloud.sleuth.instrument.web.HttpTraceKeysInjector;
@@ -28,6 +25,8 @@ import org.springframework.http.client.ClientHttpRequestExecution;
import org.springframework.http.client.ClientHttpRequestInterceptor;
import org.springframework.http.client.ClientHttpResponse;
+import java.io.IOException;
+
/**
* Interceptor that verifies whether the trance and span id has been set on the request
* and sets them if one or both of them are missing.
@@ -43,13 +42,6 @@ public class TraceRestTemplateInterceptor extends AbstractTraceHttpRequestInterc
private final ErrorParser errorParser;
- @Deprecated
- public TraceRestTemplateInterceptor(Tracer tracer, HttpSpanInjector spanInjector,
- HttpTraceKeysInjector httpTraceKeysInjector) {
- super(tracer, spanInjector, httpTraceKeysInjector);
- this.errorParser = new ExceptionMessageErrorParser();
- }
-
public TraceRestTemplateInterceptor(Tracer tracer, HttpSpanInjector spanInjector,
HttpTraceKeysInjector httpTraceKeysInjector, ErrorParser errorParser) {
super(tracer, spanInjector, httpTraceKeysInjector);
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebAsyncClientAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebAsyncClientAutoConfiguration.java
index 7d58c9130..8b067730d 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebAsyncClientAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebAsyncClientAutoConfiguration.java
@@ -22,6 +22,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.cloud.sleuth.ErrorParser;
import org.springframework.cloud.sleuth.instrument.web.HttpSpanInjector;
import org.springframework.cloud.sleuth.Tracer;
import org.springframework.cloud.sleuth.instrument.web.HttpTraceKeysInjector;
@@ -86,8 +87,8 @@ public class TraceWebAsyncClientAutoConfiguration {
@Bean
@ConditionalOnMissingBean
@ConditionalOnProperty(value = "spring.sleuth.web.async.client.template.enabled", matchIfMissing = true)
- public AsyncRestTemplate traceAsyncRestTemplate() {
- return new TraceAsyncRestTemplate(traceAsyncClientHttpRequestFactory(), this.tracer);
+ public AsyncRestTemplate traceAsyncRestTemplate(ErrorParser errorParser) {
+ return new TraceAsyncRestTemplate(traceAsyncClientHttpRequestFactory(), this.tracer, errorParser);
}
}
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/trace/DefaultTracer.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/trace/DefaultTracer.java
index 2fd4849cb..76546d703 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/trace/DefaultTracer.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/trace/DefaultTracer.java
@@ -44,8 +44,6 @@ public class DefaultTracer implements Tracer {
private static final Log log = LogFactory.getLog(MethodHandles.lookup().lookupClass());
- private static final int MAX_CHARS_IN_SPAN_NAME = 50;
-
private final Sampler defaultSampler;
private final Random random;
@@ -60,18 +58,6 @@ public class DefaultTracer implements Tracer {
private final boolean traceId128;
- @Deprecated
- public DefaultTracer(Sampler defaultSampler, Random random, SpanNamer spanNamer,
- SpanLogger spanLogger, SpanReporter spanReporter) {
- this(defaultSampler, random, spanNamer, spanLogger, spanReporter, false);
- }
-
- @Deprecated
- public DefaultTracer(Sampler defaultSampler, Random random, SpanNamer spanNamer,
- SpanLogger spanLogger, SpanReporter spanReporter, boolean traceId128) {
- this(defaultSampler, random, spanNamer, spanLogger, spanReporter, traceId128, null);
- }
-
public DefaultTracer(Sampler defaultSampler, Random random, SpanNamer spanNamer,
SpanLogger spanLogger, SpanReporter spanReporter, TraceKeys traceKeys) {
this(defaultSampler, random, spanNamer, spanLogger, spanReporter, false, traceKeys);
diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/SpanTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/SpanTests.java
index db94a01ee..1fd8ffd52 100644
--- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/SpanTests.java
+++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/SpanTests.java
@@ -18,14 +18,13 @@ package org.springframework.cloud.sleuth;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
+import org.junit.Test;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicLong;
-import org.junit.Test;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.BDDAssertions.then;
+import static org.springframework.cloud.sleuth.assertions.SleuthAssertions.assertThat;
+import static org.springframework.cloud.sleuth.assertions.SleuthAssertions.then;
/**
* @author Marcin Grzejszczak
@@ -263,6 +262,17 @@ public class SpanTests {
assertThat(builtSpan).isEqualTo(span);
}
+ @Test
+ public void should_build_a_continued_span_from_provided_span() throws IOException {
+ Span span = builder().tag("foo", "bar").build();
+ Span savedSpan = builder().tag("foo2", "bar2").build();
+ Span builtSpan = new Span(span, savedSpan);
+
+ span.tag("foo2", "bar2");
+
+ assertThat(builtSpan).isEqualTo(span);
+ }
+
@Test
public void should_convert_a_span_to_builder() throws IOException {
Span.SpanBuilder spanBuilder = builder();
diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/async/MultipleAsyncRestTemplateTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/async/MultipleAsyncRestTemplateTests.java
index 3a116de77..61a8a43a0 100644
--- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/async/MultipleAsyncRestTemplateTests.java
+++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/async/MultipleAsyncRestTemplateTests.java
@@ -27,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.cloud.sleuth.ErrorParser;
import org.springframework.cloud.sleuth.Tracer;
import org.springframework.cloud.sleuth.instrument.web.HttpSpanInjector;
import org.springframework.cloud.sleuth.instrument.web.HttpTraceKeysInjector;
@@ -81,8 +82,8 @@ public class MultipleAsyncRestTemplateTests {
@Bean(name = "customAsyncRestTemplate")
public AsyncRestTemplate traceAsyncRestTemplate(@Qualifier("customHttpRequestFactoryWrapper")
- TraceAsyncClientHttpRequestFactoryWrapper wrapper) {
- return new TraceAsyncRestTemplate(wrapper, this.tracer);
+ TraceAsyncClientHttpRequestFactoryWrapper wrapper, ErrorParser errorParser) {
+ return new TraceAsyncRestTemplate(wrapper, this.tracer, errorParser);
}
@Bean(name = "customHttpRequestFactoryWrapper")
diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/hystrix/TraceCommandTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/hystrix/TraceCommandTests.java
index f3eb52910..603c2aea7 100644
--- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/hystrix/TraceCommandTests.java
+++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/hystrix/TraceCommandTests.java
@@ -16,8 +16,11 @@
package org.springframework.cloud.sleuth.instrument.hystrix;
-import java.util.Random;
-
+import com.netflix.hystrix.HystrixCommand;
+import com.netflix.hystrix.HystrixCommandKey;
+import com.netflix.hystrix.HystrixCommandProperties;
+import com.netflix.hystrix.HystrixThreadPoolProperties;
+import com.netflix.hystrix.strategy.HystrixPlugins;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -31,11 +34,7 @@ import org.springframework.cloud.sleuth.sampler.AlwaysSampler;
import org.springframework.cloud.sleuth.trace.DefaultTracer;
import org.springframework.cloud.sleuth.trace.TestSpanContextHolder;
-import com.netflix.hystrix.HystrixCommand;
-import com.netflix.hystrix.HystrixCommandKey;
-import com.netflix.hystrix.HystrixCommandProperties;
-import com.netflix.hystrix.HystrixThreadPoolProperties;
-import com.netflix.hystrix.strategy.HystrixPlugins;
+import java.util.Random;
import static com.netflix.hystrix.HystrixCommand.Setter.withGroupKey;
import static com.netflix.hystrix.HystrixCommandGroupKey.Factory.asKey;
@@ -99,7 +98,7 @@ public class TraceCommandTests {
@Test
public void should_pass_tracing_information_when_using_Hystrix_commands() {
Tracer tracer = new DefaultTracer(new AlwaysSampler(), new Random(),
- new DefaultSpanNamer(), new NoOpSpanLogger(), new NoOpSpanReporter());
+ new DefaultSpanNamer(), new NoOpSpanLogger(), new NoOpSpanReporter(), new TraceKeys());
TraceKeys traceKeys = new TraceKeys();
HystrixCommand.Setter setter = withGroupKey(asKey("group"))
.andCommandKey(HystrixCommandKey.Factory.asKey("command"));
diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterTests.java
index 50cee09dc..59375449c 100644
--- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterTests.java
+++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterTests.java
@@ -16,11 +16,6 @@
package org.springframework.cloud.sleuth.instrument.web;
-import java.util.ArrayList;
-import java.util.Optional;
-import java.util.Random;
-import java.util.regex.Pattern;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -53,6 +48,11 @@ import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.mock.web.MockServletContext;
import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
+import java.util.ArrayList;
+import java.util.Optional;
+import java.util.Random;
+import java.util.regex.Pattern;
+
import static org.junit.Assert.assertEquals;
import static org.mockito.MockitoAnnotations.initMocks;
import static org.springframework.cloud.sleuth.assertions.SleuthAssertions.assertThat;
@@ -83,6 +83,7 @@ public class TraceFilterTests {
private MockHttpServletResponse response;
private MockFilterChain filterChain;
private Sampler sampler = new AlwaysSampler();
+ BeanFactory beanFactory = Mockito.mock(BeanFactory.class);
@Before
public void init() {
@@ -260,8 +261,8 @@ public class TraceFilterTests {
public void ensuresThatParentSpanIsStoppedWhenReported() throws Exception {
this.request = builder().header(Span.SPAN_ID_NAME, PARENT_ID)
.header(Span.TRACE_ID_NAME, 20L).buildRequest(new MockServletContext());
- TraceFilter filter = new TraceFilter(this.tracer, this.traceKeys, spanIsStoppedVeryfingReporter(),
- this.spanExtractor, this.httpTraceKeysInjector);
+ TraceFilter filter = new TraceFilter(beanFactory());
+ BDDMockito.given(beanFactory.getBean(SpanReporter.class)).willReturn(spanIsStoppedVeryfingReporter());
filter.doFilter(this.request, this.response, this.filterChain);
}
@@ -483,7 +484,6 @@ public class TraceFilterTests {
}
private BeanFactory beanFactory() {
- BeanFactory beanFactory = Mockito.mock(BeanFactory.class);
BDDMockito.given(beanFactory.getBean(Tracer.class)).willReturn(this.tracer);
BDDMockito.given(beanFactory.getBean(TraceKeys.class)).willReturn(this.traceKeys);
BDDMockito.given(beanFactory.getBean(HttpSpanExtractor.class)).willReturn(this.spanExtractor);
diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/trace/DefaultTracerTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/trace/DefaultTracerTests.java
index 98b666289..c6a051aaf 100644
--- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/trace/DefaultTracerTests.java
+++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/trace/DefaultTracerTests.java
@@ -16,10 +16,6 @@
package org.springframework.cloud.sleuth.trace;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Random;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
@@ -37,6 +33,10 @@ import org.springframework.cloud.sleuth.log.SpanLogger;
import org.springframework.cloud.sleuth.sampler.AlwaysSampler;
import org.springframework.cloud.sleuth.sampler.NeverSampler;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.atLeast;
import static org.mockito.Mockito.times;
@@ -245,7 +245,7 @@ public class DefaultTracerTests {
@Test
public void shouldNotProduceAWarningMessageWhenThereIsNoSpanInContextAndWeDetachASpan() {
DefaultTracer tracer = new DefaultTracer(new AlwaysSampler(), new Random(),
- this.spanNamer, this.spanLogger, this.spanReporter);
+ this.spanNamer, this.spanLogger, this.spanReporter, new TraceKeys());
Span span = Span.builder().name("foo").traceId(1L).spanId(1L).build();
Span child = tracer.detach(span);
diff --git a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/DiscoveryClientHostLocator.java b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/DiscoveryClientHostLocator.java
index 172c80eb0..85ed39554 100644
--- a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/DiscoveryClientHostLocator.java
+++ b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/DiscoveryClientHostLocator.java
@@ -38,11 +38,6 @@ public class DiscoveryClientHostLocator implements HostLocator {
private final DiscoveryClient client;
private final ZipkinProperties zipkinProperties;
- @Deprecated
- public DiscoveryClientHostLocator(DiscoveryClient client) {
- this(client, new ZipkinProperties());
- }
-
public DiscoveryClientHostLocator(DiscoveryClient client, ZipkinProperties zipkinProperties) {
this.client = client;
Assert.notNull(this.client, "client");
diff --git a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/ServerPropertiesHostLocator.java b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/ServerPropertiesHostLocator.java
index 2bc0c1c3b..39e5fef6e 100644
--- a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/ServerPropertiesHostLocator.java
+++ b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/ServerPropertiesHostLocator.java
@@ -53,11 +53,6 @@ public class ServerPropertiesHostLocator implements HostLocator {
private final ZipkinProperties zipkinProperties;
private Integer port; // Lazy assigned
- @Deprecated
- public ServerPropertiesHostLocator(ServerProperties serverProperties, String appName) {
- this(serverProperties, appName, new ZipkinProperties(),null);
- }
-
public ServerPropertiesHostLocator(ServerProperties serverProperties, String appName,
ZipkinProperties zipkinProperties, InetUtils inetUtils) {
this.serverProperties = serverProperties;
diff --git a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/StreamSpanReporter.java b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/StreamSpanReporter.java
index 1c3f49910..b6a6ec921 100644
--- a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/StreamSpanReporter.java
+++ b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/StreamSpanReporter.java
@@ -16,19 +16,9 @@
package org.springframework.cloud.sleuth.stream;
-import java.lang.invoke.MethodHandles;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.LinkedBlockingQueue;
-
import org.apache.commons.logging.LogFactory;
import org.springframework.cloud.commons.util.IdUtils;
import org.springframework.cloud.sleuth.Log;
-import org.springframework.cloud.sleuth.NoOpSpanAdjuster;
import org.springframework.cloud.sleuth.Span;
import org.springframework.cloud.sleuth.SpanAdjuster;
import org.springframework.cloud.sleuth.SpanReporter;
@@ -38,6 +28,14 @@ import org.springframework.integration.annotation.InboundChannelAdapter;
import org.springframework.integration.annotation.MessageEndpoint;
import org.springframework.integration.annotation.Poller;
+import java.lang.invoke.MethodHandles;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+
/**
* A message source for spans. Also handles RPC flavoured annotations.
*
@@ -66,18 +64,6 @@ public class StreamSpanReporter implements SpanReporter {
private final Environment environment;
private final List spanAdjusters;
- @Deprecated
- public StreamSpanReporter(HostLocator endpointLocator,
- SpanMetricReporter spanMetricReporter) {
- this(endpointLocator, spanMetricReporter, null);
- }
-
- @Deprecated
- public StreamSpanReporter(HostLocator endpointLocator,
- SpanMetricReporter spanMetricReporter, Environment environment) {
- this(endpointLocator, spanMetricReporter, environment, Collections.singletonList(new NoOpSpanAdjuster()));
- }
-
public StreamSpanReporter(HostLocator endpointLocator,
SpanMetricReporter spanMetricReporter, Environment environment, List spanAdjusters) {
this.endpointLocator = endpointLocator;
diff --git a/spring-cloud-sleuth-stream/src/test/java/org/springframework/cloud/sleuth/stream/ServerPropertiesHostLocatorTests.java b/spring-cloud-sleuth-stream/src/test/java/org/springframework/cloud/sleuth/stream/ServerPropertiesHostLocatorTests.java
index 6c3cc0ae9..b1d314824 100644
--- a/spring-cloud-sleuth-stream/src/test/java/org/springframework/cloud/sleuth/stream/ServerPropertiesHostLocatorTests.java
+++ b/spring-cloud-sleuth-stream/src/test/java/org/springframework/cloud/sleuth/stream/ServerPropertiesHostLocatorTests.java
@@ -16,10 +16,6 @@
package org.springframework.cloud.sleuth.stream;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.Collections;
-
import org.junit.Test;
import org.mockito.Mockito;
import org.springframework.boot.autoconfigure.web.ServerProperties;
@@ -27,14 +23,16 @@ import org.springframework.cloud.commons.util.InetUtils;
import org.springframework.cloud.commons.util.InetUtilsProperties;
import org.springframework.cloud.sleuth.Span;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
import static org.assertj.core.api.Assertions.assertThat;
public class ServerPropertiesHostLocatorTests {
public static final byte[] ADR1234 = { 1, 2, 3, 4 };
- Span span = new Span(1, 3, "http:name", 1L, Collections.emptyList(), 2L, true, true,
- "process");
+ Span span = Span.builder().begin(1).end(3).name("http:name").traceId(1L).spanId(2L).remote(true).exportable(true).processId("process").build();
@Test
public void portDefaultsTo8080() throws UnknownHostException {
diff --git a/spring-cloud-sleuth-stream/src/test/java/org/springframework/cloud/sleuth/stream/StreamSpanReporterTests.java b/spring-cloud-sleuth-stream/src/test/java/org/springframework/cloud/sleuth/stream/StreamSpanReporterTests.java
index c618eb017..bbe82940a 100644
--- a/spring-cloud-sleuth-stream/src/test/java/org/springframework/cloud/sleuth/stream/StreamSpanReporterTests.java
+++ b/spring-cloud-sleuth-stream/src/test/java/org/springframework/cloud/sleuth/stream/StreamSpanReporterTests.java
@@ -16,11 +16,6 @@
package org.springframework.cloud.sleuth.stream;
-import java.util.Collections;
-import java.util.Map;
-import java.util.concurrent.ArrayBlockingQueue;
-import java.util.concurrent.LinkedBlockingQueue;
-
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
@@ -29,6 +24,12 @@ import org.springframework.cloud.sleuth.SpanAdjuster;
import org.springframework.cloud.sleuth.metric.SpanMetricReporter;
import org.springframework.mock.env.MockEnvironment;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Map;
+import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.BDDMockito.then;
@@ -44,7 +45,8 @@ public class StreamSpanReporterTests {
@Before
public void setup() {
- this.reporter = new StreamSpanReporter(this.endpointLocator, this.spanMetricReporter, this.mockEnvironment);
+ this.reporter = new StreamSpanReporter(this.endpointLocator, this.spanMetricReporter,
+ this.mockEnvironment, new ArrayList<>());
}
@Test
@@ -79,7 +81,8 @@ public class StreamSpanReporterTests {
@Test
@SuppressWarnings("unchecked")
public void should_not_append_server_serviceid_when_span_has_rpc_event_and_there_is_no_environment() throws Exception {
- this.reporter = new StreamSpanReporter(this.endpointLocator, this.spanMetricReporter, null);
+ this.reporter = new StreamSpanReporter(this.endpointLocator, this.spanMetricReporter,
+ null, new ArrayList<>());
LinkedBlockingQueue queue = new LinkedBlockingQueue<>(1000);
this.reporter.setQueue(queue);
Span span = Span.builder().name("bar").exportable(true).build();
diff --git a/spring-cloud-sleuth-zipkin-stream/src/test/java/org/springframework/cloud/sleuth/zipkin/stream/ZipkinMessageListenerTests.java b/spring-cloud-sleuth-zipkin-stream/src/test/java/org/springframework/cloud/sleuth/zipkin/stream/ZipkinMessageListenerTests.java
index 31d94b3ec..d41eebfe1 100644
--- a/spring-cloud-sleuth-zipkin-stream/src/test/java/org/springframework/cloud/sleuth/zipkin/stream/ZipkinMessageListenerTests.java
+++ b/spring-cloud-sleuth-zipkin-stream/src/test/java/org/springframework/cloud/sleuth/zipkin/stream/ZipkinMessageListenerTests.java
@@ -16,7 +16,6 @@
package org.springframework.cloud.sleuth.zipkin.stream;
-import java.util.Collections;
import org.junit.Test;
import org.springframework.cloud.sleuth.Span;
import org.springframework.cloud.sleuth.stream.Host;
@@ -26,8 +25,8 @@ import zipkin.Endpoint;
import static org.assertj.core.api.Assertions.assertThat;
public class ZipkinMessageListenerTests {
- Span span = new Span(1, 3, "http:name", 1L, Collections.emptyList(), 2L, true, true,
- "process");
+ Span span = Span.builder().begin(1).end(3).name("http:name").traceId(1L).spanId(2L).remote(true)
+ .exportable(true).processId("process").build();
Host host = new Host("myservice", "1.2.3.4", 8080);
Endpoint endpoint = Endpoint.builder()
.serviceName("myservice")
@@ -54,8 +53,8 @@ public class ZipkinMessageListenerTests {
/** Sleuth timestamps are millisecond granularity while zipkin is microsecond. */
@Test
public void convertsTimestampAndDurationToMicroseconds() {
- Span span = new Span(1, 3, "http:name", 1L, Collections.emptyList(), 2L, false, true,
- "process");
+ Span span = Span.builder().begin(1).end(3).name("http:name").traceId(1L).spanId(2L).remote(false)
+ .exportable(true).processId("process").build();
long start = System.currentTimeMillis();
span.logEvent("hystrix/retry"); // System.currentTimeMillis
diff --git a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/DiscoveryClientEndpointLocator.java b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/DiscoveryClientEndpointLocator.java
index 0cd49850a..a09a96966 100644
--- a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/DiscoveryClientEndpointLocator.java
+++ b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/DiscoveryClientEndpointLocator.java
@@ -43,11 +43,6 @@ public class DiscoveryClientEndpointLocator implements EndpointLocator {
private final DiscoveryClient client;
private final ZipkinProperties zipkinProperties;
- @Deprecated
- public DiscoveryClientEndpointLocator(DiscoveryClient client) {
- this(client, new ZipkinProperties());
- }
-
public DiscoveryClientEndpointLocator(DiscoveryClient client,
ZipkinProperties zipkinProperties) {
this.client = client;
diff --git a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/ServerPropertiesEndpointLocator.java b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/ServerPropertiesEndpointLocator.java
index abc481d95..5f543095d 100644
--- a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/ServerPropertiesEndpointLocator.java
+++ b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/ServerPropertiesEndpointLocator.java
@@ -53,11 +53,6 @@ public class ServerPropertiesEndpointLocator implements EndpointLocator {
private final ZipkinProperties zipkinProperties;
private Integer port;
- @Deprecated
- public ServerPropertiesEndpointLocator(ServerProperties serverProperties,String appName) {
- this(serverProperties,appName,new ZipkinProperties(), null);
- }
-
public ServerPropertiesEndpointLocator(ServerProperties serverProperties,
String appName, ZipkinProperties zipkinProperties, InetUtils inetUtils) {
this.serverProperties = serverProperties;
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 a14722766..db8c630eb 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,13 @@
package org.springframework.cloud.sleuth.zipkin;
+import org.springframework.cloud.commons.util.IdUtils;
+import org.springframework.cloud.sleuth.Log;
+import org.springframework.cloud.sleuth.Span;
+import org.springframework.cloud.sleuth.SpanAdjuster;
+import org.springframework.cloud.sleuth.SpanReporter;
+import org.springframework.core.env.Environment;
+import org.springframework.util.StringUtils;
import zipkin.Annotation;
import zipkin.BinaryAnnotation;
import zipkin.Constants;
@@ -23,19 +30,9 @@ import zipkin.Endpoint;
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;
-import org.springframework.cloud.sleuth.Span;
-import org.springframework.cloud.sleuth.SpanAdjuster;
-import org.springframework.cloud.sleuth.SpanReporter;
-import org.springframework.core.env.Environment;
-import org.springframework.util.StringUtils;
-
/**
* Listener of Sleuth events. Reports to Zipkin via {@link ZipkinSpanReporter}.
*
@@ -65,17 +62,6 @@ public class ZipkinSpanListener implements SpanReporter {
// Visible for testing
EndpointLocator endpointLocator;
- @Deprecated
- public ZipkinSpanListener(ZipkinSpanReporter reporter, EndpointLocator endpointLocator) {
- this(reporter, endpointLocator, null);
- }
-
- @Deprecated
- public ZipkinSpanListener(ZipkinSpanReporter reporter, EndpointLocator endpointLocator,
- Environment environment) {
- this(reporter, endpointLocator, environment, Collections.singletonList(new NoOpSpanAdjuster()));
- }
-
public ZipkinSpanListener(ZipkinSpanReporter reporter, EndpointLocator endpointLocator,
Environment environment, List spanAdjusters) {
this.reporter = reporter;
diff --git a/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin/HttpZipkinSpanReporterTest.java b/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin/HttpZipkinSpanReporterTest.java
index 6bc6cd227..14d808fd9 100644
--- a/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin/HttpZipkinSpanReporterTest.java
+++ b/spring-cloud-sleuth-zipkin/src/test/java/org/springframework/cloud/sleuth/zipkin/HttpZipkinSpanReporterTest.java
@@ -1,8 +1,5 @@
package org.springframework.cloud.sleuth.zipkin;
-import java.util.Random;
-import java.util.concurrent.atomic.AtomicReference;
-
import org.junit.Rule;
import org.junit.Test;
import org.springframework.boot.autoconfigure.web.ServerProperties;
@@ -18,11 +15,14 @@ import org.springframework.cloud.sleuth.sampler.AlwaysSampler;
import org.springframework.cloud.sleuth.trace.DefaultTracer;
import org.springframework.cloud.sleuth.util.ExceptionUtils;
import org.springframework.web.client.RestTemplate;
-
import zipkin.Span;
import zipkin.junit.HttpFailure;
import zipkin.junit.ZipkinRule;
+import java.util.ArrayList;
+import java.util.Random;
+import java.util.concurrent.atomic.AtomicReference;
+
import static java.util.Arrays.asList;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.BDDAssertions.then;
@@ -131,7 +131,8 @@ public class HttpZipkinSpanReporterTest {
Tracer tracer = new DefaultTracer(new AlwaysSampler(), new Random(), new DefaultSpanNamer(),
new NoOpSpanLogger(), new ZipkinSpanListener(receivedSpan::set,
new ServerPropertiesEndpointLocator(new ServerProperties(), "foo",
- new ZipkinProperties(), new InetUtils(new InetUtilsProperties()))), new TraceKeys());
+ new ZipkinProperties(), new InetUtils(new InetUtilsProperties())),
+ null, new ArrayList<>()), new TraceKeys());
// tag::service_name[]
org.springframework.cloud.sleuth.Span newSpan = tracer.createSpan("redis");
try {
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 c14d60aad..a677b809d 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
@@ -284,7 +284,7 @@ public class ZipkinSpanListenerTests {
public void shouldNotAddAnyServiceIdTagWhenSpanContainsRpcEventAndThereIsNoEnvironment() {
this.parent.logEvent(Span.CLIENT_RECV);
ZipkinSpanListener spanListener = new ZipkinSpanListener(this.spanReporter,
- this.endpointLocator, null);
+ this.endpointLocator, null, new ArrayList<>());
zipkin.Span result = spanListener.convert(this.parent);