diff --git a/spring-cloud-sleuth-api/src/main/java/org/springframework/cloud/sleuth/exporter/FinishedSpan.java b/spring-cloud-sleuth-api/src/main/java/org/springframework/cloud/sleuth/exporter/FinishedSpan.java index 14063d155..73d4d121a 100644 --- a/spring-cloud-sleuth-api/src/main/java/org/springframework/cloud/sleuth/exporter/FinishedSpan.java +++ b/spring-cloud-sleuth-api/src/main/java/org/springframework/cloud/sleuth/exporter/FinishedSpan.java @@ -76,6 +76,12 @@ public interface FinishedSpan { @Nullable String getRemoteIp(); + /** + * @return span's local ip + */ + @Nullable + String getLocalIp(); + /** * @return span's remote port */ diff --git a/spring-cloud-sleuth-brave/src/main/java/org/springframework/cloud/sleuth/brave/bridge/BraveFinishedSpan.java b/spring-cloud-sleuth-brave/src/main/java/org/springframework/cloud/sleuth/brave/bridge/BraveFinishedSpan.java index 810cd5d57..e24700ae0 100644 --- a/spring-cloud-sleuth-brave/src/main/java/org/springframework/cloud/sleuth/brave/bridge/BraveFinishedSpan.java +++ b/spring-cloud-sleuth-brave/src/main/java/org/springframework/cloud/sleuth/brave/bridge/BraveFinishedSpan.java @@ -30,11 +30,11 @@ import org.springframework.cloud.sleuth.exporter.FinishedSpan; * @author Marcin Grzejszczak * @since 3.0.0 */ -class BraveFinishedSpan implements FinishedSpan { +public class BraveFinishedSpan implements FinishedSpan { private final MutableSpan mutableSpan; - BraveFinishedSpan(MutableSpan mutableSpan) { + public BraveFinishedSpan(MutableSpan mutableSpan) { this.mutableSpan = mutableSpan; } @@ -78,6 +78,11 @@ class BraveFinishedSpan implements FinishedSpan { return this.mutableSpan.remoteIp(); } + @Override + public String getLocalIp() { + return this.mutableSpan.localIp(); + } + @Override public int getRemotePort() { return this.mutableSpan.remotePort(); @@ -106,10 +111,14 @@ class BraveFinishedSpan implements FinishedSpan { return this.mutableSpan.remoteServiceName(); } - static FinishedSpan fromBrave(MutableSpan mutableSpan) { + public static FinishedSpan fromBrave(MutableSpan mutableSpan) { return new BraveFinishedSpan(mutableSpan); } + public static MutableSpan toBrave(FinishedSpan mutableSpan) { + return ((BraveFinishedSpan) mutableSpan).mutableSpan; + } + @Override public String toString() { return "BraveFinishedSpan{" + "mutableSpan=" + mutableSpan + '}'; 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 9684cef4a..f1d0d6fd9 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 @@ -27,11 +27,11 @@ import org.springframework.lang.Nullable; * @author Marcin Grzejszczak * @since 3.0.0 */ -class BraveTraceContext implements TraceContext { +public class BraveTraceContext implements TraceContext { final brave.propagation.TraceContext traceContext; - BraveTraceContext(brave.propagation.TraceContext traceContext) { + public BraveTraceContext(brave.propagation.TraceContext traceContext) { this.traceContext = traceContext; } @@ -61,14 +61,14 @@ class BraveTraceContext implements TraceContext { return this.traceContext != null ? this.traceContext.toString() : "null"; } - static brave.propagation.TraceContext toBrave(TraceContext traceContext) { + public static brave.propagation.TraceContext toBrave(TraceContext traceContext) { if (traceContext == null) { return null; } return ((BraveTraceContext) traceContext).traceContext; } - static TraceContext fromBrave(brave.propagation.TraceContext traceContext) { + public static TraceContext fromBrave(brave.propagation.TraceContext traceContext) { return new BraveTraceContext(traceContext); }