diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/context/ContextManager.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/context/ContextManager.java index 9fe501c2a..c9cbd8df8 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/context/ContextManager.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/context/ContextManager.java @@ -53,6 +53,18 @@ public enum ContextManager implements TracerContextListener { get().extract(carrier); } + /** + * @return the {@link TraceSegment#traceSegmentId} if exist. Otherwise, "N/A". + */ + public String getTraceSegmentId(){ + TracerContext segment = CONTEXT.get(); + if(segment == null){ + return "N/A"; + }else{ + return segment.getTraceSegmentId(); + } + } + public Span createSpan(String operationName) { return get().createSpan(operationName); } diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/context/TracerContext.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/context/TracerContext.java index 31e6fe6de..59e220cf2 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/context/TracerContext.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/context/TracerContext.java @@ -88,6 +88,13 @@ public final class TracerContext { stopSpan(span, System.currentTimeMillis()); } + /** + * @return the current trace segment id. + */ + String getTraceSegmentId(){ + return segment.getTraceSegmentId(); + } + public void stopSpan(Span span, Long endTime){ Span lastSpan = peek(); if (lastSpan == span) {