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";