From 8f5bcdabd7af23df443e771432eb85597f3b3076 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Mon, 13 Jan 2020 11:36:08 +0100 Subject: [PATCH] Improved WebClient parent-child relation; fixes gh-1516 --- .../web/client/TraceWebClientBeanPostProcessor.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientBeanPostProcessor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientBeanPostProcessor.java index f558fb57c..ba251de3b 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientBeanPostProcessor.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientBeanPostProcessor.java @@ -162,12 +162,15 @@ final class TraceExchangeFilterFunction implements ExchangeFilterFunction { if (log.isDebugEnabled()) { log.debug("Instrumenting WebClient call"); } + Span parentSpan = tracer().currentSpan(); Span span = handler().handleSend(wrapper); if (log.isDebugEnabled()) { log.debug("Handled send of " + span); } - - return new MonoWebClientTrace(next, wrapper.buildRequest(), this, span); + MonoWebClientTrace trace = new MonoWebClientTrace(next, wrapper.buildRequest(), + this, span); + tracer().withSpanInScope(parentSpan); + return trace; } @SuppressWarnings("unchecked")