From 75148ee26ba1608deb953afbc7b556d56c6d4ad0 Mon Sep 17 00:00:00 2001 From: zhangxin10 Date: Wed, 11 Nov 2015 11:20:26 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E4=BF=AE=E6=94=B9SpanNode=E7=9A=84?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E5=8F=98=E9=87=8F=E5=90=8D=202.=20=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=97=A0=E7=94=A8=E6=96=B9=E6=B3=95=203.=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=96=B9=E6=B3=95=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/cloud/skywalking/context/Context.java | 54 +++---------------- 1 file changed, 8 insertions(+), 46 deletions(-) diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/context/Context.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/context/Context.java index df57e4e98..49b1e9a88 100644 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/context/Context.java +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/context/Context.java @@ -1,13 +1,8 @@ package com.ai.cloud.skywalking.context; import java.util.Stack; -import java.util.concurrent.atomic.AtomicInteger; -/** - */ public class Context { - - //private static ThreadLocal nodes = new ThreadLocal(); private static ThreadLocal nodes = new ThreadLocal(); private static Context context; @@ -34,49 +29,20 @@ public class Context { return context; } - static class SpanStack { - private Stack spans = new Stack(); - private AtomicInteger levelId = new AtomicInteger(); - - public Span pop() { - return spans.pop(); - } - - public void push(Span span) { - span.setLevelId(levelId.getAndDecrement()); - spans.push(span); - } - - public int size() { - return spans.size(); - } - - public Span peek() { - if (spans.isEmpty()) { - return null; - } - return spans.peek(); - } - - public boolean isEmpty() { - return spans.isEmpty(); - } - } - static class SpanNodeStack { private Stack spans = new Stack(); public Span pop() { Span span = spans.pop().getData(); if (!isEmpty()) { - spans.peek().getLevelId().incrementAndGet(); + spans.peek().incrementNextSubSpanLevelId(); } return span; } public void push(Span span) { if (!isEmpty()) { - spans.push(new SpanNode(span, spans.peek().getLevelId().get())); + spans.push(new SpanNode(span, spans.peek().getLevelId())); } else { spans.push(new SpanNode(span)); } @@ -97,11 +63,11 @@ public class Context { static class SpanNode { private Span data; - private AtomicInteger levelId = new AtomicInteger(); + private int nextSubSpanLevelId = 0; public SpanNode(Span data) { this.data = data; - this.data.setLevelId(levelId.get()); + this.data.setLevelId(nextSubSpanLevelId); } public SpanNode(Span data, int levelId) { @@ -113,16 +79,12 @@ public class Context { return data; } - public void setData(Span data) { - this.data = data; + public int getLevelId() { + return nextSubSpanLevelId; } - public AtomicInteger getLevelId() { - return levelId; - } - - public void setLevelId(AtomicInteger levelId) { - this.levelId = levelId; + public void incrementNextSubSpanLevelId() { + this.nextSubSpanLevelId++; } }