From bc59fcc862807e29f2acd93eec0d69c98aa266ac Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Mon, 29 Jan 2018 13:09:20 +0100 Subject: [PATCH] Fixed not starting Hystrix span --- .../cloud/sleuth/instrument/hystrix/TraceCommand.java | 2 +- .../cloud/sleuth/instrument/hystrix/TraceCommandTests.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/hystrix/TraceCommand.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/hystrix/TraceCommand.java index 3c1dfcc97..ee91382bc 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/hystrix/TraceCommand.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/hystrix/TraceCommand.java @@ -55,7 +55,7 @@ public abstract class TraceCommand extends HystrixCommand { this.traceKeys.getHystrix().getCommandGroup(), getCommandGroup().name()); span.tag(this.traceKeys.getHystrix().getPrefix() + this.traceKeys.getHystrix().getThreadPoolKey(), getThreadPoolKey().name()); - try (Tracer.SpanInScope ws = this.tracer.withSpanInScope(span)) { + try (Tracer.SpanInScope ws = this.tracer.withSpanInScope(span.start())) { return doRun(); } finally { 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 4e0dcce6d..0bd35a440 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 @@ -70,6 +70,8 @@ public class TraceCommandTests { then(this.reporter.getSpans()).hasSize(1); then(this.reporter.getSpans().get(0).tags()) .containsEntry("commandKey", "traceCommandKey"); + then(this.reporter.getSpans().get(0).duration()) + .isGreaterThan(0L); } @Test