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 9fe501c2afeff74a446482d63c94ded33a048e96..c9cbd8df8d3e66908127411151cff30f45f42f3e 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 31e6fe6de0fc67b0d208b46f28facded4c5389d5..59e220cf236f571327671f0fc88df7e8179099c9 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) {