From 6488d2206b91ec74b8093ef5137a36bae211d157 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Thu, 28 Jun 2018 11:33:49 +0200 Subject: [PATCH] Fixed not starting of span for @scheduled. fixes gh-1019 --- .../sleuth/instrument/scheduling/TraceSchedulingAspect.java | 2 +- .../sleuth/instrument/scheduling/TracingOnScheduledTests.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/TraceSchedulingAspect.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/TraceSchedulingAspect.java index a91b5bffd..de9250940 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/TraceSchedulingAspect.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/TraceSchedulingAspect.java @@ -62,7 +62,7 @@ public class TraceSchedulingAspect { } String spanName = SpanNameUtil.toLowerHyphen(pjp.getSignature().getName()); Span span = startOrContinueRenamedSpan(spanName); - try(Tracer.SpanInScope ws = this.tracer.withSpanInScope(span)) { + try(Tracer.SpanInScope ws = this.tracer.withSpanInScope(span.start())) { span.tag(CLASS_KEY, pjp.getTarget().getClass().getSimpleName()); span.tag(METHOD_KEY, pjp.getSignature().getName()); return pjp.proceed(); diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/scheduling/TracingOnScheduledTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/scheduling/TracingOnScheduledTests.java index 73516e45a..856645c08 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/scheduling/TracingOnScheduledTests.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/scheduling/TracingOnScheduledTests.java @@ -92,6 +92,7 @@ public class TracingOnScheduledTests { then(this.reporter.getSpans().get(0).tags()) .contains(new AbstractMap.SimpleEntry<>("class", "TestBeanWithScheduledMethod"), new AbstractMap.SimpleEntry<>("method", "scheduledMethod")); + then(this.reporter.getSpans().get(0).durationAsLong()).isGreaterThan(0L); } private void differentSpanHasBeenSetThan(final Span spanToCompare) {