diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracingContext.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracingContext.java index c06ddd157..c35a6ae7a 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracingContext.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracingContext.java @@ -49,7 +49,7 @@ public class TracingContext implements AbstractTracerContext { @Override public String getGlobalTraceId() { - return null; + return segment.getRelatedGlobalTraces().get(0).get(); } @Override @@ -58,8 +58,12 @@ public class TracingContext implements AbstractTracerContext { } @Override - public AbstractSpan activeSpan() { - return null; + public AbstractTracingSpan activeSpan() { + AbstractTracingSpan span = peek(); + if (span == null) { + throw new IllegalStateException("No active span."); + } + return span; } @Override @@ -69,7 +73,8 @@ public class TracingContext implements AbstractTracerContext { @Override public void dispose() { - + this.segment = null; + this.activeSpanStack = null; } /**