From 8d86e19807521c50b333bca98bd938f43af9fcab Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Tue, 13 Apr 2021 08:57:45 +0200 Subject: [PATCH] Added remoteServiceName to Span interface; fixes gh-1901 --- .../java/org/springframework/cloud/sleuth/Span.java | 10 ++++++++++ .../cloud/sleuth/autoconfig/NoOpSpan.java | 5 +++++ .../cloud/sleuth/brave/bridge/BraveSpan.java | 6 ++++++ 3 files changed, 21 insertions(+) diff --git a/spring-cloud-sleuth-api/src/main/java/org/springframework/cloud/sleuth/Span.java b/spring-cloud-sleuth-api/src/main/java/org/springframework/cloud/sleuth/Span.java index 7f3e2ab8c..74373c54d 100644 --- a/spring-cloud-sleuth-api/src/main/java/org/springframework/cloud/sleuth/Span.java +++ b/spring-cloud-sleuth-api/src/main/java/org/springframework/cloud/sleuth/Span.java @@ -89,6 +89,16 @@ public interface Span extends SpanCustomizer { */ void abandon(); + /** + * Sets the remote service name for the span. + * @param remoteServiceName remote service name + * @return this span + * @since 3.0.3 + */ + default Span remoteServiceName(String remoteServiceName) { + return this; + } + /** * Type of span. Can be used to specify additional relationships between spans in * addition to a parent/child relationship. diff --git a/spring-cloud-sleuth-autoconfigure/src/test/java/org/springframework/cloud/sleuth/autoconfig/NoOpSpan.java b/spring-cloud-sleuth-autoconfigure/src/test/java/org/springframework/cloud/sleuth/autoconfig/NoOpSpan.java index 39f082734..e12d42b04 100644 --- a/spring-cloud-sleuth-autoconfigure/src/test/java/org/springframework/cloud/sleuth/autoconfig/NoOpSpan.java +++ b/spring-cloud-sleuth-autoconfigure/src/test/java/org/springframework/cloud/sleuth/autoconfig/NoOpSpan.java @@ -72,4 +72,9 @@ class NoOpSpan implements Span { } + @Override + public Span remoteServiceName(String remoteServiceName) { + return this; + } + } diff --git a/spring-cloud-sleuth-brave/src/main/java/org/springframework/cloud/sleuth/brave/bridge/BraveSpan.java b/spring-cloud-sleuth-brave/src/main/java/org/springframework/cloud/sleuth/brave/bridge/BraveSpan.java index 15b977be7..abf330535 100644 --- a/spring-cloud-sleuth-brave/src/main/java/org/springframework/cloud/sleuth/brave/bridge/BraveSpan.java +++ b/spring-cloud-sleuth-brave/src/main/java/org/springframework/cloud/sleuth/brave/bridge/BraveSpan.java @@ -86,6 +86,12 @@ public class BraveSpan implements Span { this.delegate.abandon(); } + @Override + public Span remoteServiceName(String remoteServiceName) { + this.delegate.remoteServiceName(remoteServiceName); + return this; + } + @Override public String toString() { return this.delegate != null ? this.delegate.toString() : "null";