diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/HeaderBasedMessagingExtractor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/HeaderBasedMessagingExtractor.java index dc464b74a..1848fa0db 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/HeaderBasedMessagingExtractor.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/HeaderBasedMessagingExtractor.java @@ -15,6 +15,8 @@ import org.springframework.cloud.sleuth.util.TextMapUtil; */ public class HeaderBasedMessagingExtractor implements MessagingSpanTextMapExtractor { + private final Random random = new Random(); + @Override public Span joinTrace(SpanTextMap textMap) { Map carrier = TextMapUtil.asMap(textMap); @@ -37,7 +39,7 @@ public class HeaderBasedMessagingExtractor implements MessagingSpanTextMapExtrac private String generateTraceIdIfMissing(Map carrier, boolean traceIdMissing) { if (traceIdMissing) { - carrier.put(TraceMessageHeaders.TRACE_ID_NAME, Span.idToHex(new Random().nextLong())); + carrier.put(TraceMessageHeaders.TRACE_ID_NAME, Span.idToHex(this.random.nextLong())); } return carrier.get(TraceMessageHeaders.TRACE_ID_NAME); } diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/ZipkinHttpSpanExtractor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/ZipkinHttpSpanExtractor.java index 9881182b9..ef19978fc 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/ZipkinHttpSpanExtractor.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/ZipkinHttpSpanExtractor.java @@ -26,6 +26,7 @@ public class ZipkinHttpSpanExtractor implements HttpSpanExtractor { private static final String HTTP_COMPONENT = "http"; private final Pattern skipPattern; + private final Random random = new Random(); public ZipkinHttpSpanExtractor(Pattern skipPattern) { this.skipPattern = skipPattern; @@ -70,7 +71,7 @@ public class ZipkinHttpSpanExtractor implements HttpSpanExtractor { private void generateIdIfMissing(Map carrier, String key) { if (!carrier.containsKey(key)) { - carrier.put(key, Span.idToHex(new Random().nextLong())); + carrier.put(key, Span.idToHex(this.random.nextLong())); } }