diff --git a/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceSegment.java b/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceSegment.java index 1abf1d840..5d9d81b15 100644 --- a/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceSegment.java +++ b/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceSegment.java @@ -93,9 +93,12 @@ public class TraceSegment { /** * Finish this {@link TraceSegment}. + * + * return this, for chaining */ - public void finish(){ + public TraceSegment finish(){ this.endTime = System.currentTimeMillis(); + return this; } public String getTraceSegmentId() { diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/context/TracerContext.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/context/TracerContext.java index 446b5211a..c34d69592 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/context/TracerContext.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/context/TracerContext.java @@ -78,13 +78,15 @@ public final class TracerContext { } if (activeSpanStack.isEmpty()) { - segment.finish(); this.finish(); } } + /** + * Finish this context, and notify all {@link TracerContextListener}s, managed by {@link ListenerManager} + */ private void finish() { - ListenerManager.notifyFinish(segment); + ListenerManager.notifyFinish(segment.finish()); } /**