From a2a32a929648ce5f2a6b444538bd5fa484f689d0 Mon Sep 17 00:00:00 2001 From: ascrutae Date: Wed, 2 Mar 2016 14:38:37 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=88=A0=E9=99=A4=E4=B8=8D=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E5=BA=8F=E5=88=97=E5=8C=96=E7=9A=84=E5=AF=B9=E8=B1=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chainbuild/entity/TraceSpanNode.java | 25 ++++++++++++++++--- .../chainbuild/entity/TraceSpanTree.java | 3 ++- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/entity/TraceSpanNode.java b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/entity/TraceSpanNode.java index 32fca805a..d0c4430d3 100644 --- a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/entity/TraceSpanNode.java +++ b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/entity/TraceSpanNode.java @@ -5,38 +5,50 @@ import com.ai.cloud.skywalking.analysis.chainbuild.util.StringUtil; import com.ai.cloud.skywalking.analysis.chainbuild.util.TokenGenerator; import com.ai.cloud.skywalking.protocol.CallType; import com.ai.cloud.skywalking.protocol.Span; +import com.google.gson.annotations.Expose; import java.util.List; public class TraceSpanNode { + protected TraceSpanNode prev = null; + protected TraceSpanNode next = null; + protected TraceSpanNode parent = null; + protected TraceSpanNode sub = null; - + @Expose protected String prevNodeRefToken = null; - + @Expose protected String nextNodeRefToken = null; - + @Expose protected String parentNodeRefToken = null; - + @Expose protected String subNodeRefToken = null; + @Expose protected String nodeRefToken = null; + @Expose protected boolean visualNode = true; + @Expose protected String parentLevel; + @Expose protected int levelId; + @Expose protected String viewPointId = ""; + @Expose protected long cost = 0; + @Expose protected long callTimes = 0; /** @@ -45,30 +57,35 @@ public class TraceSpanNode { * 1:异常
* 异常判断原则:代码产生exception,并且此exception不在忽略列表中 */ + @Expose protected byte statusCode = 0; /** * 节点调用的错误堆栈
* 堆栈以JAVA的exception为主要判断依据 */ + @Expose protected String exceptionStack; /** * 节点类型描述
* 已字符串的形式描述
* 如:java,dubbo等 */ + @Expose protected String spanType = ""; /** * 节点调用过程中的业务字段
* 如:业务系统设置的订单号,SQL语句等 */ + @Expose protected String businessKey = ""; /** * 节点调用所在的系统逻辑名称
* 由授权文件指定 */ + @Expose protected String applicationId = ""; public TraceSpanNode(TraceSpanNode parent, TraceSpanNode sub, TraceSpanNode prev, TraceSpanNode next, Span span, List spanContainer) { diff --git a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/entity/TraceSpanTree.java b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/entity/TraceSpanTree.java index 9f0487586..78cc6474e 100644 --- a/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/entity/TraceSpanTree.java +++ b/skywalking-analysis/src/main/java/com/ai/cloud/skywalking/analysis/chainbuild/entity/TraceSpanTree.java @@ -6,6 +6,7 @@ import com.ai.cloud.skywalking.analysis.chainbuild.util.StringUtil; import com.ai.cloud.skywalking.analysis.chainbuild.util.TokenGenerator; import com.ai.cloud.skywalking.protocol.Span; import com.google.gson.Gson; +import com.google.gson.GsonBuilder; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.google.gson.reflect.TypeToken; @@ -151,7 +152,7 @@ public class TraceSpanTree implements Writable { public String serialize() throws TraceSpanTreeSerializeException { beforeSerialize(); - return new Gson().toJson(this); + return new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create().toJson(this); } @Override