From 68f107c2b60fe45b36d1634ea1fdd2c5f985e18f Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Mon, 29 Jan 2018 11:09:17 +0100 Subject: [PATCH] Ensures that the span operator is applied only once; #770 --- .../instrument/reactor/TraceReactorAutoConfiguration.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/spring-cloud-sleuth-reactor/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/TraceReactorAutoConfiguration.java b/spring-cloud-sleuth-reactor/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/TraceReactorAutoConfiguration.java index afaa94075..e474acd08 100644 --- a/spring-cloud-sleuth-reactor/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/TraceReactorAutoConfiguration.java +++ b/spring-cloud-sleuth-reactor/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/TraceReactorAutoConfiguration.java @@ -38,13 +38,16 @@ public class TraceReactorAutoConfiguration { @Configuration @ConditionalOnBean(Tracer.class) static class TraceReactorConfiguration { + + private static final String SLEUTH_TRACE_REACTOR_KEY = TraceReactorConfiguration.class.getName(); + @Autowired Tracer tracer; @Autowired TraceKeys traceKeys; @Autowired SpanNamer spanNamer; @PostConstruct public void setupHooks() { - Hooks.onLastOperator(ReactorSleuth.spanOperator(this.tracer)); + Hooks.onLastOperator(SLEUTH_TRACE_REACTOR_KEY, ReactorSleuth.spanOperator(this.tracer)); Schedulers.setFactory(new Schedulers.Factory() { @Override public ScheduledExecutorService decorateExecutorService( String schedulerType,