diff --git a/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/zipkin2/ZipkinAutoConfiguration.java b/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/zipkin2/ZipkinAutoConfiguration.java index 06420396f..a72aac33d 100644 --- a/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/zipkin2/ZipkinAutoConfiguration.java +++ b/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/zipkin2/ZipkinAutoConfiguration.java @@ -128,8 +128,8 @@ public class ZipkinAutoConfiguration { CheckResult checkResult = checkResult(zipkinExecutor, sender, 1_000L); logCheckResult(sender, checkResult); - // historical constraint. Note: AsyncReporter supports memory bounds - AsyncReporter asyncReporter = AsyncReporter.builder(sender).queuedMaxSpans(1000) + // Note: AsyncReporter supports memory bounds + AsyncReporter asyncReporter = AsyncReporter.builder(sender).queuedMaxSpans(zipkin.getQueuedMaxSpans()) .messageTimeout(zipkin.getMessageTimeout(), TimeUnit.SECONDS).metrics(reporterMetrics) .build(zipkin.getEncoder()); diff --git a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin2/ZipkinProperties.java b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin2/ZipkinProperties.java index 14d150819..a5472ddec 100644 --- a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin2/ZipkinProperties.java +++ b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin2/ZipkinProperties.java @@ -75,6 +75,11 @@ public class ZipkinProperties { private Locator locator = new Locator(); + /** + * Maximum backlog of spans reported vs sent. + */ + private int queuedMaxSpans = 1000; + public Locator getLocator() { return this.locator; } @@ -147,6 +152,14 @@ public class ZipkinProperties { this.encoder = encoder; } + public int getQueuedMaxSpans() { + return queuedMaxSpans; + } + + public void setQueuedMaxSpans(int queuedMaxSpans) { + this.queuedMaxSpans = queuedMaxSpans; + } + /** When enabled, spans are gzipped before sent to the zipkin server. */ public static class Compression {