From 0b77e8abdddd93718cbfbe8ccb94f693ac0cd542 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Mon, 7 Sep 2015 12:56:34 +0100 Subject: [PATCH] Ensure Feign is sending complete set of headers Otherwise the span name is null and the downstream services can't log the server annotations. Fixes gh-38 --- .../instrument/web/TraceWebAutoConfiguration.java | 2 +- .../web/client/TraceFeignClientAutoConfiguration.java | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAutoConfiguration.java index 4f579fa74..8807662e2 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAutoConfiguration.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAutoConfiguration.java @@ -64,7 +64,7 @@ public class TraceWebAutoConfiguration { @Bean @ConditionalOnMissingBean - public FilterRegistrationBean traceFilter(ApplicationEventPublisher publisher) { + public FilterRegistrationBean traceWebFilter(ApplicationEventPublisher publisher) { Pattern pattern = StringUtils.hasText(this.skipPattern) ? Pattern.compile(this.skipPattern) : TraceFilter.DEFAULT_SKIP_PATTERN; TraceFilter filter = new TraceFilter(this.trace, pattern); diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceFeignClientAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceFeignClientAutoConfiguration.java index 3c6a0aac7..9347b3daa 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceFeignClientAutoConfiguration.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceFeignClientAutoConfiguration.java @@ -17,10 +17,7 @@ package org.springframework.cloud.sleuth.instrument.web.client; import static java.util.Collections.singletonList; -import static org.springframework.cloud.sleuth.Trace.NOT_SAMPLED_NAME; -import static org.springframework.cloud.sleuth.Trace.PARENT_ID_NAME; -import static org.springframework.cloud.sleuth.Trace.SPAN_ID_NAME; -import static org.springframework.cloud.sleuth.Trace.TRACE_ID_NAME; +import static org.springframework.cloud.sleuth.Trace.*; import static org.springframework.cloud.sleuth.TraceContextHolder.getCurrentSpan; import static org.springframework.cloud.sleuth.TraceContextHolder.isTracing; @@ -97,10 +94,13 @@ public class TraceFeignClientAutoConfiguration { Span span = getCurrentSpan(); if (span != null) { template.header(TRACE_ID_NAME, span.getTraceId()); - setHeader(template, TRACE_ID_NAME, span.getTraceId()); + setHeader(template, SPAN_NAME_NAME, span.getName()); setHeader(template, SPAN_ID_NAME, span.getSpanId()); setHeader(template, PARENT_ID_NAME, getParentId(span)); + setHeader(template, PROCESS_ID_NAME, span.getProcessId()); publish(new ClientSentEvent(this, span)); + } else { + setHeader(template, NOT_SAMPLED_NAME, ""); } } };