From 7d6dc495d4c6b780abbbb53d8c701698ebc2be39 Mon Sep 17 00:00:00 2001 From: wusheng Date: Fri, 17 Mar 2017 23:44:50 +0800 Subject: [PATCH 1/3] =?UTF-8?q?1.Move=20=E2=80=98application.conf=E2=80=99?= =?UTF-8?q?=20to=20collector-commons=20module.=202.Remove=20the=20unnecess?= =?UTF-8?q?ary=20contents=20in=E2=80=98application.conf=E2=80=99.=203.Remo?= =?UTF-8?q?ve=20ISerializable=20interface(useless)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serializer/TraceSegmentSerializer.java | 7 ++++- .../src/main/resources/application.conf | 10 ++----- .../skywalking/messages/ISerializable.java | 29 ------------------- .../com/a/eye/skywalking/trace/LogData.java | 5 +--- .../java/com/a/eye/skywalking/trace/Span.java | 5 +--- .../a/eye/skywalking/trace/TraceSegment.java | 5 +--- .../eye/skywalking/trace/TraceSegmentRef.java | 5 +--- skywalking-sniffer/skywalking-api/pom.xml | 5 ---- 8 files changed, 13 insertions(+), 58 deletions(-) rename skywalking-collector/{skywalking-collector-worker => skywalking-collector-commons}/src/main/resources/application.conf (71%) delete mode 100644 skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/messages/ISerializable.java diff --git a/skywalking-collector/skywalking-collector-commons/src/main/java/com/a/eye/skywalking/collector/commons/serializer/TraceSegmentSerializer.java b/skywalking-collector/skywalking-collector-commons/src/main/java/com/a/eye/skywalking/collector/commons/serializer/TraceSegmentSerializer.java index 511c90c6e..4ea94fb52 100644 --- a/skywalking-collector/skywalking-collector-commons/src/main/java/com/a/eye/skywalking/collector/commons/serializer/TraceSegmentSerializer.java +++ b/skywalking-collector/skywalking-collector-commons/src/main/java/com/a/eye/skywalking/collector/commons/serializer/TraceSegmentSerializer.java @@ -1,6 +1,9 @@ package com.a.eye.skywalking.collector.commons.serializer; import akka.serialization.JSerializer; +import com.a.eye.skywalking.collector.CollectorSystem; +import com.a.eye.skywalking.logging.ILog; +import com.a.eye.skywalking.logging.LogManager; import com.a.eye.skywalking.trace.TraceSegment; import com.a.eye.skywalking.trace.proto.SegmentMessage; import com.google.protobuf.InvalidProtocolBufferException; @@ -9,6 +12,8 @@ import com.google.protobuf.InvalidProtocolBufferException; * @author pengys5 */ public class TraceSegmentSerializer extends JSerializer { + private static ILog logger = LogManager.getLogger(CollectorSystem.class); + @Override public boolean includeManifest() { return false; @@ -31,7 +36,7 @@ public class TraceSegmentSerializer extends JSerializer { try { traceSegment = new TraceSegment(SegmentMessage.parseFrom(bytes)); } catch (InvalidProtocolBufferException e) { - e.printStackTrace(); + logger.warn("Can't covert message from byte[] to SegmentMessage"); } return traceSegment; } diff --git a/skywalking-collector/skywalking-collector-worker/src/main/resources/application.conf b/skywalking-collector/skywalking-collector-commons/src/main/resources/application.conf similarity index 71% rename from skywalking-collector/skywalking-collector-worker/src/main/resources/application.conf rename to skywalking-collector/skywalking-collector-commons/src/main/resources/application.conf index f347cb9c2..b61bc838c 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/resources/application.conf +++ b/skywalking-collector/skywalking-collector-commons/src/main/resources/application.conf @@ -5,19 +5,17 @@ akka { serializers { java = "akka.serialization.JavaSerializer" proto = "akka.remote.serialization.ProtobufSerializer" - data = "com.a.eye.skywalking.collector.worker.TraceSegmentSerializer" + TraceSegment = "com.a.eye.skywalking.collector.worker.TraceSegmentSerializer" json = "com.a.eye.skywalking.collector.commons.serializer.JsonSerializer" } serialization-bindings { "java.lang.String" = java "com.google.protobuf.Message" = proto - "com.a.eye.skywalking.messages.ISerializable" = data + "com.a.eye.skywalking.trace.TraceSegment" = TraceSegment "com.google.gson.JsonObject" = json - // "java.io.Serializable" = none } - // serialize-messages = on warn-about-java-serializer-usage = on } @@ -25,8 +23,6 @@ akka { log-remote-lifecycle-events = off netty.tcp { - hostname = "127.0.0.1" - port = 1000 } } @@ -34,4 +30,4 @@ akka { auto-down-unreachable-after = off metrics.enabled = off } -} \ No newline at end of file +} diff --git a/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/messages/ISerializable.java b/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/messages/ISerializable.java deleted file mode 100644 index 25896c30a..000000000 --- a/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/messages/ISerializable.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.a.eye.skywalking.messages; - -import com.a.eye.skywalking.trace.TraceSegment; - -/** - * All messages, which need to send between Akka actors, should implement this interface. - * The whole {@link TraceSegment} supports this. - * - * T should be a protobuf Object, which is generated by protoc. - * {@see /sky-walking/skywalking-commons/skywalking-trace/src/main/proto/trace.proto} - * - * {@see https://github.com/google/protobuf/tree/master/java} - * - * Created by wusheng on 2017/2/22. - */ -public interface ISerializable { - /** - * Serialize this object to T - * @return - */ - T serialize(); - - /** - * Initialize this object by the given message. - * - * @param message to init object. - */ - void deserialize(T message); -} diff --git a/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/LogData.java b/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/LogData.java index da6c2c3b5..d689947f9 100644 --- a/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/LogData.java +++ b/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/LogData.java @@ -1,7 +1,6 @@ package com.a.eye.skywalking.trace; import com.a.eye.skywalking.api.util.StringUtil; -import com.a.eye.skywalking.messages.ISerializable; import com.a.eye.skywalking.trace.proto.KeyValue; import com.a.eye.skywalking.trace.proto.LogDataMessage; import java.util.Collections; @@ -14,7 +13,7 @@ import java.util.Map; * * Created by wusheng on 2017/2/17. */ -public class LogData implements ISerializable { +public class LogData { private long time; private Map fields; @@ -38,7 +37,6 @@ public class LogData implements ISerializable { return Collections.unmodifiableMap(fields); } - @Override public LogDataMessage serialize() { LogDataMessage.Builder logDataBuilder = LogDataMessage.newBuilder(); logDataBuilder.setTime(time); @@ -59,7 +57,6 @@ public class LogData implements ISerializable { return logDataBuilder.build(); } - @Override public void deserialize(LogDataMessage message) { time = message.getTime(); List list = message.getFieldsList(); diff --git a/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/Span.java b/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/Span.java index 90c456965..e7a6f3b18 100644 --- a/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/Span.java +++ b/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/Span.java @@ -1,7 +1,6 @@ package com.a.eye.skywalking.trace; import com.a.eye.skywalking.api.util.StringUtil; -import com.a.eye.skywalking.messages.ISerializable; import com.a.eye.skywalking.trace.proto.KeyValue; import com.a.eye.skywalking.trace.proto.LogDataMessage; import com.a.eye.skywalking.trace.proto.SpanMessage; @@ -23,7 +22,7 @@ import java.util.Map; * * Created by wusheng on 2017/2/17. */ -public class Span implements ISerializable { +public class Span{ private int spanId; private int parentSpanId; @@ -266,7 +265,6 @@ public class Span implements ISerializable { return log(exceptionFields); } - @Override public SpanMessage serialize() { SpanMessage.Builder builder = SpanMessage.newBuilder(); builder.setSpanId(spanId); @@ -290,7 +288,6 @@ public class Span implements ISerializable { return builder.build(); } - @Override public void deserialize(SpanMessage message) { spanId = message.getSpanId(); parentSpanId = message.getParentSpanId(); 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 7860d3e76..a657d84c5 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 @@ -1,6 +1,5 @@ package com.a.eye.skywalking.trace; -import com.a.eye.skywalking.messages.ISerializable; import com.a.eye.skywalking.trace.TraceId.DistributedTraceId; import com.a.eye.skywalking.trace.TraceId.NewDistributedTraceId; import com.a.eye.skywalking.trace.TraceId.PropagatedTraceId; @@ -21,7 +20,7 @@ import java.util.List; * * Created by wusheng on 2017/2/17. */ -public class TraceSegment implements ISerializable { +public class TraceSegment { private static final String ID_TYPE = "Segment"; /** @@ -191,7 +190,6 @@ public class TraceSegment implements ISerializable { '}'; } - @Override public SegmentMessage serialize() { SegmentMessage.Builder segmentBuilder = SegmentMessage.newBuilder(); segmentBuilder.setTraceSegmentId(traceSegmentId); @@ -212,7 +210,6 @@ public class TraceSegment implements ISerializable { return segmentBuilder.build(); } - @Override public void deserialize(SegmentMessage message) { traceSegmentId = message.getTraceSegmentId(); startTime = message.getStartTime(); diff --git a/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceSegmentRef.java b/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceSegmentRef.java index 7330b583c..45c3bc5d7 100644 --- a/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceSegmentRef.java +++ b/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceSegmentRef.java @@ -1,6 +1,5 @@ package com.a.eye.skywalking.trace; -import com.a.eye.skywalking.messages.ISerializable; import com.a.eye.skywalking.trace.proto.SegmentRefMessage; import com.a.eye.skywalking.trace.tag.Tags; @@ -10,7 +9,7 @@ import com.a.eye.skywalking.trace.tag.Tags; * * Created by wusheng on 2017/2/17. */ -public class TraceSegmentRef implements ISerializable { +public class TraceSegmentRef{ /** * {@link TraceSegment#traceSegmentId} */ @@ -78,7 +77,6 @@ public class TraceSegmentRef implements ISerializable { '}'; } - @Override public SegmentRefMessage serialize() { SegmentRefMessage.Builder builder = SegmentRefMessage.newBuilder(); builder.setTraceSegmentId(traceSegmentId); @@ -90,7 +88,6 @@ public class TraceSegmentRef implements ISerializable { return builder.build(); } - @Override public void deserialize(SegmentRefMessage message) { traceSegmentId = message.getTraceSegmentId(); spanId = message.getSpanId(); diff --git a/skywalking-sniffer/skywalking-api/pom.xml b/skywalking-sniffer/skywalking-api/pom.xml index 5d503dd40..c8a4c72be 100644 --- a/skywalking-sniffer/skywalking-api/pom.xml +++ b/skywalking-sniffer/skywalking-api/pom.xml @@ -30,11 +30,6 @@ skywalking-logging-api ${project.version} - - com.a.eye - skywalking-collector-cluster - ${project.version} - com.a.eye skywalking-collector-commons From bca88fb1a1eb5a3ff0725a5cc85276d1687e58a8 Mon Sep 17 00:00:00 2001 From: wusheng Date: Sat, 18 Mar 2017 00:08:55 +0800 Subject: [PATCH 2/3] =?UTF-8?q?1.Remove=20two=20useless=20ClusterConfig.?= =?UTF-8?q?=202.Adjust=20ClusterConfig.class=20and=20its=20mapping=20prope?= =?UTF-8?q?rties=20file,=20=20rename=20to=20=E2=80=99seed=5Fnodes=E2=80=99?= =?UTF-8?q?=20.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../a/eye/skywalking/collector/CollectorSystem.java | 3 +-- .../skywalking/collector/cluster/ClusterConfig.java | 10 ++-------- .../collector/cluster/ClusterConfigInitializer.java | 4 ++-- .../commons/serializer/TraceSegmentSerializer.java | 3 +-- .../collector/worker/CollectorBootStartUp.java | 3 +-- .../src/main/resources/collector.config | 2 +- .../skywalking/collector/worker/StartUpTestCase.java | 6 ++---- 7 files changed, 10 insertions(+), 21 deletions(-) diff --git a/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/CollectorSystem.java b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/CollectorSystem.java index bc873f255..8218845fd 100644 --- a/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/CollectorSystem.java +++ b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/CollectorSystem.java @@ -41,8 +41,7 @@ public class CollectorSystem { final Config config = ConfigFactory.parseString("akka.remote.netty.tcp.hostname=" + ClusterConfig.Cluster.Current.hostname). withFallback(ConfigFactory.parseString("akka.remote.netty.tcp.port=" + ClusterConfig.Cluster.Current.port)). withFallback(ConfigFactory.parseString("akka.cluster.roles=" + ClusterConfig.Cluster.Current.roles)). - withFallback(ConfigFactory.parseString("akka.actor.provider=" + ClusterConfig.Cluster.provider)). - withFallback(ConfigFactory.parseString("akka.cluster.seed-nodes=" + ClusterConfig.Cluster.nodes)). + withFallback(ConfigFactory.parseString("akka.cluster.seed-nodes=" + ClusterConfig.Cluster.seed_nodes)). withFallback(ConfigFactory.load("application.conf")); ActorSystem akkaSystem = ActorSystem.create("ClusterSystem", config); diff --git a/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/cluster/ClusterConfig.java b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/cluster/ClusterConfig.java index 42c13016e..843cc9b2f 100644 --- a/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/cluster/ClusterConfig.java +++ b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/cluster/ClusterConfig.java @@ -1,15 +1,12 @@ package com.a.eye.skywalking.collector.cluster; -import akka.actor.ActorSystem; - /** * A static class contains some config values of cluster. * {@link Cluster.Current#hostname} is a ip address of server which start this process. * {@link Cluster.Current#port} is a port of server use to bind * {@link Cluster.Current#roles} is a roles of workers that use to create workers which * has those role in this process. - * {@link Cluster#nodes} is a nodes which cluster have. - * {@link Cluster#appname} is a name of {@link ActorSystem} in cluster. + * {@link Cluster#seed_nodes} is a seed_nodes which cluster have. * * @author pengys5 */ @@ -22,9 +19,6 @@ public class ClusterConfig { public static String roles = ""; } - public static String nodes = "127.0.0.1:2551"; - - public static final String appname = "CollectorSystem"; - public static final String provider = "akka.cluster.ClusterActorRefProvider"; + public static String seed_nodes = "127.0.0.1:2551"; } } diff --git a/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/cluster/ClusterConfigInitializer.java b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/cluster/ClusterConfigInitializer.java index f16ad7d86..11ff2b5d2 100644 --- a/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/cluster/ClusterConfigInitializer.java +++ b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/cluster/ClusterConfigInitializer.java @@ -53,8 +53,8 @@ public class ClusterConfigInitializer { if (!StringUtil.isEmpty(System.getProperty("cluster.current.roles"))) { ClusterConfig.Cluster.Current.roles = System.getProperty("cluster.current.roles"); } - if (!StringUtil.isEmpty(System.getProperty("cluster.nodes"))) { - ClusterConfig.Cluster.nodes = System.getProperty("cluster.nodes"); + if (!StringUtil.isEmpty(System.getProperty("cluster.seed_nodes"))) { + ClusterConfig.Cluster.seed_nodes = System.getProperty("cluster.seed_nodes"); } } } diff --git a/skywalking-collector/skywalking-collector-commons/src/main/java/com/a/eye/skywalking/collector/commons/serializer/TraceSegmentSerializer.java b/skywalking-collector/skywalking-collector-commons/src/main/java/com/a/eye/skywalking/collector/commons/serializer/TraceSegmentSerializer.java index 4ea94fb52..04712504a 100644 --- a/skywalking-collector/skywalking-collector-commons/src/main/java/com/a/eye/skywalking/collector/commons/serializer/TraceSegmentSerializer.java +++ b/skywalking-collector/skywalking-collector-commons/src/main/java/com/a/eye/skywalking/collector/commons/serializer/TraceSegmentSerializer.java @@ -1,7 +1,6 @@ package com.a.eye.skywalking.collector.commons.serializer; import akka.serialization.JSerializer; -import com.a.eye.skywalking.collector.CollectorSystem; import com.a.eye.skywalking.logging.ILog; import com.a.eye.skywalking.logging.LogManager; import com.a.eye.skywalking.trace.TraceSegment; @@ -12,7 +11,7 @@ import com.google.protobuf.InvalidProtocolBufferException; * @author pengys5 */ public class TraceSegmentSerializer extends JSerializer { - private static ILog logger = LogManager.getLogger(CollectorSystem.class); + private static ILog logger = LogManager.getLogger(TraceSegmentSerializer.class); @Override public boolean includeManifest() { diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/CollectorBootStartUp.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/CollectorBootStartUp.java index c5b422892..08eb5e47b 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/CollectorBootStartUp.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/CollectorBootStartUp.java @@ -26,8 +26,7 @@ public class CollectorBootStartUp { final Config config = ConfigFactory.parseString("akka.remote.netty.tcp.hostname=" + ClusterConfig.Cluster.Current.hostname). withFallback(ConfigFactory.parseString("akka.remote.netty.tcp.port=" + ClusterConfig.Cluster.Current.port)). withFallback(ConfigFactory.parseString("akka.cluster.roles=" + ClusterConfig.Cluster.Current.roles)). - withFallback(ConfigFactory.parseString("akka.actor.provider=" + ClusterConfig.Cluster.provider)). - withFallback(ConfigFactory.parseString("akka.cluster.seed-nodes=" + ClusterConfig.Cluster.nodes)). + withFallback(ConfigFactory.parseString("akka.cluster.seed-nodes=" + ClusterConfig.Cluster.seed_nodes)). withFallback(ConfigFactory.load("application.conf")); // ActorSystem system = ActorSystem.create(ClusterConfig.Cluster.appname, config); diff --git a/skywalking-collector/skywalking-collector-worker/src/main/resources/collector.config b/skywalking-collector/skywalking-collector-worker/src/main/resources/collector.config index 901420e88..459b5d9bd 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/resources/collector.config +++ b/skywalking-collector/skywalking-collector-worker/src/main/resources/collector.config @@ -1,4 +1,4 @@ cluster.current.hostname=127.0.0.1 cluster.current.port=1000 cluster.current.roles=[WorkersListener, TraceSegmentReceiver, NodeInstancePersistence] -cluster.nodes=["akka.tcp://CollectorSystem@127.0.0.1:1000", "akka.tcp://CollectorSystem@127.0.0.1:1001", "akka.tcp://CollectorSystem@127.0.0.1:1002"] \ No newline at end of file +cluster.seed_nodes=["akka.tcp://CollectorSystem@127.0.0.1:1000", "akka.tcp://CollectorSystem@127.0.0.1:1001", "akka.tcp://CollectorSystem@127.0.0.1:1002"] diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/StartUpTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/StartUpTestCase.java index 6aa78f085..53548da5e 100644 --- a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/StartUpTestCase.java +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/StartUpTestCase.java @@ -28,11 +28,9 @@ public class StartUpTestCase { final Config config = ConfigFactory.parseString("akka.remote.netty.tcp.hostname=" + ClusterConfig.Cluster.Current.hostname). withFallback(ConfigFactory.parseString("akka.remote.netty.tcp.port=" + ClusterConfig.Cluster.Current.port)). withFallback(ConfigFactory.parseString("akka.cluster.roles=" + ClusterConfig.Cluster.Current.roles)). - withFallback(ConfigFactory.parseString("akka.actor.provider=" + ClusterConfig.Cluster.provider)). - withFallback(ConfigFactory.parseString("akka.cluster.seed-nodes=" + ClusterConfig.Cluster.nodes)). + withFallback(ConfigFactory.parseString("akka.cluster.seed-nodes=" + ClusterConfig.Cluster.seed_nodes)). withFallback(ConfigFactory.load("application.conf")); - ActorSystem system = ActorSystem.create(ClusterConfig.Cluster.appname, config); -// WorkersCreator.INSTANCE.boot(system); + ActorSystem system = ActorSystem.create("CollectorSystem", config); EsClient.boot(); From cd87d0d7cc02d09a36c30430170b92a71ba8a079 Mon Sep 17 00:00:00 2001 From: wusheng Date: Sat, 18 Mar 2017 09:54:13 +0800 Subject: [PATCH 3/3] Add equals methods for DistributedTraceId and TraceSegmentRef. Avoid duplication in TraceSegment, based on LinkedList.contains(). --- .../trace/TraceId/DistributedTraceId.java | 17 +++++++++++++++++ .../a/eye/skywalking/trace/TraceSegmentRef.java | 8 +------- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceId/DistributedTraceId.java b/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceId/DistributedTraceId.java index d1988a9ce..b64cffaea 100644 --- a/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceId/DistributedTraceId.java +++ b/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceId/DistributedTraceId.java @@ -23,4 +23,21 @@ public abstract class DistributedTraceId { public String get() { return id; } + + @Override + public boolean equals(Object o) { + if (this == o) + return true; + if (o == null || getClass() != o.getClass()) + return false; + + DistributedTraceId id1 = (DistributedTraceId)o; + + return id != null ? id.equals(id1.id) : id1.id == null; + } + + @Override + public int hashCode() { + return id != null ? id.hashCode() : 0; + } } diff --git a/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceSegmentRef.java b/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceSegmentRef.java index 45c3bc5d7..6a926f6d5 100644 --- a/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceSegmentRef.java +++ b/skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceSegmentRef.java @@ -104,21 +104,15 @@ public class TraceSegmentRef{ TraceSegmentRef ref = (TraceSegmentRef)o; - if (spanId != ref.spanId) - return false; if (traceSegmentId != null ? !traceSegmentId.equals(ref.traceSegmentId) : ref.traceSegmentId != null) return false; - if (applicationCode != null ? !applicationCode.equals(ref.applicationCode) : ref.applicationCode != null) - return false; - return peerHost != null ? peerHost.equals(ref.peerHost) : ref.peerHost == null; + return applicationCode != null ? applicationCode.equals(ref.applicationCode) : ref.applicationCode == null; } @Override public int hashCode() { int result = traceSegmentId != null ? traceSegmentId.hashCode() : 0; - result = 31 * result + spanId; result = 31 * result + (applicationCode != null ? applicationCode.hashCode() : 0); - result = 31 * result + (peerHost != null ? peerHost.hashCode() : 0); return result; } }