From 5badc1deabfa73ae8c7c26bfb009755eb4cc31a7 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Fri, 5 Nov 2021 12:06:45 +0100 Subject: [PATCH 1/6] Made tests less brittle --- .../sleuth/autoconfig/zipkin2/ZipkinAutoConfigurationTests.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/common/src/main/java/org/springframework/cloud/sleuth/autoconfig/zipkin2/ZipkinAutoConfigurationTests.java b/tests/common/src/main/java/org/springframework/cloud/sleuth/autoconfig/zipkin2/ZipkinAutoConfigurationTests.java index 3267a99b5..461ddf2df 100644 --- a/tests/common/src/main/java/org/springframework/cloud/sleuth/autoconfig/zipkin2/ZipkinAutoConfigurationTests.java +++ b/tests/common/src/main/java/org/springframework/cloud/sleuth/autoconfig/zipkin2/ZipkinAutoConfigurationTests.java @@ -125,6 +125,7 @@ public abstract class ZipkinAutoConfigurationTests { Awaitility.await().atMost(5, TimeUnit.SECONDS).untilAsserted(() -> { RecordedRequest request = this.server.takeRequest(1, TimeUnit.SECONDS); + then(request).isNotNull(); then(request.getPath()).isEqualTo("/api/v2/spans"); then(request.getBody().readUtf8()).contains("localEndpoint"); }); @@ -152,6 +153,7 @@ public abstract class ZipkinAutoConfigurationTests { Awaitility.await().atMost(5, TimeUnit.SECONDS).untilAsserted(() -> { RecordedRequest request = this.server.takeRequest(1, TimeUnit.SECONDS); + then(request).isNotNull(); then(request.getPath()).isEqualTo("/api/v1/spans"); then(request.getBody().readUtf8()).contains("binaryAnnotations"); }); From ec62931a27c009cce8a0e6ff43cc4790c62b1f63 Mon Sep 17 00:00:00 2001 From: Olga Maciaszek-Sharma Date: Fri, 5 Nov 2021 18:06:10 +0100 Subject: [PATCH 2/6] Make BraveKafkaStreamsAutoConfiguration public. (#2054) --- .../messaging/BraveKafkaStreamsAutoConfiguration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/brave/instrument/messaging/BraveKafkaStreamsAutoConfiguration.java b/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/brave/instrument/messaging/BraveKafkaStreamsAutoConfiguration.java index 4cd06d2e9..d60ec5b7c 100644 --- a/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/brave/instrument/messaging/BraveKafkaStreamsAutoConfiguration.java +++ b/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/brave/instrument/messaging/BraveKafkaStreamsAutoConfiguration.java @@ -46,7 +46,7 @@ import org.springframework.kafka.config.StreamsBuilderFactoryBean; @ConditionalOnBean(Tracing.class) @ConditionalOnProperty(value = "spring.sleuth.messaging.kafka.streams.enabled", matchIfMissing = true) @ConditionalOnClass({ KafkaStreams.class, KafkaTracing.class, StreamsBuilderFactoryBean.class }) -class BraveKafkaStreamsAutoConfiguration { +public class BraveKafkaStreamsAutoConfiguration { protected BraveKafkaStreamsAutoConfiguration() { } From f562809830aa62b3e6aaa8a0593a7dbc16e2f1c6 Mon Sep 17 00:00:00 2001 From: Olga MaciaszekSharma Date: Fri, 5 Nov 2021 19:03:59 +0100 Subject: [PATCH 3/6] Revert "Make BraveKafkaStreamsAutoConfiguration public. (#2054)" This reverts commit ec62931a27c009cce8a0e6ff43cc4790c62b1f63. --- .../messaging/BraveKafkaStreamsAutoConfiguration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/brave/instrument/messaging/BraveKafkaStreamsAutoConfiguration.java b/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/brave/instrument/messaging/BraveKafkaStreamsAutoConfiguration.java index d60ec5b7c..4cd06d2e9 100644 --- a/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/brave/instrument/messaging/BraveKafkaStreamsAutoConfiguration.java +++ b/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/brave/instrument/messaging/BraveKafkaStreamsAutoConfiguration.java @@ -46,7 +46,7 @@ import org.springframework.kafka.config.StreamsBuilderFactoryBean; @ConditionalOnBean(Tracing.class) @ConditionalOnProperty(value = "spring.sleuth.messaging.kafka.streams.enabled", matchIfMissing = true) @ConditionalOnClass({ KafkaStreams.class, KafkaTracing.class, StreamsBuilderFactoryBean.class }) -public class BraveKafkaStreamsAutoConfiguration { +class BraveKafkaStreamsAutoConfiguration { protected BraveKafkaStreamsAutoConfiguration() { } From f6e3208a1ad43015aed0c26d9fe547854ad93a70 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Mon, 8 Nov 2021 09:11:14 +0100 Subject: [PATCH 4/6] Update TestSpanHandler.java --- .../cloud/sleuth/test/TestSpanHandler.java | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/tests/common/src/main/java/org/springframework/cloud/sleuth/test/TestSpanHandler.java b/tests/common/src/main/java/org/springframework/cloud/sleuth/test/TestSpanHandler.java index d227a64aa..3326db1e1 100644 --- a/tests/common/src/main/java/org/springframework/cloud/sleuth/test/TestSpanHandler.java +++ b/tests/common/src/main/java/org/springframework/cloud/sleuth/test/TestSpanHandler.java @@ -1,3 +1,4 @@ + /* * Copyright 2013-2021 the original author or authors. * @@ -18,10 +19,13 @@ package org.springframework.cloud.sleuth.test; import java.util.List; import java.util.Queue; +import java.util.stream.Collectors; import org.springframework.cloud.sleuth.Span; import org.springframework.cloud.sleuth.exporter.FinishedSpan; +import static org.assertj.core.api.BDDAssertions.then; + public interface TestSpanHandler extends Iterable { List reportedSpans(); @@ -36,6 +40,30 @@ public interface TestSpanHandler extends Iterable { FinishedSpan get(int index); - void assertAllSpansWereFinishedOrAbandoned(Queue createdSpans); + default void assertAllSpansWereFinishedOrAbandoned(Queue createdSpans) { + List finishedSpans = reportedSpans(); + then(finishedSpans).as("There should be that many finished spans as many created ones") + .hasSize(createdSpans.size()); + // finished -> a,b,c ; created -> b,c,d => matchedFinished = b,c + List matchedFinishedSpans = finishedSpans.stream() + .filter(f -> createdSpans.stream().anyMatch(cs -> f.getSpanId().equals(cs.context().spanId()))) + .collect(Collectors.toList()); + // finished -> a,b,c ; created -> b,c,d => matchedCreated = b,c + List matchedCreatedSpans = createdSpans.stream() + .filter(cs -> finishedSpans.stream().anyMatch(f -> cs.context().spanId().equals(f.getSpanId()))) + .collect(Collectors.toList()); + // finished -> a,b,c ; created -> b,c,d => missingFinished = a + List missingFinishedSpans = finishedSpans.stream() + .filter(f -> matchedFinishedSpans.stream().noneMatch(m -> m.getSpanId().equals(f.getSpanId()))) + .collect(Collectors.toList()); + // finished -> a,b,c ; created -> b,c,d => missingCreated = d + List missingCreatedSpans = createdSpans.stream().filter( + f -> matchedCreatedSpans.stream().noneMatch(m -> m.context().spanId().equals(f.context().spanId()))) + .collect(Collectors.toList()); + if (!missingFinishedSpans.isEmpty() || !missingCreatedSpans.isEmpty()) { + throw new AssertionError("There were unmatched created spans " + missingCreatedSpans + + " and/or finished span " + missingFinishedSpans); + } + } } From 31f60a9fb8915fef35265f349f55afbda6b04ef5 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Mon, 8 Nov 2021 09:17:09 +0100 Subject: [PATCH 5/6] Fixed checkstyle --- .../org/springframework/cloud/sleuth/test/TestSpanHandler.java | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/common/src/main/java/org/springframework/cloud/sleuth/test/TestSpanHandler.java b/tests/common/src/main/java/org/springframework/cloud/sleuth/test/TestSpanHandler.java index 3326db1e1..28d466de2 100644 --- a/tests/common/src/main/java/org/springframework/cloud/sleuth/test/TestSpanHandler.java +++ b/tests/common/src/main/java/org/springframework/cloud/sleuth/test/TestSpanHandler.java @@ -1,4 +1,3 @@ - /* * Copyright 2013-2021 the original author or authors. * From 720e4373d1348b8888f33926b9c783a179e733f6 Mon Sep 17 00:00:00 2001 From: Jonatan Ivanov Date: Wed, 17 Nov 2021 11:45:04 -0800 Subject: [PATCH 6/6] fix typo in docs --- docs/src/main/asciidoc/documentation-overview.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/main/asciidoc/documentation-overview.adoc b/docs/src/main/asciidoc/documentation-overview.adoc index 9bae80a47..bfe67c012 100644 --- a/docs/src/main/asciidoc/documentation-overview.adoc +++ b/docs/src/main/asciidoc/documentation-overview.adoc @@ -51,7 +51,7 @@ Ready to actually start using {project-full-name}? <> * <> -* <> +* <> [[sleuth-documentation-features]] == Learning about {project-full-name} Features @@ -91,4 +91,4 @@ Finally, we have topics related to instrumentation integrations: <> | <> | <> | -<> \ No newline at end of file +<>