From 9bd6c2e29bf0db613332eda634910e46d596a342 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Fri, 16 Apr 2021 12:20:34 +0200 Subject: [PATCH] Ensures that for decorate_hooks we add onLast instrumentation; fixes gh-1900 --- .../instrument/reactor/TraceReactorAutoConfiguration.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/instrument/reactor/TraceReactorAutoConfiguration.java b/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/instrument/reactor/TraceReactorAutoConfiguration.java index b7dd50fd1..a4bc41fa7 100644 --- a/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/instrument/reactor/TraceReactorAutoConfiguration.java +++ b/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/instrument/reactor/TraceReactorAutoConfiguration.java @@ -148,6 +148,7 @@ class HooksRefresher implements ApplicationListener log.trace("Adding queue wrapper instrumentation"); } HookRegisteringBeanDefinitionRegistryPostProcessor.addQueueWrapper(context); + Hooks.onLastOperator(SLEUTH_TRACE_REACTOR_KEY, ReactorSleuth.scopePassingSpanOperator(this.context)); Schedulers.onScheduleHook(TraceReactorAutoConfiguration.SLEUTH_REACTOR_EXECUTOR_SERVICE_KEY, ReactorSleuth.scopePassingOnScheduleHook(this.context)); } @@ -207,6 +208,7 @@ class HookRegisteringBeanDefinitionRegistryPostProcessor implements BeanDefiniti } if (property == SleuthReactorProperties.InstrumentationType.DECORATE_QUEUES) { addQueueWrapper(springContext); + decorateOnLast(ReactorSleuth.scopePassingSpanOperator(springContext)); decorateScheduler(springContext); } else {