From 942899b4339f65125ce5de4fb1584446f6b37df1 Mon Sep 17 00:00:00 2001 From: ascrutae Date: Tue, 6 Dec 2016 14:20:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- skywalking-sniffer/skywalking-agent/pom.xml | 1 + .../java/com/a/eye/skywalking/conf/Constants.java | 4 +--- .../java/com/a/eye/skywalking/model/ContextData.java | 12 +++++++----- .../main/java/com/a/eye/skywalking/model/Span.java | 5 ++++- .../com/a/eye/skywalking/util/ContextGenerator.java | 3 ++- 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/skywalking-sniffer/skywalking-agent/pom.xml b/skywalking-sniffer/skywalking-agent/pom.xml index c96971753..611871c3c 100644 --- a/skywalking-sniffer/skywalking-agent/pom.xml +++ b/skywalking-sniffer/skywalking-agent/pom.xml @@ -53,6 +53,7 @@ + ${artifactId} org.apache.maven.plugins diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/conf/Constants.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/conf/Constants.java index 98b352f6f..4fe66ee50 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/conf/Constants.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/conf/Constants.java @@ -6,7 +6,5 @@ public class Constants { */ public static int SDK_VERSION = 202016; - public static final String HEALTH_DATA_SPILT_PATTERN = "^~"; - - public static final String DATA_SPILT = "#&"; + public static final String CONTEXT_DATA_SEGMENT_SPILT_CHAR = "#&"; } diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/model/ContextData.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/model/ContextData.java index e0cefb1a9..03fd4e3ec 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/model/ContextData.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/model/ContextData.java @@ -4,6 +4,8 @@ package com.a.eye.skywalking.model; import com.a.eye.skywalking.api.Tracing; import com.a.eye.skywalking.network.grpc.TraceId; +import static com.a.eye.skywalking.conf.Constants.CONTEXT_DATA_SEGMENT_SPILT_CHAR; + public class ContextData { private TraceId traceId; private String parentLevel; @@ -29,12 +31,12 @@ public class ContextData { public ContextData(String contextDataStr) { // 反序列化参数 - String[] value = contextDataStr.split("-"); + String[] value = contextDataStr.split(CONTEXT_DATA_SEGMENT_SPILT_CHAR); if (value == null || value.length != 4) { throw new IllegalArgumentException("illegal context"); } String traceIdStr = value[0]; - String[] traceIdSegments = traceIdStr.split(","); + String[] traceIdSegments = traceIdStr.split("\\."); if(traceIdSegments == null || traceIdSegments.length != 6){ throw new IllegalArgumentException("illegal traceid in context"); } @@ -71,15 +73,15 @@ public class ContextData { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append(Tracing.formatTraceId(traceId)); - stringBuilder.append("-"); + stringBuilder.append(CONTEXT_DATA_SEGMENT_SPILT_CHAR); if (parentLevel == null || parentLevel.length() == 0) { stringBuilder.append(" "); } else { stringBuilder.append(parentLevel); } - stringBuilder.append("-"); + stringBuilder.append(CONTEXT_DATA_SEGMENT_SPILT_CHAR); stringBuilder.append(levelId); - stringBuilder.append("-"); + stringBuilder.append(CONTEXT_DATA_SEGMENT_SPILT_CHAR); stringBuilder.append(routeKey); return stringBuilder.toString(); } diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/model/Span.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/model/Span.java index 31de4ca47..2a7c6443f 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/model/Span.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/model/Span.java @@ -4,6 +4,7 @@ package com.a.eye.skywalking.model; import com.a.eye.skywalking.network.grpc.AckSpan; import com.a.eye.skywalking.network.grpc.RequestSpan; import com.a.eye.skywalking.network.grpc.TraceId; +import com.a.eye.skywalking.util.RoutingKeyGenerator; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -76,12 +77,14 @@ public class Span { this.parentLevel = ""; } - public Span(TraceId traceId, String parentLevel, int levelId, String applicationId, String userId) { + public Span(TraceId traceId, String parentLevel, int levelId, String applicationId, String userId, String viewPointId) { this.traceId = traceId; this.parentLevel = parentLevel; this.levelId = levelId; this.applicationId = applicationId; this.userId = userId; + this.viewPointId = viewPointId; + this.routeKey = RoutingKeyGenerator.generate(viewPointId); } public TraceId getTraceId() { diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/util/ContextGenerator.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/util/ContextGenerator.java index 7370f4fdc..2ff7ee4f8 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/util/ContextGenerator.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/util/ContextGenerator.java @@ -28,7 +28,8 @@ public final class ContextGenerator { public static Span generateSpanFromContextData(ContextData context, Identification id) { Span spanData = CurrentThreadSpanStack.peek(); if (context != null && context.getTraceId() != null && spanData == null) { - spanData = new Span(context.getTraceId(), context.getParentLevel(), context.getLevelId(), Config.SkyWalking.APPLICATION_CODE, Config.SkyWalking.USER_ID); + spanData = new Span(context.getTraceId(), context.getParentLevel(), context.getLevelId(), + Config.SkyWalking.APPLICATION_CODE, Config.SkyWalking.USER_ID, id.getViewPoint()); } else { spanData = getSpanFromThreadLocal(id); }