Commit 4dab082c authored by 吴晟's avatar 吴晟
Browse files

Use gson replace protobuf in serialization. Build as small json as possible.(not finished yet.)

parent a4619318
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -56,6 +56,12 @@
	</properties>

    <dependencies>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.0</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
+1 −6
Original line number Diff line number Diff line
@@ -23,10 +23,5 @@
            <artifactId>skywalking-trace</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.0</version>
        </dependency>
    </dependencies>
</project>
+0 −42
Original line number Diff line number Diff line
package com.a.eye.skywalking.collector.commons.serializer;

import akka.serialization.JSerializer;
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;

/**
 * @author pengys5
 */
public class TraceSegmentSerializer extends JSerializer {
    private static ILog logger = LogManager.getLogger(TraceSegmentSerializer.class);

    @Override
    public boolean includeManifest() {
        return false;
    }

    @Override
    public int identifier() {
        return 30;
    }

    @Override
    public byte[] toBinary(Object o) {
        TraceSegment traceSegment = (TraceSegment) o;
        return traceSegment.serialize().toByteArray();
    }

    @Override
    public Object fromBinaryJava(byte[] bytes, Class<?> manifest) {
        TraceSegment traceSegment = null;
        try {
            traceSegment = new TraceSegment(SegmentMessage.parseFrom(bytes));
        } catch (InvalidProtocolBufferException e) {
            logger.warn("Can't covert message from byte[] to SegmentMessage");
        }
        return traceSegment;
    }
}
+20 −23
Original line number Diff line number Diff line
@@ -9,9 +9,6 @@ import com.a.eye.skywalking.collector.worker.receiver.TraceSegmentReceiver;
import com.a.eye.skywalking.collector.worker.storage.EsClient;
import com.a.eye.skywalking.sniffer.mock.trace.TraceSegmentBuilderFactory;
import com.a.eye.skywalking.trace.TraceSegment;
import com.a.eye.skywalking.trace.proto.SegmentMessage;
import com.a.eye.skywalking.trace.proto.SegmentRefMessage;
import com.a.eye.skywalking.trace.tag.Tags;
import com.typesafe.config.Config;
import com.typesafe.config.ConfigFactory;

@@ -36,25 +33,25 @@ public class StartUpTestCase {

        TraceSegment dubboClientData = TraceSegmentBuilderFactory.INSTANCE.traceOf_Tomcat_DubboClient();

        SegmentMessage.Builder clientBuilder = dubboClientData.serialize().toBuilder();
        clientBuilder.setApplicationCode("Tomcat_DubboClient");

        dubboClientData = new TraceSegment(clientBuilder.build());

        TraceSegment dubboServerData = TraceSegmentBuilderFactory.INSTANCE.traceOf_DubboServer_MySQL();

        SegmentMessage serializeServer = dubboServerData.serialize();
        SegmentMessage.Builder builder = serializeServer.toBuilder();

        SegmentRefMessage.Builder builderRef = builder.getRefs(0).toBuilder();
        builderRef.setApplicationCode(dubboClientData.getApplicationCode());


        builderRef.setPeerHost(Tags.PEER_HOST.get(dubboClientData.getSpans().get(1)));

        builder.setApplicationCode("DubboServer_MySQL");
        builder.addRefs(builderRef);
        dubboServerData = new TraceSegment(builder.build());
//        SegmentMessage.Builder clientBuilder = dubboClientData.serialize().toBuilder();
//        clientBuilder.setApplicationCode("Tomcat_DubboClient");
//
//        dubboClientData = new TraceSegment(clientBuilder.build());
//
//        TraceSegment dubboServerData = TraceSegmentBuilderFactory.INSTANCE.traceOf_DubboServer_MySQL();
//
//        SegmentMessage serializeServer = dubboServerData.serialize();
//        SegmentMessage.Builder builder = serializeServer.toBuilder();
//
//        SegmentRefMessage.Builder builderRef = builder.getRefs(0).toBuilder();
//        builderRef.setApplicationCode(dubboClientData.getApplicationCode());
//
//
//        builderRef.setPeerHost(Tags.PEER_HOST.get(dubboClientData.getSpans().get(1)));
//
//        builder.setApplicationCode("DubboServer_MySQL");
//        builder.addRefs(builderRef);
//        dubboServerData = new TraceSegment(builder.build());

        Thread.sleep(5000);

@@ -62,7 +59,7 @@ public class StartUpTestCase {

        for (int i = 0; i < 100; i++) {
            selection.tell(dubboClientData, ActorRef.noSender());
            selection.tell(dubboServerData, ActorRef.noSender());
//            selection.tell(dubboServerData, ActorRef.noSender());

            Thread.sleep(200);
        }
+0 −6
Original line number Diff line number Diff line
@@ -17,12 +17,6 @@
            <artifactId>skywalking-util</artifactId>
            <version>${project.version}</version>
        </dependency>

        <dependency>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
            <version>3.1.0</version>
        </dependency>
    </dependencies>

    <build>
Loading