From d547386cb51cabdf114d6179fa7844402018b455 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Thu, 10 Dec 2020 10:19:40 +0100 Subject: [PATCH] Expose isSampled on TraceContext; fixes gh-1799 --- .../java/org/springframework/cloud/sleuth/TraceContext.java | 5 +++++ .../cloud/sleuth/autoconfig/NoOpTraceContext.java | 5 +++++ .../cloud/sleuth/brave/bridge/BraveTraceContext.java | 5 +++++ .../cloud/sleuth/otel/bridge/OtelTraceContext.java | 5 +++++ 4 files changed, 20 insertions(+) diff --git a/spring-cloud-sleuth-api/src/main/java/org/springframework/cloud/sleuth/TraceContext.java b/spring-cloud-sleuth-api/src/main/java/org/springframework/cloud/sleuth/TraceContext.java index b4085c96b..788d73f78 100644 --- a/spring-cloud-sleuth-api/src/main/java/org/springframework/cloud/sleuth/TraceContext.java +++ b/spring-cloud-sleuth-api/src/main/java/org/springframework/cloud/sleuth/TraceContext.java @@ -45,4 +45,9 @@ public interface TraceContext { */ String spanId(); + /** + * @return {@code true} when sampled + */ + boolean isSampled(); + } diff --git a/spring-cloud-sleuth-autoconfigure/src/test/java/org/springframework/cloud/sleuth/autoconfig/NoOpTraceContext.java b/spring-cloud-sleuth-autoconfigure/src/test/java/org/springframework/cloud/sleuth/autoconfig/NoOpTraceContext.java index 5f4ad74df..d52136e44 100644 --- a/spring-cloud-sleuth-autoconfigure/src/test/java/org/springframework/cloud/sleuth/autoconfig/NoOpTraceContext.java +++ b/spring-cloud-sleuth-autoconfigure/src/test/java/org/springframework/cloud/sleuth/autoconfig/NoOpTraceContext.java @@ -41,4 +41,9 @@ class NoOpTraceContext implements TraceContext { return ""; } + @Override + public boolean isSampled() { + return false; + } + } diff --git a/spring-cloud-sleuth-brave/src/main/java/org/springframework/cloud/sleuth/brave/bridge/BraveTraceContext.java b/spring-cloud-sleuth-brave/src/main/java/org/springframework/cloud/sleuth/brave/bridge/BraveTraceContext.java index 13a3f18f4..41878fdfe 100644 --- a/spring-cloud-sleuth-brave/src/main/java/org/springframework/cloud/sleuth/brave/bridge/BraveTraceContext.java +++ b/spring-cloud-sleuth-brave/src/main/java/org/springframework/cloud/sleuth/brave/bridge/BraveTraceContext.java @@ -51,6 +51,11 @@ class BraveTraceContext implements TraceContext { return this.traceContext.spanIdString(); } + @Override + public boolean isSampled() { + return this.traceContext.sampled(); + } + @Override public String toString() { return this.traceContext != null ? this.traceContext.toString() : "null"; diff --git a/spring-cloud-sleuth-otel/src/main/java/org/springframework/cloud/sleuth/otel/bridge/OtelTraceContext.java b/spring-cloud-sleuth-otel/src/main/java/org/springframework/cloud/sleuth/otel/bridge/OtelTraceContext.java index db18060db..4abf6152c 100644 --- a/spring-cloud-sleuth-otel/src/main/java/org/springframework/cloud/sleuth/otel/bridge/OtelTraceContext.java +++ b/spring-cloud-sleuth-otel/src/main/java/org/springframework/cloud/sleuth/otel/bridge/OtelTraceContext.java @@ -99,6 +99,11 @@ class OtelTraceContext implements TraceContext { return this.delegate.getSpanIdAsHexString(); } + @Override + public boolean isSampled() { + return this.delegate.isSampled(); + } + @Override public String toString() { return this.delegate != null ? this.delegate.toString() : "null";