From ea9553cef74b05cce487ca945dc28cf046d89232 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Tue, 15 Nov 2016 11:29:19 +0000 Subject: [PATCH] Ensure websockets 1xx response is not treated as an error --- .../cloud/sleuth/instrument/web/TraceFilter.java | 2 +- .../org/springframework/cloud/sleuth/trace/DefaultTracer.java | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) 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 96ed118a7..9380c1673 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 @@ -251,7 +251,7 @@ public class TraceFilter extends GenericFilterBean { return false; } HttpStatus httpStatus = HttpStatus.valueOf(response.getStatus()); - return httpStatus.is2xxSuccessful() || httpStatus.is3xxRedirection(); + return httpStatus.is1xxInformational() || httpStatus.is2xxSuccessful() || httpStatus.is3xxRedirection(); } private Span getSpanFromAttribute(HttpServletRequest request) { diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/trace/DefaultTracer.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/trace/DefaultTracer.java index 48e5a4b60..098cd93b1 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/trace/DefaultTracer.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/trace/DefaultTracer.java @@ -140,7 +140,9 @@ public class DefaultTracer implements Tracer { } SpanContextHolder.close(new SpanContextHolder.SpanFunction() { @Override public void apply(Span span) { - DefaultTracer.this.spanLogger.logStoppedSpan(savedSpan, span); + if (span!=null) { + DefaultTracer.this.spanLogger.logStoppedSpan(savedSpan, span); + } } }); }