diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java index eae55ac64..864d1d454 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java @@ -143,15 +143,6 @@ public class TraceFilter extends OncePerRequestFilter request.setAttribute(TRACE_REQUEST_ATTR, trace); } - // Send new trace id back to the caller - addToResponseIfNotPresent(response, Trace.TRACE_ID_NAME, - trace.getSpan().getTraceId()); - addToResponseIfNotPresent(response, Trace.SPAN_ID_NAME, - trace.getSpan().getSpanId()); - if (skip) { - addToResponseIfNotPresent(response, Trace.NOT_SAMPLED_NAME, ""); - } - try { addRequestAnnotations(request); @@ -163,6 +154,9 @@ public class TraceFilter extends OncePerRequestFilter // TODO: how to deal with response annotations and async? return; } + if (skip) { + addToResponseIfNotPresent(response, Trace.NOT_SAMPLED_NAME, ""); + } if (trace != null) { addResponseHeaders(response, trace.getSpan()); addResponseAnnotations(response);