diff --git a/skywalking-api/src/main/java/com/ai/cloud/skywalking/util/ContextGenerator.java b/skywalking-api/src/main/java/com/ai/cloud/skywalking/util/ContextGenerator.java index 050c5866f..904dfa633 100644 --- a/skywalking-api/src/main/java/com/ai/cloud/skywalking/util/ContextGenerator.java +++ b/skywalking-api/src/main/java/com/ai/cloud/skywalking/util/ContextGenerator.java @@ -34,9 +34,7 @@ public final class ContextGenerator { spanData = new Span(TraceIdGenerator.generate(), Config.SkyWalking.APPLICATION_ID); } else { // 如果不为空,则将当前的Context存放到上下文 - spanData = new Span(context.getTraceId(), Config.SkyWalking.APPLICATION_ID); - spanData.setParentLevel(context.getParentLevel()); - spanData.setLevelId(context.getLevelId()); + spanData = new Span(context.getTraceId(), context.getParentLevel(), context.getLevelId(), Config.SkyWalking.APPLICATION_ID); } initNewSpanData(spanData, id); diff --git a/skywalking-protocol/src/main/java/com/ai/cloud/skywalking/protocol/Span.java b/skywalking-protocol/src/main/java/com/ai/cloud/skywalking/protocol/Span.java index d9ddc47e8..4fd44a14f 100644 --- a/skywalking-protocol/src/main/java/com/ai/cloud/skywalking/protocol/Span.java +++ b/skywalking-protocol/src/main/java/com/ai/cloud/skywalking/protocol/Span.java @@ -18,6 +18,13 @@ public class Span extends SpanData { this.applicationId = applicationID; } + public Span(String traceId, String parentLevelId, int levelId, String applicationID) { + this.traceId = traceId; + this.applicationId = applicationID; + this.parentLevel = parentLevelId; + this.levelId = levelId; + } + public Span(String originData) { String[] fieldValues = originData.split(SPILT_REGEX); traceId = fieldValues[0].trim(); diff --git a/skywalking-protocol/src/main/java/com/ai/cloud/skywalking/protocol/SpanData.java b/skywalking-protocol/src/main/java/com/ai/cloud/skywalking/protocol/SpanData.java index 9244c1c79..b7721c147 100644 --- a/skywalking-protocol/src/main/java/com/ai/cloud/skywalking/protocol/SpanData.java +++ b/skywalking-protocol/src/main/java/com/ai/cloud/skywalking/protocol/SpanData.java @@ -10,19 +10,19 @@ public abstract class SpanData { protected String traceId; protected String parentLevel; - protected int levelId; - protected String viewPointId; - protected long startDate; - protected long cost; - protected String address; + protected int levelId = 0; + protected String viewPointId = ""; + protected long startDate = System.currentTimeMillis(); + protected long cost = 0L; + protected String address = ""; protected byte statusCode = 0; protected String exceptionStack; - protected char spanType; + protected char spanType = 'M'; protected boolean isReceiver = false; - protected String businessKey; - protected String processNo; - protected String applicationId; - protected String originData; + protected String businessKey = ""; + protected String processNo = ""; + protected String applicationId = ""; + protected String originData = ""; public String getTraceId() {