diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/TraceCallable.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/TraceCallable.java index ddf6060c0..fc4efceed 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/TraceCallable.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/TraceCallable.java @@ -48,7 +48,7 @@ public class TraceCallable extends TraceDelegate> implements Call return this.getDelegate().call(); } finally { - closeAll(span); + close(span); } } diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/TraceDelegate.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/TraceDelegate.java index 026748013..76e60bb32 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/TraceDelegate.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/TraceDelegate.java @@ -48,10 +48,6 @@ public abstract class TraceDelegate { this.tracer.close(span); } - protected void closeAll(Span span) { - span = this.tracer.close(span); - } - protected Span startSpan() { return this.tracer.joinTrace(getSpanName(), this.parent); } diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/TraceRunnable.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/TraceRunnable.java index 3582aa95b..e40e5dda1 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/TraceRunnable.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/TraceRunnable.java @@ -45,7 +45,7 @@ public class TraceRunnable extends TraceDelegate implements Runnable { this.getDelegate().run(); } finally { - closeAll(span); + close(span); } } } 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 8210a64ec..ec8a21218 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 @@ -134,7 +134,7 @@ public class DefaultTracer implements Tracer { return span; } else { - if (SpanContextHolder.getCurrentSpan() == null) { + if (!isTracing()) { SpanContextHolder.push(parent, true); } Span span = Span.builder().begin(System.currentTimeMillis()).name(name)