From fe1dbabf448a85c604cdecbdc32f72ff70ef102d Mon Sep 17 00:00:00 2001 From: Adrian Cole Date: Mon, 20 Aug 2018 12:19:09 +0800 Subject: [PATCH 1/2] Bumps to latest Brave Introduces ScopeDecorator (not yet used here). Also, fixes a bug with scoped spans. --- pom.xml | 2 +- spring-cloud-sleuth-dependencies/pom.xml | 2 +- spring-cloud-sleuth-samples/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 263acb26b..ae3f853d0 100644 --- a/pom.xml +++ b/pom.xml @@ -273,7 +273,7 @@ Elmhurst.BUILD-SNAPSHOT 2.0.0.BUILD-SNAPSHOT 2.0.0.BUILD-SNAPSHOT - 5.1.4 + 5.2.0 2.0.0.RELEASE diff --git a/spring-cloud-sleuth-dependencies/pom.xml b/spring-cloud-sleuth-dependencies/pom.xml index 5aed6b3da..4701dd72c 100644 --- a/spring-cloud-sleuth-dependencies/pom.xml +++ b/spring-cloud-sleuth-dependencies/pom.xml @@ -30,7 +30,7 @@ spring-cloud-sleuth-dependencies Spring Cloud Sleuth Dependencies - 0.31.3 + 0.32.0 diff --git a/spring-cloud-sleuth-samples/pom.xml b/spring-cloud-sleuth-samples/pom.xml index a38adc92c..bdc8fc983 100644 --- a/spring-cloud-sleuth-samples/pom.xml +++ b/spring-cloud-sleuth-samples/pom.xml @@ -73,7 +73,7 @@ io.zipkin.zipkin2 zipkin - 2.10.4 + 2.11.2 From e2de25f02dccd16efd8a8d823f92b2bc69a03d76 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Wed, 22 Aug 2018 11:02:44 +0200 Subject: [PATCH 2/2] Adding order for TraceFilter; fixes gh-1020 --- .../src/main/asciidoc/spring-cloud-sleuth.adoc | 3 +++ .../instrument/web/SleuthWebProperties.java | 18 ++++++++++++++++++ .../web/TraceWebAutoConfiguration.java | 4 ++-- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/docs/src/main/asciidoc/spring-cloud-sleuth.adoc b/docs/src/main/asciidoc/spring-cloud-sleuth.adoc index 50a1d5064..4b59b7653 100644 --- a/docs/src/main/asciidoc/spring-cloud-sleuth.adoc +++ b/docs/src/main/asciidoc/spring-cloud-sleuth.adoc @@ -438,6 +438,9 @@ add to the Span a tag with key `custom` and a value `tag`. include::../../../..//spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterIntegrationTests.java[tags=response_headers,indent=0] ---- +To change the order of `TraceFilter` registration, please set the +`spring.sleuth.web.filter-order` property. + === Custom SA tag in Zipkin Sometimes you want to create a manual Span that will wrap a call to an external service which is not instrumented. diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/SleuthWebProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/SleuthWebProperties.java index 7d6065d9c..99f64b158 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/SleuthWebProperties.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/SleuthWebProperties.java @@ -25,6 +25,12 @@ public class SleuthWebProperties { */ private String skipPattern = DEFAULT_SKIP_PATTERN; + /** + * Order in which the {@link TraceFilter} should be registered. + * Defaults to {@link TraceFilter#ORDER} + */ + private int filterOrder = TraceFilter.ORDER; + private Client client; public boolean isEnabled() { @@ -43,6 +49,18 @@ public class SleuthWebProperties { this.skipPattern = skipPattern; } + public static String getDefaultSkipPattern() { + return DEFAULT_SKIP_PATTERN; + } + + public int getFilterOrder() { + return this.filterOrder; + } + + public void setFilterOrder(int filterOrder) { + this.filterOrder = filterOrder; + } + public Client getClient() { return this.client; } 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 554292326..f800d2d24 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 @@ -89,12 +89,12 @@ public class TraceWebAutoConfiguration { } @Bean - public FilterRegistrationBean traceWebFilter(TraceFilter traceFilter) { + public FilterRegistrationBean traceWebFilter(TraceFilter traceFilter, SleuthWebProperties sleuthWebProperties) { FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean( traceFilter); filterRegistrationBean.setDispatcherTypes(ASYNC, ERROR, FORWARD, INCLUDE, REQUEST); - filterRegistrationBean.setOrder(TraceFilter.ORDER); + filterRegistrationBean.setOrder(sleuthWebProperties.getFilterOrder()); return filterRegistrationBean; }