diff --git a/benchmarks/pom.xml b/benchmarks/pom.xml index 75c420755..51ed90844 100644 --- a/benchmarks/pom.xml +++ b/benchmarks/pom.xml @@ -34,7 +34,7 @@ 1.8 1.8 2.2.0.BUILD-SNAPSHOT - 5.6.5 + 5.6.6 diff --git a/pom.xml b/pom.xml index 6d41afdd0..79c877587 100644 --- a/pom.xml +++ b/pom.xml @@ -259,7 +259,7 @@ 2.2.0.BUILD-SNAPSHOT 2.2.0.BUILD-SNAPSHOT - 5.6.5 + 5.6.6 2.1.3.RELEASE false diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/opentracing/BraveTracerTest.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/opentracing/BraveTracerTest.java index 06c348739..60d0306ac 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/opentracing/BraveTracerTest.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/opentracing/BraveTracerTest.java @@ -29,8 +29,7 @@ import brave.propagation.TraceContext; import brave.sampler.Sampler; import io.opentracing.Scope; import io.opentracing.propagation.Format; -import io.opentracing.propagation.TextMapExtractAdapter; -import io.opentracing.propagation.TextMapInjectAdapter; +import io.opentracing.propagation.TextMapAdapter; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -71,16 +70,12 @@ public class BraveTracerTest { @Autowired BraveTracer opentracing; - private static TraceContext getTraceContext(Scope scope) { - return ((BraveSpanContext) scope.span().context()).unwrap(); - } - @Test public void startWithOpenTracingAndFinishWithBrave() { - io.opentracing.Span openTracingSpan = this.opentracing.buildSpan("encode") + BraveSpan openTracingSpan = this.opentracing.buildSpan("encode") .withTag("lc", "codec").withStartTimestamp(1L).start(); - Span braveSpan = ((BraveSpan) openTracingSpan).unwrap(); + Span braveSpan = openTracingSpan.unwrap(); braveSpan.annotate(2L, "pump fake"); braveSpan.finish(3L); @@ -89,21 +84,21 @@ public class BraveTracerTest { } @Test - public void extractTraceContext() throws Exception { + public void extractTraceContext() { Map map = new LinkedHashMap<>(); map.put("X-B3-TraceId", "0000000000000001"); map.put("X-B3-SpanId", "0000000000000002"); map.put("X-B3-Sampled", "1"); - BraveSpanContext openTracingContext = (BraveSpanContext) this.opentracing - .extract(Format.Builtin.HTTP_HEADERS, new TextMapExtractAdapter(map)); + BraveSpanContext openTracingContext = this.opentracing + .extract(Format.Builtin.HTTP_HEADERS, new TextMapAdapter(map)); assertThat(openTracingContext.unwrap()).isEqualTo( TraceContext.newBuilder().traceId(1L).spanId(2L).sampled(true).build()); } @Test - public void extractBaggage() throws Exception { + public void extractBaggage() { Map map = new LinkedHashMap<>(); map.put("X-B3-TraceId", "0000000000000001"); map.put("X-B3-SpanId", "0000000000000002"); @@ -111,48 +106,48 @@ public class BraveTracerTest { map.put("baggage-country-code", "FO"); BraveSpanContext openTracingContext = this.opentracing - .extract(Format.Builtin.HTTP_HEADERS, new TextMapExtractAdapter(map)); + .extract(Format.Builtin.HTTP_HEADERS, new TextMapAdapter(map)); assertThat(openTracingContext.baggageItems()) .containsExactly(entry("country-code", "FO")); } @Test - public void extractTraceContextTextMap() throws Exception { + public void extractTraceContextTextMap() { Map map = new LinkedHashMap<>(); map.put("X-B3-TraceId", "0000000000000001"); map.put("X-B3-SpanId", "0000000000000002"); map.put("X-B3-Sampled", "1"); - BraveSpanContext openTracingContext = (BraveSpanContext) this.opentracing - .extract(Format.Builtin.TEXT_MAP, new TextMapExtractAdapter(map)); + BraveSpanContext openTracingContext = this.opentracing + .extract(Format.Builtin.TEXT_MAP, new TextMapAdapter(map)); assertThat(openTracingContext.unwrap()).isEqualTo( TraceContext.newBuilder().traceId(1L).spanId(2L).sampled(true).build()); } @Test - public void extractTraceContextCaseInsensitive() throws Exception { + public void extractTraceContextCaseInsensitive() { Map map = new LinkedHashMap<>(); map.put("X-B3-TraceId", "0000000000000001"); map.put("x-b3-spanid", "0000000000000002"); map.put("x-b3-SaMpLeD", "1"); map.put("other", "1"); - BraveSpanContext openTracingContext = (BraveSpanContext) this.opentracing - .extract(Format.Builtin.HTTP_HEADERS, new TextMapExtractAdapter(map)); + BraveSpanContext openTracingContext = this.opentracing + .extract(Format.Builtin.HTTP_HEADERS, new TextMapAdapter(map)); assertThat(openTracingContext.unwrap()).isEqualTo( TraceContext.newBuilder().traceId(1L).spanId(2L).sampled(true).build()); } @Test - public void injectTraceContext_baggage() throws Exception { + public void injectTraceContext_baggage() { BraveSpan span = this.opentracing.buildSpan("foo").start(); span.setBaggageItem("country-code", "FO"); Map map = new LinkedHashMap<>(); - TextMapInjectAdapter carrier = new TextMapInjectAdapter(map); + TextMapAdapter carrier = new TextMapAdapter(map); this.opentracing.inject(span.context(), Format.Builtin.HTTP_HEADERS, carrier); assertThat(map).containsEntry("baggage-country-code", "FO"); @@ -170,43 +165,20 @@ public class BraveTracerTest { } @Test - public void subsequentChildrenNestProperly_OTStyle() { - // this test is semantically identical to - // subsequentChildrenNestProperly_BraveStyle, but uses - // the OpenTracingAPI instead of the Brave API. + public void activate_nested() { + BraveSpan spanA = this.opentracing.buildSpan("spanA").start(); + BraveSpan spanB = this.opentracing.buildSpan("spanB").start(); - Long idOfSpanA; - Long shouldBeIdOfSpanA; - Long idOfSpanB; - Long shouldBeIdOfSpanB; - Long parentIdOfSpanB; - Long parentIdOfSpanC; + try (Scope scopeA = this.opentracing.scopeManager().activate(spanA)) { + try (Scope scopeB = this.opentracing.scopeManager().activate(spanB)) { + assertThat( + this.opentracing.scopeManager().activeSpan().context().unwrap()) + .isEqualTo(spanB.context().unwrap()); + } - try (Scope scopeA = this.opentracing.buildSpan("spanA").startActive(false)) { - idOfSpanA = getTraceContext(scopeA).spanId(); - try (Scope scopeB = this.opentracing.buildSpan("spanB").startActive(false)) { - idOfSpanB = getTraceContext(scopeB).spanId(); - parentIdOfSpanB = getTraceContext(scopeB).parentId(); - shouldBeIdOfSpanB = getTraceContext( - this.opentracing.scopeManager().active()).spanId(); - } - shouldBeIdOfSpanA = getTraceContext(this.opentracing.scopeManager().active()) - .spanId(); - try (Scope scopeC = this.opentracing.buildSpan("spanC").startActive(false)) { - parentIdOfSpanC = getTraceContext(scopeC).parentId(); - } + assertThat(opentracing.scopeManager().activeSpan().context().unwrap()) + .isEqualTo(spanA.context().unwrap()); } - - assertThat(shouldBeIdOfSpanA) - .as("SpanA should have been active again after closing B") - .isEqualTo(idOfSpanA); - assertThat(shouldBeIdOfSpanB) - .as("SpanB should have been active prior to its closure") - .isEqualTo(idOfSpanB); - assertThat(parentIdOfSpanB).as("SpanB's parent should be SpanA") - .isEqualTo(idOfSpanA); - assertThat(parentIdOfSpanC).as("SpanC's parent should be SpanA") - .isEqualTo(idOfSpanA); } @Test @@ -264,41 +236,24 @@ public class BraveTracerTest { .isEqualTo(idOfSpanA); } - @Test - public void implicitParentFromSpanManager_startActive() { - try (Scope scopeA = this.opentracing.buildSpan("spanA").startActive(true)) { - try (Scope scopeB = this.opentracing.buildSpan("spanA").startActive(true)) { - assertThat(getTraceContext(scopeB).parentId()) - .isEqualTo(getTraceContext(scopeA).spanId()); - } - } - } - @Test public void implicitParentFromSpanManager_start() { - try (Scope scopeA = this.opentracing.buildSpan("spanA").startActive(true)) { - BraveSpan span = this.opentracing.buildSpan("spanB").start(); - assertThat(span.unwrap().context().parentId()) - .isEqualTo(getTraceContext(scopeA).spanId()); - } - } - - @Test - public void implicitParentFromSpanManager_startActive_ignoreActiveSpan() { - try (Scope scopeA = this.opentracing.buildSpan("spanA").startActive(true)) { - try (Scope scopeB = this.opentracing.buildSpan("spanA").ignoreActiveSpan() - .startActive(true)) { - assertThat(getTraceContext(scopeB).parentId()).isNull(); // new trace - } + BraveSpan spanA = this.opentracing.buildSpan("spanA").start(); + try (Scope scopeA = this.opentracing.activateSpan(spanA)) { + BraveSpan spanB = this.opentracing.buildSpan("spanB").start(); + // OpenTracing doesn't expose parent ID, so we will check trace ID instead + assertThat(spanB.context().toTraceId()) + .isEqualTo(spanA.context().toTraceId()); } } @Test public void implicitParentFromSpanManager_start_ignoreActiveSpan() { - try (Scope scopeA = this.opentracing.buildSpan("spanA").startActive(true)) { - BraveSpan span = this.opentracing.buildSpan("spanB").ignoreActiveSpan() + BraveSpan spanA = this.opentracing.buildSpan("spanA").start(); + try (Scope scopeA = this.opentracing.activateSpan(spanA)) { + BraveSpan spanB = this.opentracing.buildSpan("spanB").ignoreActiveSpan() .start(); - assertThat(span.unwrap().context().parentId()).isNull(); // new trace + assertThat(spanB.unwrap().context().parentId()).isNull(); // new trace } } diff --git a/spring-cloud-sleuth-dependencies/pom.xml b/spring-cloud-sleuth-dependencies/pom.xml index d18e82939..8225e3308 100644 --- a/spring-cloud-sleuth-dependencies/pom.xml +++ b/spring-cloud-sleuth-dependencies/pom.xml @@ -31,7 +31,7 @@ spring-cloud-sleuth-dependencies Spring Cloud Sleuth Dependencies - 0.33.13 + 0.34.1 3.0.1