From 020a9953011f6954ead2f517dfa7cfe52c0e3d86 Mon Sep 17 00:00:00 2001 From: Evan <31562192+EvanLjp@users.noreply.github.com> Date: Sat, 16 Jan 2021 15:40:48 +0800 Subject: [PATCH] change spanId toolkit api type (#6216) --- .../skywalking/apm/toolkit/trace/TraceContext.java | 7 ++++--- .../apm/agent/core/context/AbstractTracerContext.java | 2 +- .../apm/agent/core/context/ContextManager.java | 10 +++++----- .../apm/agent/core/context/IgnoredTracerContext.java | 4 ++-- .../apm/agent/core/context/TracingContext.java | 4 ++-- .../skywalking/apm/toolkit/trace/TraceContext.java | 7 ++++--- .../testcase/toolkit/controller/TestController.java | 4 +++- 7 files changed, 21 insertions(+), 17 deletions(-) diff --git a/apm-application-toolkit/apm-toolkit-trace/src/main/java/org/apache/skywalking/apm/toolkit/trace/TraceContext.java b/apm-application-toolkit/apm-toolkit-trace/src/main/java/org/apache/skywalking/apm/toolkit/trace/TraceContext.java index 9c1f41d59..dd191c16a 100644 --- a/apm-application-toolkit/apm-toolkit-trace/src/main/java/org/apache/skywalking/apm/toolkit/trace/TraceContext.java +++ b/apm-application-toolkit/apm-toolkit-trace/src/main/java/org/apache/skywalking/apm/toolkit/trace/TraceContext.java @@ -46,12 +46,13 @@ public class TraceContext { } /** - * Try to get the spanId of current trace context. + * Try to get the spanId of current trace context. The spanId is a negative number when the trace context is + * missing. * * @return spanId, if it exists, or empty {@link String}. */ - public static String spanId() { - return ""; + public static int spanId() { + return -1; } /** diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/AbstractTracerContext.java b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/AbstractTracerContext.java index 966418a67..da83f37c2 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/AbstractTracerContext.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/AbstractTracerContext.java @@ -74,7 +74,7 @@ public interface AbstractTracerContext { * * @return the string represents the id. */ - String getSpanId(); + int getSpanId(); /** * Create an entry span diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/ContextManager.java b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/ContextManager.java index eb32d90e0..2caaa0d31 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/ContextManager.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/ContextManager.java @@ -70,7 +70,7 @@ public class ContextManager implements BootService { } /** - * @return the first global trace id if needEnhance. Otherwise, "N/A". + * @return the first global trace id when tracing. Otherwise, "N/A". */ public static String getGlobalTraceId() { AbstractTracerContext context = CONTEXT.get(); @@ -78,7 +78,7 @@ public class ContextManager implements BootService { } /** - * @return the current segment id if needEnhance. Otherwise, "N/A". + * @return the current segment id when tracing. Otherwise, "N/A". */ public static String getSegmentId() { AbstractTracerContext context = CONTEXT.get(); @@ -86,11 +86,11 @@ public class ContextManager implements BootService { } /** - * @return the current span id if needEnhance. Otherwise, "N/A". + * @return the current span id when tracing. Otherwise, the value is -1. */ - public static String getSpanId() { + public static int getSpanId() { AbstractTracerContext context = CONTEXT.get(); - return Objects.nonNull(context) ? context.getSpanId() : EMPTY_TRACE_CONTEXT_ID; + return Objects.nonNull(context) ? context.getSpanId() : -1; } public static AbstractSpan createEntrySpan(String operationName, ContextCarrier carrier) { diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/IgnoredTracerContext.java b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/IgnoredTracerContext.java index 3f9531e77..c795014a1 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/IgnoredTracerContext.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/IgnoredTracerContext.java @@ -75,8 +75,8 @@ public class IgnoredTracerContext implements AbstractTracerContext { } @Override - public String getSpanId() { - return IGNORE_TRACE; + public int getSpanId() { + return -1; } @Override diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/TracingContext.java b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/TracingContext.java index 17733f847..b0c04f0de 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/TracingContext.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/TracingContext.java @@ -249,8 +249,8 @@ public class TracingContext implements AbstractTracerContext { } @Override - public String getSpanId() { - return String.valueOf(activeSpan().getSpanId()); + public int getSpanId() { + return activeSpan().getSpanId(); } /** diff --git a/test/plugin/scenarios/apm-toolkit-trace-scenario/src/main/java/org/apache/skywalking/apm/toolkit/trace/TraceContext.java b/test/plugin/scenarios/apm-toolkit-trace-scenario/src/main/java/org/apache/skywalking/apm/toolkit/trace/TraceContext.java index 9c1f41d59..dd191c16a 100644 --- a/test/plugin/scenarios/apm-toolkit-trace-scenario/src/main/java/org/apache/skywalking/apm/toolkit/trace/TraceContext.java +++ b/test/plugin/scenarios/apm-toolkit-trace-scenario/src/main/java/org/apache/skywalking/apm/toolkit/trace/TraceContext.java @@ -46,12 +46,13 @@ public class TraceContext { } /** - * Try to get the spanId of current trace context. + * Try to get the spanId of current trace context. The spanId is a negative number when the trace context is + * missing. * * @return spanId, if it exists, or empty {@link String}. */ - public static String spanId() { - return ""; + public static int spanId() { + return -1; } /** diff --git a/test/plugin/scenarios/apm-toolkit-trace-scenario/src/main/java/test/apache/skywalking/apm/testcase/toolkit/controller/TestController.java b/test/plugin/scenarios/apm-toolkit-trace-scenario/src/main/java/test/apache/skywalking/apm/testcase/toolkit/controller/TestController.java index baa8d1cde..1755eea08 100644 --- a/test/plugin/scenarios/apm-toolkit-trace-scenario/src/main/java/test/apache/skywalking/apm/testcase/toolkit/controller/TestController.java +++ b/test/plugin/scenarios/apm-toolkit-trace-scenario/src/main/java/test/apache/skywalking/apm/testcase/toolkit/controller/TestController.java @@ -61,7 +61,9 @@ public class TestController { TraceContext.putCorrelation(CORRELATION_CONTEXT_KEY, CORRELATION_CONTEXT_VALUE); ActiveSpan.tag("traceID", TraceContext.traceId()); ActiveSpan.tag("segmentID", TraceContext.segmentId()); - ActiveSpan.tag("spanID", TraceContext.spanId()); + if (TraceContext.spanId() > -1) { + ActiveSpan.tag("spanID", String.valueOf(TraceContext.spanId())); + } testService.asyncCallable(() -> { visit("http://localhost:8080/apm-toolkit-trace-scenario/case/asyncVisit/callable"); return true;