Update to protocol v3 (#12)
* Update to protocol v3
* revert log4j2.xml
* missing license header
diff --git a/mock-collector/pom.xml b/mock-collector/pom.xml
index 2c42fbe..5fb84ba 100644
--- a/mock-collector/pom.xml
+++ b/mock-collector/pom.xml
@@ -34,7 +34,7 @@
<url>http://maven.apache.org</url>
<properties>
- <protocol.version>b512211334db26a9c1031ce7bacfa2bef99b1d89</protocol.version>
+ <protocol.version>16fafd53d427b42e80a6fa8fc6dee28569053ebe</protocol.version>
<protocol.workingDirectory>${project.basedir}/target/protocol</protocol.workingDirectory>
<protocol.repos>https://github.com/apache/skywalking-data-collect-protocol.git</protocol.repos>
<protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version>
@@ -50,39 +50,40 @@
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>com.google.protobuf</groupId>
- <artifactId>protobuf-java-util</artifactId>
- <version>${protobuf-java-util.version}</version>
- </dependency>
- <dependency>
<groupId>io.grpc</groupId>
- <artifactId>grpc-netty</artifactId>
+ <artifactId>grpc-core</artifactId>
<version>${grpc.version}</version>
<exclusions>
<exclusion>
- <groupId>io.netty</groupId>
- <artifactId>netty-codec-http2</artifactId>
- </exclusion>
- <exclusion>
- <groupId>io.netty</groupId>
- <artifactId>netty-handler-proxy</artifactId>
+ <groupId>com.google.android</groupId>
+ <artifactId>annotations</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
+ <artifactId>grpc-netty</artifactId>
+ <version>${grpc.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
<version>${grpc.version}</version>
</dependency>
<dependency>
+ <groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java-util</artifactId>
+ <version>${protobuf-java-util.version}</version>
+ </dependency>
+ <dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
<version>${grpc.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
- <artifactId>netty-codec-http2</artifactId>
- <version>${netty.version}</version>
+ <artifactId>netty-tcnative-boringssl-static</artifactId>
+ <version>${netty-tcnative-boringssl-static.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/Main.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/Main.java
index efc1428..3c5f226 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/Main.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/Main.java
@@ -19,40 +19,33 @@
import io.grpc.netty.NettyServerBuilder;
import io.netty.channel.local.LocalAddress;
-import java.io.IOException;
import java.net.InetSocketAddress;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.apache.skywalking.plugin.test.mockcollector.entity.ValidateData;
-import org.apache.skywalking.plugin.test.mockcollector.mock.MockInstancePingService;
+import org.apache.skywalking.plugin.test.mockcollector.mock.MockCLRMetricReportService;
import org.apache.skywalking.plugin.test.mockcollector.mock.MockJVMMetricReportService;
-import org.apache.skywalking.plugin.test.mockcollector.mock.MockRegisterService;
+import org.apache.skywalking.plugin.test.mockcollector.mock.MockManagementService;
import org.apache.skywalking.plugin.test.mockcollector.mock.MockTraceSegmentService;
-import org.apache.skywalking.plugin.test.mockcollector.mock.rest.MockEndpointRegisterServletHandler;
-import org.apache.skywalking.plugin.test.mockcollector.mock.rest.MockInstanceRegisterServletHandler;
-import org.apache.skywalking.plugin.test.mockcollector.mock.rest.MockServiceInstancePingServletHandler;
-import org.apache.skywalking.plugin.test.mockcollector.mock.rest.MockServiceRegisterServletHandler;
+import org.apache.skywalking.plugin.test.mockcollector.mock.rest.MockManagementServiceKeepAliveHandler;
+import org.apache.skywalking.plugin.test.mockcollector.mock.rest.MockManagementServiceReportPropertiesHandler;
import org.apache.skywalking.plugin.test.mockcollector.mock.rest.MockTraceSegmentCollectServletHandler;
import org.apache.skywalking.plugin.test.mockcollector.service.ClearReceiveDataService;
import org.apache.skywalking.plugin.test.mockcollector.service.DataValidateService;
import org.apache.skywalking.plugin.test.mockcollector.service.GrpcAddressHttpService;
+import org.apache.skywalking.plugin.test.mockcollector.service.HealthCheckService;
import org.apache.skywalking.plugin.test.mockcollector.service.ReceiveDataService;
+import org.apache.skywalking.plugin.test.mockcollector.service.StatusService;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
-import org.eclipse.jetty.servlet.ServletHolder;
public class Main {
public static void main(String[] args) throws Exception {
+ // Mock GRPC Collector
NettyServerBuilder.forAddress(LocalAddress.ANY)
.forPort(19876)
.maxConcurrentCallsPerConnection(12)
- .maxMessageSize(16777216)
- .addService(new MockRegisterService())
- .addService(new MockInstancePingService())
- .addService(new MockTraceSegmentService())
+ .addService(new MockCLRMetricReportService())
.addService(new MockJVMMetricReportService())
+ .addService(new MockManagementService())
+ .addService(new MockTraceSegmentService())
.build()
.start();
@@ -60,44 +53,27 @@
String contextPath = "/";
ServletContextHandler servletContextHandler = new ServletContextHandler(ServletContextHandler.NO_SESSIONS);
servletContextHandler.setContextPath(contextPath);
- servletContextHandler.addServlet(new ServletHolder(new HttpServlet() {
- @Override
- protected void doGet(HttpServletRequest req,
- HttpServletResponse resp) throws ServletException, IOException {
- resp.setStatus(200);
- resp.getWriter().write("Success");
- resp.getWriter().flush();
- }
- }), "/healthCheck");
- servletContextHandler.addServlet(new ServletHolder(new HttpServlet() {
- @Override
- protected void doGet(HttpServletRequest req,
- HttpServletResponse resp) throws ServletException, IOException {
- if (ValidateData.INSTANCE.getRegistryItem().getServices().isEmpty()) {
- resp.setStatus(500);
- return;
- }
- resp.setStatus(200);
- resp.getWriter().write("Success");
- resp.getWriter().flush();
- }
- }), "/status");
+
+ // Collector service
+ servletContextHandler.addServlet(HealthCheckService.class, HealthCheckService.SERVLET_PATH);
+ servletContextHandler.addServlet(StatusService.class, StatusService.SERVLET_PATH);
servletContextHandler.addServlet(GrpcAddressHttpService.class, GrpcAddressHttpService.SERVLET_PATH);
servletContextHandler.addServlet(DataValidateService.class, DataValidateService.SERVLET_PATH);
servletContextHandler.addServlet(ReceiveDataService.class, ReceiveDataService.SERVLET_PATH);
servletContextHandler.addServlet(ClearReceiveDataService.class, ClearReceiveDataService.SERVLET_PATH);
+ // Mock Rest API collector
servletContextHandler.addServlet(
- MockInstanceRegisterServletHandler.class, MockInstanceRegisterServletHandler.SERVLET_PATH);
+ MockManagementServiceKeepAliveHandler.class,
+ MockManagementServiceKeepAliveHandler.SERVLET_PATH
+ );
servletContextHandler.addServlet(
- MockServiceInstancePingServletHandler.class, MockServiceInstancePingServletHandler.SERVLET_PATH);
+ MockManagementServiceReportPropertiesHandler.class,
+ MockManagementServiceReportPropertiesHandler.SERVLET_PATH
+ );
servletContextHandler.addServlet(
- MockServiceRegisterServletHandler.class, MockServiceRegisterServletHandler.SERVLET_PATH);
- servletContextHandler.addServlet(
- MockTraceSegmentCollectServletHandler.class, MockTraceSegmentCollectServletHandler.SERVLET_PATH);
- servletContextHandler.addServlet(
- MockEndpointRegisterServletHandler.class,
- MockEndpointRegisterServletHandler.SERVLET_PATH
+ MockTraceSegmentCollectServletHandler.class,
+ MockTraceSegmentCollectServletHandler.SERVLET_PATH
);
jettyServer.setHandler(servletContextHandler);
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/RegistryItem.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/RegistryItem.java
deleted file mode 100644
index be76657..0000000
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/RegistryItem.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.mockcollector.entity;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-
-public class RegistryItem {
- /**
- * serviceName, serviceId
- */
- private final Map<String, Integer> services;
- /**
- * serviceName, operationName
- */
- private final Map<String, Set<String>> operationNames;
- /**
- * serviceName, instanceId
- */
- private final Map<String, List<Integer>> instanceMapping;
- /**
- * serviceName, count
- */
- private final Map<String, Integer> heartBeats;
-
- public RegistryItem() {
- services = new ConcurrentHashMap<>();
- operationNames = new ConcurrentHashMap<>();
- instanceMapping = new ConcurrentHashMap<>();
- heartBeats = new ConcurrentHashMap<>();
- }
-
- public void registryService(Service service) {
- services.putIfAbsent(service.serviceName, service.serviceId);
- }
-
- public void registryOperationName(OperationName operationName) {
- String serviceName = findServiceName(operationName.serviceId);
- Set<String> operationNameList = operationNames.get(serviceName);
- if (operationNameList == null) {
- operationNameList = new HashSet<>();
- operationNames.put(serviceName, operationNameList);
- }
- operationNameList.add(operationName.operationName);
- }
-
- public void registryInstance(Instance instance) {
- String serviceName = findServiceName(instance.serviceId);
- List<Integer> instances = instanceMapping.get(serviceName);
- if (instances == null) {
- instances = new ArrayList<>();
- instanceMapping.put(serviceName, instances);
- }
-
- if (!instances.contains(instance)) {
- instances.add(instance.instanceId);
- }
- }
-
- public String findServiceName(int id) {
- for (Map.Entry<String, Integer> entry : services.entrySet()) {
- if (entry.getValue() == id) {
- return entry.getKey();
- }
- }
- throw new RuntimeException("Cannot found the name of serviceId [" + id + "].");
- }
-
- public void registryHeartBeat(HeartBeat heartBeat) {
- for (Map.Entry<String, List<Integer>> entry : instanceMapping.entrySet()) {
- if (entry.getValue().contains(heartBeat.instanceID)) {
- Integer count = heartBeats.get(entry.getKey());
- if (count != null) {
- heartBeats.put(entry.getKey(), 0);
- heartBeats.put(entry.getKey(), count++);
- }
- }
- }
- }
-
- public static class OperationName {
- int serviceId;
- String operationName;
-
- public OperationName(int serviceId, String operationName) {
- this.serviceId = serviceId;
- this.operationName = operationName;
- }
- }
-
- public static class Service {
- String serviceName;
- int serviceId;
-
- public Service(String serviceName, int serviceId) {
- this.serviceName = serviceName;
- this.serviceId = serviceId;
- }
- }
-
- public static class Instance {
- int serviceId;
- int instanceId;
-
- public Instance(int serviceId, int instanceId) {
- this.serviceId = serviceId;
- this.instanceId = instanceId;
- }
- }
-
- public static class HeartBeat {
- private int instanceID;
-
- public HeartBeat(int instanceID) {
- this.instanceID = instanceID;
- }
- }
-
- public Map<String, Integer> getServices() {
- return services;
- }
-
- public Map<String, Set<String>> getOperationNames() {
- return operationNames;
- }
-
- public Map<String, List<Integer>> getInstanceMapping() {
- return instanceMapping;
- }
-
- public Map<String, Integer> getHeartBeats() {
- return heartBeats;
- }
-}
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/RegistryItemSerializer.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/RegistryItemSerializer.java
deleted file mode 100644
index 9affc07..0000000
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/RegistryItemSerializer.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.mockcollector.entity;
-
-import com.google.gson.Gson;
-import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonSerializationContext;
-import com.google.gson.JsonSerializer;
-import java.lang.reflect.Type;
-
-public class RegistryItemSerializer implements JsonSerializer<RegistryItem> {
- @Override
- public JsonElement serialize(RegistryItem src, Type typeOfSrc, JsonSerializationContext context) {
- JsonObject jsonObject = new JsonObject();
- JsonArray serviceArrays = new JsonArray();
- src.getServices().forEach((serviceName, serviceId) -> {
- JsonObject serviceJson = new JsonObject();
- serviceJson.addProperty(serviceName, serviceId);
- serviceArrays.add(serviceJson);
- });
- jsonObject.add("services", serviceArrays);
-
- JsonArray instanceArrays = new JsonArray();
- src.getInstanceMapping().forEach((serviceName, instanceIds) -> {
- JsonObject instanceJson = new JsonObject();
- instanceJson.addProperty(serviceName, instanceIds.size());
- instanceArrays.add(instanceJson);
- });
- jsonObject.add("instances", instanceArrays);
-
- JsonArray operationNameArrays = new JsonArray();
- src.getOperationNames().forEach((serviceName, operationNames) -> {
- JsonObject instanceJson = new JsonObject();
- instanceJson.add(serviceName, new Gson().toJsonTree(operationNames));
- operationNameArrays.add(instanceJson);
- });
- jsonObject.add("operationNames", operationNameArrays);
-
- JsonArray heartBeatArrays = new JsonArray();
- src.getHeartBeats().forEach((serviceName, count) -> {
- JsonObject instanceJson = new JsonObject();
- instanceJson.addProperty(serviceName, count);
- heartBeatArrays.add(instanceJson);
- });
- jsonObject.add("heartbeat", heartBeatArrays);
- return jsonObject;
- }
-}
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/Segment.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/Segment.java
index a86fd2e..5ed2a70 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/Segment.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/Segment.java
@@ -17,37 +17,18 @@
package org.apache.skywalking.plugin.test.mockcollector.entity;
-import java.util.ArrayList;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
+import lombok.Getter;
import lombok.ToString;
-import org.apache.skywalking.apm.network.language.agent.UniqueId;
@ToString
@Builder
@AllArgsConstructor
+@Getter
public class Segment {
private String segmentId;
private List<Span> spans;
-
- public static class SegmentBuilder {
-
- public SegmentBuilder addSpan(Span.SpanBuilder spanBuilder) {
- if (spans == null) {
- this.spans = new ArrayList<>();
- }
-
- spans.add(spanBuilder.build());
- return this;
- }
-
- public SegmentBuilder segmentId(UniqueId segmentUniqueId) {
- segmentId = String.join(
- ".", Long.toString(segmentUniqueId.getIdParts(0)), Long.toString(segmentUniqueId.getIdParts(1)), Long
- .toString(segmentUniqueId.getIdParts(2)));
- return this;
- }
- }
-
}
+
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/SegmentItems.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/SegmentItems.java
index d54df13..8f2e526 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/SegmentItems.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/SegmentItems.java
@@ -27,8 +27,7 @@
this.segmentItems = new HashMap<>();
}
- public SegmentItems addSegmentItem(int serviceId, Segment segment) {
- String serviceName = ValidateData.INSTANCE.getRegistryItem().findServiceName(serviceId);
+ public SegmentItems addSegmentItem(String serviceName, Segment segment) {
SegmentItem segmentItem = segmentItems.get(serviceName);
if (segmentItem == null) {
segmentItem = new SegmentItem(serviceName);
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/Span.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/Span.java
index dceabee..d58107c 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/Span.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/Span.java
@@ -40,9 +40,8 @@
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;
-import org.apache.skywalking.apm.network.common.KeyStringValuePair;
-import org.apache.skywalking.apm.network.language.agent.UniqueId;
-import org.apache.skywalking.apm.network.language.agent.v2.SegmentReference;
+import org.apache.skywalking.apm.network.common.v3.KeyStringValuePair;
+import org.apache.skywalking.apm.network.language.agent.v3.SegmentReference;
@Builder
@ToString
@@ -61,6 +60,7 @@
private String spanType;
private String peer;
private int peerId;
+ private boolean skipAnalysis;
private List<KeyValuePair> tags = new ArrayList<>();
private List<LogEvent> logs = new ArrayList<>();
private List<SegmentRef> refs = new ArrayList<>();
@@ -107,60 +107,36 @@
}
+ @Getter
+ @AllArgsConstructor
public static class KeyValuePair {
- @Getter
private String key;
- @Getter
private String value;
-
- public KeyValuePair(String key, String value) {
- this.key = key;
- this.value = value;
- }
}
@ToString
+ @Getter
public static class SegmentRef {
- @Getter
- private int parentEndpointId;
- @Getter
private String parentEndpoint;
- @Getter
- private int networkAddressId;
- @Getter
- private int entryEndpointId;
- @Getter
- private String refType;
- @Getter
- private int parentSpanId;
- @Getter
- private String parentTraceSegmentId;
- @Getter
- private int parentServiceInstanceId;
- @Getter
private String networkAddress;
- @Getter
- private String entryEndpoint;
- @Getter
- private int entryServiceInstanceId;
+ private String refType;
+ private int parentSpanId;
+ private String parentTraceSegmentId;
+ private String parentServiceInstance;
+ private String parentService;
+ private String traceId;
public SegmentRef(SegmentReference ref) {
- UniqueId segmentUniqueId = ref.getParentTraceSegmentId();
- this.parentTraceSegmentId = String.join(
- ".", Long.toString(segmentUniqueId.getIdParts(0)), Long.toString(segmentUniqueId
- .getIdParts(1)),
- Long.toString(segmentUniqueId.getIdParts(2))
- );
+ this.parentTraceSegmentId = ref.getParentTraceSegmentId();
this.refType = ref.getRefType().toString();
this.parentSpanId = ref.getParentSpanId();
- this.entryEndpointId = ref.getEntryEndpointId();
- this.networkAddressId = ref.getNetworkAddressId();
- this.parentServiceInstanceId = ref.getParentServiceInstanceId();
- this.parentEndpointId = ref.getParentEndpointId();
this.parentEndpoint = ref.getParentEndpoint();
- this.networkAddress = ref.getNetworkAddress();
- this.entryEndpoint = ref.getEntryEndpoint();
- this.entryServiceInstanceId = ref.getEntryServiceInstanceId();
+ this.parentService = ref.getParentService();
+ this.parentServiceInstance = ref.getParentServiceInstance();
+ this.parentTraceSegmentId = ref.getParentTraceSegmentId();
+ this.networkAddress = ref.getNetworkAddressUsedAtPeer();
+ this.parentSpanId = ref.getParentSpanId();
+ this.traceId = ref.getTraceId();
}
}
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/ValidateData.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/ValidateData.java
index 28b78b7..6993891 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/ValidateData.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/ValidateData.java
@@ -19,25 +19,24 @@
public class ValidateData {
public static ValidateData INSTANCE = new ValidateData();
- private RegistryItem registryItem;
private SegmentItems segmentItem;
- public ValidateData() {
- registryItem = new RegistryItem();
- segmentItem = new SegmentItems();
- }
+ private boolean registered = false;
- public RegistryItem getRegistryItem() {
- return registryItem;
+ private ValidateData() {
+ segmentItem = new SegmentItems();
}
public SegmentItems getSegmentItem() {
return segmentItem;
}
+ public boolean isRegistered() {
+ return registered;
+ }
+
public static void clearData() {
- System.out.println("Clear Data");
+ INSTANCE.registered = false;
INSTANCE.segmentItem = new SegmentItems();
- INSTANCE.registryItem.getOperationNames().clear();
}
}
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/ValidateDataSerializer.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/ValidateDataSerializer.java
index d6fabf5..ee98785 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/ValidateDataSerializer.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/entity/ValidateDataSerializer.java
@@ -28,12 +28,10 @@
public class ValidateDataSerializer implements JsonSerializer<ValidateData> {
@Override
public JsonElement serialize(ValidateData src, Type typeOfSrc, JsonSerializationContext context) {
- Gson gson = new GsonBuilder().registerTypeAdapter(RegistryItem.class, new RegistryItemSerializer())
- .registerTypeAdapter(SegmentItems.class, new SegmentItemsSerializer())
+ Gson gson = new GsonBuilder().registerTypeAdapter(SegmentItems.class, new SegmentItemsSerializer())
.create();
JsonObject jsonObject = new JsonObject();
- jsonObject.add("registryItems", gson.toJsonTree(src.getRegistryItem()));
jsonObject.add("segmentItems", gson.toJsonTree(src.getSegmentItem()));
return jsonObject;
}
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockCLRMetricReportService.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockCLRMetricReportService.java
index 0a16d7f..502adeb 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockCLRMetricReportService.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockCLRMetricReportService.java
@@ -18,9 +18,9 @@
package org.apache.skywalking.plugin.test.mockcollector.mock;
import io.grpc.stub.StreamObserver;
-import org.apache.skywalking.apm.network.common.Commands;
-import org.apache.skywalking.apm.network.language.agent.v2.CLRMetricCollection;
-import org.apache.skywalking.apm.network.language.agent.v2.CLRMetricReportServiceGrpc;
+import org.apache.skywalking.apm.network.common.v3.Commands;
+import org.apache.skywalking.apm.network.language.agent.v3.CLRMetricCollection;
+import org.apache.skywalking.apm.network.language.agent.v3.CLRMetricReportServiceGrpc;
/**
* Author Daming Email zteny@foxmail.com
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockInstancePingService.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockInstancePingService.java
deleted file mode 100644
index 82956c0..0000000
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockInstancePingService.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.mockcollector.mock;
-
-import io.grpc.stub.StreamObserver;
-import org.apache.skywalking.apm.network.common.Commands;
-import org.apache.skywalking.apm.network.register.v2.ServiceInstancePingGrpc;
-import org.apache.skywalking.apm.network.register.v2.ServiceInstancePingPkg;
-import org.apache.skywalking.plugin.test.mockcollector.entity.RegistryItem;
-import org.apache.skywalking.plugin.test.mockcollector.entity.ValidateData;
-
-public class MockInstancePingService extends ServiceInstancePingGrpc.ServiceInstancePingImplBase {
-
- @Override
- public void doPing(ServiceInstancePingPkg request, StreamObserver<Commands> responseObserver) {
- ValidateData.INSTANCE.getRegistryItem()
- .registryHeartBeat(new RegistryItem.HeartBeat(request.getServiceInstanceId()));
- responseObserver.onNext(Commands.getDefaultInstance());
- responseObserver.onCompleted();
- }
-}
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockJVMMetricReportService.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockJVMMetricReportService.java
index c7c3b09..762b694 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockJVMMetricReportService.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockJVMMetricReportService.java
@@ -18,9 +18,9 @@
package org.apache.skywalking.plugin.test.mockcollector.mock;
import io.grpc.stub.StreamObserver;
-import org.apache.skywalking.apm.network.common.Commands;
-import org.apache.skywalking.apm.network.language.agent.v2.JVMMetricCollection;
-import org.apache.skywalking.apm.network.language.agent.v2.JVMMetricReportServiceGrpc;
+import org.apache.skywalking.apm.network.common.v3.Commands;
+import org.apache.skywalking.apm.network.language.agent.v3.JVMMetricCollection;
+import org.apache.skywalking.apm.network.language.agent.v3.JVMMetricReportServiceGrpc;
/**
* Author Daming Email zteny@foxmail.com
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockManagementService.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockManagementService.java
new file mode 100644
index 0000000..bb26184
--- /dev/null
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockManagementService.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.skywalking.plugin.test.mockcollector.mock;
+
+import io.grpc.stub.StreamObserver;
+import org.apache.skywalking.apm.network.common.v3.Commands;
+import org.apache.skywalking.apm.network.management.v3.InstancePingPkg;
+import org.apache.skywalking.apm.network.management.v3.InstanceProperties;
+import org.apache.skywalking.apm.network.management.v3.ManagementServiceGrpc;
+
+public class MockManagementService extends ManagementServiceGrpc.ManagementServiceImplBase {
+
+ @Override
+ public void reportInstanceProperties(InstanceProperties request, StreamObserver<Commands> responseObserver) {
+
+ responseObserver.onNext(Commands.newBuilder().build());
+ responseObserver.onCompleted();
+ }
+
+ @Override
+ public void keepAlive(InstancePingPkg request, StreamObserver<Commands> responseObserver) {
+ responseObserver.onNext(Commands.newBuilder().build());
+ responseObserver.onCompleted();
+ }
+
+}
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockRegisterService.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockRegisterService.java
deleted file mode 100644
index 58bfbde..0000000
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockRegisterService.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.mockcollector.mock;
-
-import io.grpc.stub.StreamObserver;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.skywalking.apm.network.common.KeyIntValuePair;
-import org.apache.skywalking.apm.network.register.v2.Endpoint;
-import org.apache.skywalking.apm.network.register.v2.EndpointMapping;
-import org.apache.skywalking.apm.network.register.v2.Endpoints;
-import org.apache.skywalking.apm.network.register.v2.NetAddressMapping;
-import org.apache.skywalking.apm.network.register.v2.NetAddresses;
-import org.apache.skywalking.apm.network.register.v2.RegisterGrpc;
-import org.apache.skywalking.apm.network.register.v2.ServiceInstance;
-import org.apache.skywalking.apm.network.register.v2.ServiceInstanceRegisterMapping;
-import org.apache.skywalking.apm.network.register.v2.ServiceInstances;
-import org.apache.skywalking.apm.network.register.v2.ServiceRegisterMapping;
-import org.apache.skywalking.apm.network.register.v2.Services;
-import org.apache.skywalking.plugin.test.mockcollector.entity.RegistryItem;
-import org.apache.skywalking.plugin.test.mockcollector.entity.ValidateData;
-
-@Slf4j
-public class MockRegisterService extends RegisterGrpc.RegisterImplBase {
-
- @Override
- public void doEndpointRegister(Endpoints request, StreamObserver<EndpointMapping> responseObserver) {
- for (Endpoint endpoint : request.getEndpointsList()) {
- ValidateData.INSTANCE.getRegistryItem()
- .registryOperationName(new RegistryItem.OperationName(endpoint.getServiceId(), endpoint
- .getEndpointName()));
- }
- responseObserver.onNext(EndpointMapping.getDefaultInstance());
- responseObserver.onCompleted();
- }
-
- @Override
- public void doNetworkAddressRegister(NetAddresses request, StreamObserver<NetAddressMapping> responseObserver) {
- responseObserver.onNext(NetAddressMapping.getDefaultInstance());
- responseObserver.onCompleted();
- }
-
- @Override
- public void doServiceInstanceRegister(ServiceInstances request,
- StreamObserver<ServiceInstanceRegisterMapping> responseObserver) {
- if (request.getInstancesCount() <= 0) {
- responseObserver.onNext(ServiceInstanceRegisterMapping.getDefaultInstance());
- responseObserver.onCompleted();
- return;
- }
-
- for (ServiceInstance serviceInstance : request.getInstancesList()) {
- int instanceId = Sequences.INSTANCE_SEQUENCE.incrementAndGet();
- ValidateData.INSTANCE.getRegistryItem()
- .registryInstance(
- new RegistryItem.Instance(serviceInstance.getServiceId(), instanceId));
-
- responseObserver.onNext(ServiceInstanceRegisterMapping.newBuilder()
- .addServiceInstances(KeyIntValuePair.newBuilder()
- .setKey(
- serviceInstance
- .getInstanceUUID())
- .setValue(
- instanceId)
- .build())
- .build());
- responseObserver.onCompleted();
- }
- }
-
- @Override
- public void doServiceRegister(Services request, StreamObserver<ServiceRegisterMapping> responseObserver) {
- log.debug("receive service register.");
- if (request.getServicesCount() <= 0) {
- log.warn("The service count is empty. return the default service register mapping");
- responseObserver.onNext(ServiceRegisterMapping.getDefaultInstance());
- responseObserver.onCompleted();
- return;
- }
-
- for (org.apache.skywalking.apm.network.register.v2.Service service : request.getServicesList()) {
- String serviceName = service.getServiceName();
- ServiceRegisterMapping.Builder builder = ServiceRegisterMapping.newBuilder();
-
- if (serviceName.startsWith("localhost") || serviceName.startsWith("127.0.0.1")
- || serviceName.contains(":") || serviceName.contains("/")) {
- responseObserver.onNext(builder.build());
- responseObserver.onCompleted();
- return;
- }
-
- Integer serviceId = Sequences.SERVICE_MAPPING.get(serviceName);
- if (serviceId == null) {
- serviceId = Sequences.ENDPOINT_SEQUENCE.incrementAndGet();
- Sequences.SERVICE_MAPPING.put(serviceName, serviceId);
- ValidateData.INSTANCE.getRegistryItem()
- .registryService(new RegistryItem.Service(serviceName, serviceId));
- }
-
- builder.addServices(KeyIntValuePair.newBuilder().setKey(serviceName).setValue(serviceId).build());
- responseObserver.onNext(builder.build());
- responseObserver.onCompleted();
- }
- }
-}
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockTraceSegmentService.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockTraceSegmentService.java
index 5ea663e..409964f 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockTraceSegmentService.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/MockTraceSegmentService.java
@@ -17,80 +17,32 @@
package org.apache.skywalking.plugin.test.mockcollector.mock;
-import com.google.protobuf.InvalidProtocolBufferException;
import io.grpc.stub.StreamObserver;
import lombok.extern.slf4j.Slf4j;
-import org.apache.skywalking.apm.network.common.Commands;
-import org.apache.skywalking.apm.network.common.KeyStringValuePair;
-import org.apache.skywalking.apm.network.language.agent.UpstreamSegment;
-import org.apache.skywalking.apm.network.language.agent.v2.Log;
-import org.apache.skywalking.apm.network.language.agent.v2.SegmentObject;
-import org.apache.skywalking.apm.network.language.agent.v2.SegmentReference;
-import org.apache.skywalking.apm.network.language.agent.v2.SpanObjectV2;
-import org.apache.skywalking.apm.network.language.agent.v2.TraceSegmentReportServiceGrpc;
-import org.apache.skywalking.plugin.test.mockcollector.entity.Segment;
-import org.apache.skywalking.plugin.test.mockcollector.entity.Span;
-import org.apache.skywalking.plugin.test.mockcollector.entity.ValidateData;
+import org.apache.skywalking.apm.network.common.v3.Commands;
+import org.apache.skywalking.apm.network.language.agent.v3.SegmentObject;
+import org.apache.skywalking.apm.network.language.agent.v3.TraceSegmentReportServiceGrpc;
+import org.apache.skywalking.plugin.test.mockcollector.util.TraceSegmentHandler;
@Slf4j
public class MockTraceSegmentService extends TraceSegmentReportServiceGrpc.TraceSegmentReportServiceImplBase {
@Override
- public StreamObserver<UpstreamSegment> collect(StreamObserver<Commands> responseObserver) {
- return new StreamObserver<UpstreamSegment>() {
+ public StreamObserver<SegmentObject> collect(StreamObserver<Commands> responseObserver) {
+ return new StreamObserver<SegmentObject>() {
@Override
- public void onNext(UpstreamSegment value) {
- try {
- SegmentObject traceSegmentObject = SegmentObject.parseFrom(value.getSegment());
- Segment.SegmentBuilder segmentBuilder = Segment.builder()
- .segmentId(traceSegmentObject.getTraceSegmentId());
- log.debug(
- "Receive segment: ServiceID[{}], TraceSegmentId[{}]", traceSegmentObject.getServiceId(),
- traceSegmentObject
- .getTraceSegmentId()
- );
-
- for (SpanObjectV2 spanObject : traceSegmentObject.getSpansList()) {
- Span.SpanBuilder spanBuilder = Span.builder()
- .operationName(spanObject.getOperationName())
- .parentSpanId(spanObject.getParentSpanId())
- .spanId(spanObject.getSpanId())
- .componentId(spanObject.getComponentId())
- .componentName(spanObject.getComponent())
- .spanLayer(spanObject.getSpanLayer().toString())
- .endTime(spanObject.getEndTime())
- .isError(spanObject.getIsError())
- .startTime(spanObject.getStartTime())
- .spanType(spanObject.getSpanType().toString())
- .peer(spanObject.getPeer())
- .peerId(spanObject.getPeerId())
- .operationId(spanObject.getOperationNameId());
-
- for (Log logMessage : spanObject.getLogsList()) {
- spanBuilder.logEvent(logMessage.getDataList());
- }
-
- for (KeyStringValuePair tags : spanObject.getTagsList()) {
- spanBuilder.tags(tags.getKey(), tags.getValue());
- }
-
- for (SegmentReference ref : spanObject.getRefsList()) {
- spanBuilder.ref(new Span.SegmentRef(ref));
- }
-
- segmentBuilder.addSpan(spanBuilder);
- }
-
- ValidateData.INSTANCE.getSegmentItem()
- .addSegmentItem(traceSegmentObject.getServiceId(), segmentBuilder.build());
- } catch (InvalidProtocolBufferException e) {
- e.printStackTrace();
+ public void onNext(SegmentObject segmentObject) {
+ if (segmentObject.getSpansList().size() == 0) {
+ return;
}
+
+ TraceSegmentHandler.parseSegment(segmentObject);
}
@Override
- public void onError(Throwable t) {
-
+ public void onError(Throwable throwable) {
+ log.error(throwable.getMessage(), throwable);
+ responseObserver.onCompleted();
}
@Override
@@ -100,4 +52,5 @@
}
};
}
+
}
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/Sequences.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/Sequences.java
deleted file mode 100644
index 84859c0..0000000
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/Sequences.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.mockcollector.mock;
-
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.atomic.AtomicInteger;
-
-public class Sequences {
-
- public static final AtomicInteger INSTANCE_SEQUENCE = new AtomicInteger();
-
- public static final AtomicInteger ENDPOINT_SEQUENCE = new AtomicInteger(1);
-
- public static final ConcurrentHashMap<String, Integer> SERVICE_MAPPING = new ConcurrentHashMap<String, Integer>();
-}
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockEndpointRegisterServletHandler.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockEndpointRegisterServletHandler.java
deleted file mode 100644
index b8915d8..0000000
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockEndpointRegisterServletHandler.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.plugin.test.mockcollector.mock.rest;
-
-import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
-import java.io.IOException;
-import javax.servlet.http.HttpServletRequest;
-import org.apache.skywalking.apm.network.register.v2.Endpoint;
-import org.apache.skywalking.apm.network.register.v2.Endpoints;
-import org.apache.skywalking.plugin.test.mockcollector.entity.RegistryItem;
-import org.apache.skywalking.plugin.test.mockcollector.entity.ValidateData;
-import org.apache.skywalking.plugin.test.mockcollector.util.ProtoBufJsonUtils;
-
-public class MockEndpointRegisterServletHandler extends JettyJsonHandler {
- public static final String SERVLET_PATH = "/v2/endpoint/register";
-
- @Override
- protected JsonElement doGet(final HttpServletRequest req) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- protected JsonElement doPost(final HttpServletRequest req) throws IOException {
- Endpoints.Builder builder = Endpoints.newBuilder();
- ProtoBufJsonUtils.fromJSON(getJsonBody(req), builder);
-
- for (Endpoint endpoint : builder.build().getEndpointsList()) {
- ValidateData.INSTANCE.getRegistryItem()
- .registryOperationName(new RegistryItem.OperationName(endpoint.getServiceId(), endpoint
- .getEndpointName()));
- }
-
- return new JsonArray();
- }
-}
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockInstanceRegisterServletHandler.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockInstanceRegisterServletHandler.java
deleted file mode 100644
index 66eb822..0000000
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockInstanceRegisterServletHandler.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.plugin.test.mockcollector.mock.rest;
-
-import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import java.io.IOException;
-import javax.servlet.http.HttpServletRequest;
-import org.apache.skywalking.apm.network.register.v2.ServiceInstance;
-import org.apache.skywalking.apm.network.register.v2.ServiceInstances;
-import org.apache.skywalking.plugin.test.mockcollector.entity.RegistryItem;
-import org.apache.skywalking.plugin.test.mockcollector.entity.ValidateData;
-import org.apache.skywalking.plugin.test.mockcollector.mock.Sequences;
-import org.apache.skywalking.plugin.test.mockcollector.util.ProtoBufJsonUtils;
-
-public class MockInstanceRegisterServletHandler extends JettyJsonHandler {
- private static final String KEY = "key";
- private static final String VALUE = "value";
-
- public static final String SERVLET_PATH = "/v2/instance/register";
-
- @Override
- protected JsonElement doGet(final HttpServletRequest req) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- protected JsonElement doPost(final HttpServletRequest req) throws IOException {
- JsonArray response = new JsonArray();
- ServiceInstances.Builder builder = ServiceInstances.newBuilder();
- ProtoBufJsonUtils.fromJSON(getJsonBody(req), builder);
-
- for (ServiceInstance serviceInstance : builder.build().getInstancesList()) {
- int instanceId = Sequences.INSTANCE_SEQUENCE.incrementAndGet();
- ValidateData.INSTANCE.getRegistryItem()
- .registryInstance(
- new RegistryItem.Instance(serviceInstance.getServiceId(), instanceId));
-
- JsonObject register = new JsonObject();
- register.addProperty(KEY, serviceInstance.getInstanceUUID());
- register.addProperty(VALUE, instanceId);
-
- response.add(register);
- }
- return response;
- }
-}
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockServiceInstancePingServletHandler.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockManagementServiceKeepAliveHandler.java
similarity index 61%
copy from mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockServiceInstancePingServletHandler.java
copy to mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockManagementServiceKeepAliveHandler.java
index be1f216..8e54691 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockServiceInstancePingServletHandler.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockManagementServiceKeepAliveHandler.java
@@ -18,17 +18,16 @@
package org.apache.skywalking.plugin.test.mockcollector.mock.rest;
-import com.google.gson.JsonArray;
+import com.google.gson.Gson;
import com.google.gson.JsonElement;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
-import org.apache.skywalking.apm.network.register.v2.ServiceInstancePingPkg;
-import org.apache.skywalking.plugin.test.mockcollector.entity.RegistryItem;
-import org.apache.skywalking.plugin.test.mockcollector.entity.ValidateData;
+import org.apache.skywalking.apm.network.common.v3.Commands;
import org.apache.skywalking.plugin.test.mockcollector.util.ProtoBufJsonUtils;
-public class MockServiceInstancePingServletHandler extends JettyJsonHandler {
- public static final String SERVLET_PATH = "/v2/instance/heartbeat";
+public class MockManagementServiceKeepAliveHandler extends JettyJsonHandler {
+ public static final String SERVLET_PATH = "/v3/management/keepAlive";
+ private final Gson gson = new Gson();
@Override
protected JsonElement doGet(final HttpServletRequest req) {
@@ -37,13 +36,6 @@
@Override
protected JsonElement doPost(final HttpServletRequest req) throws IOException {
-
- ServiceInstancePingPkg.Builder builder = ServiceInstancePingPkg.newBuilder();
- ProtoBufJsonUtils.fromJSON(getJsonBody(req), builder);
- ServiceInstancePingPkg instancePingPkg = builder.build();
-
- ValidateData.INSTANCE.getRegistryItem()
- .registryHeartBeat(new RegistryItem.HeartBeat(instancePingPkg.getServiceInstanceId()));
- return new JsonArray();
+ return gson.fromJson(ProtoBufJsonUtils.toJSON(Commands.newBuilder().build()), JsonElement.class);
}
}
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockServiceInstancePingServletHandler.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockManagementServiceReportPropertiesHandler.java
similarity index 61%
rename from mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockServiceInstancePingServletHandler.java
rename to mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockManagementServiceReportPropertiesHandler.java
index be1f216..6411422 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockServiceInstancePingServletHandler.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockManagementServiceReportPropertiesHandler.java
@@ -18,17 +18,16 @@
package org.apache.skywalking.plugin.test.mockcollector.mock.rest;
-import com.google.gson.JsonArray;
+import com.google.gson.Gson;
import com.google.gson.JsonElement;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
-import org.apache.skywalking.apm.network.register.v2.ServiceInstancePingPkg;
-import org.apache.skywalking.plugin.test.mockcollector.entity.RegistryItem;
-import org.apache.skywalking.plugin.test.mockcollector.entity.ValidateData;
+import org.apache.skywalking.apm.network.common.v3.Commands;
import org.apache.skywalking.plugin.test.mockcollector.util.ProtoBufJsonUtils;
-public class MockServiceInstancePingServletHandler extends JettyJsonHandler {
- public static final String SERVLET_PATH = "/v2/instance/heartbeat";
+public class MockManagementServiceReportPropertiesHandler extends JettyJsonHandler {
+ public static final String SERVLET_PATH = "/v3/management/reportProperties";
+ private final Gson gson = new Gson();
@Override
protected JsonElement doGet(final HttpServletRequest req) {
@@ -37,13 +36,6 @@
@Override
protected JsonElement doPost(final HttpServletRequest req) throws IOException {
-
- ServiceInstancePingPkg.Builder builder = ServiceInstancePingPkg.newBuilder();
- ProtoBufJsonUtils.fromJSON(getJsonBody(req), builder);
- ServiceInstancePingPkg instancePingPkg = builder.build();
-
- ValidateData.INSTANCE.getRegistryItem()
- .registryHeartBeat(new RegistryItem.HeartBeat(instancePingPkg.getServiceInstanceId()));
- return new JsonArray();
+ return gson.fromJson(ProtoBufJsonUtils.toJSON(Commands.newBuilder().build()), JsonElement.class);
}
}
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockServiceRegisterServletHandler.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockServiceRegisterServletHandler.java
deleted file mode 100644
index afd3020..0000000
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockServiceRegisterServletHandler.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.plugin.test.mockcollector.mock.rest;
-
-import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import java.io.IOException;
-import java.util.List;
-import javax.servlet.http.HttpServletRequest;
-import org.apache.skywalking.apm.network.register.v2.Service;
-import org.apache.skywalking.apm.network.register.v2.Services;
-import org.apache.skywalking.plugin.test.mockcollector.entity.RegistryItem;
-import org.apache.skywalking.plugin.test.mockcollector.entity.ValidateData;
-import org.apache.skywalking.plugin.test.mockcollector.mock.Sequences;
-import org.apache.skywalking.plugin.test.mockcollector.util.ProtoBufJsonUtils;
-
-public class MockServiceRegisterServletHandler extends JettyJsonHandler {
- public static final String SERVLET_PATH = "/v2/service/register";
- private static final String KEY = "key";
- private static final String VALUE = "value";
-
- @Override
- protected JsonElement doGet(final HttpServletRequest req) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- protected JsonElement doPost(final HttpServletRequest req) throws IOException {
- JsonArray response = new JsonArray();
-
- Services.Builder servicesBuilder = Services.newBuilder();
- ProtoBufJsonUtils.fromJSON(getJsonBody(req), servicesBuilder);
- List<Service> serviceList = servicesBuilder.build().getServicesList();
-
- for (Service service : serviceList) {
- String serviceName = service.getServiceName();
- if (serviceName.startsWith("localhost") || serviceName.startsWith("127.0.0.1")
- || serviceName.contains(":") || serviceName.contains("/")) {
- return response;
- }
-
- Integer serviceId = Sequences.SERVICE_MAPPING.get(serviceName);
- if (serviceId == null) {
- serviceId = Sequences.ENDPOINT_SEQUENCE.incrementAndGet();
- Sequences.SERVICE_MAPPING.put(serviceName, serviceId);
- ValidateData.INSTANCE.getRegistryItem()
- .registryService(new RegistryItem.Service(serviceName, serviceId));
- }
- JsonObject mapping = new JsonObject();
- mapping.addProperty(KEY, serviceName);
- mapping.addProperty(VALUE, serviceId);
- response.add(mapping);
- }
- return response;
- }
-}
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockTraceSegmentCollectServletHandler.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockTraceSegmentCollectServletHandler.java
index 532fc16..876b586 100644
--- a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockTraceSegmentCollectServletHandler.java
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/mock/rest/MockTraceSegmentCollectServletHandler.java
@@ -22,20 +22,12 @@
import com.google.gson.JsonElement;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
-import org.apache.skywalking.apm.network.common.KeyStringValuePair;
-import org.apache.skywalking.apm.network.language.agent.UpstreamSegment;
-import org.apache.skywalking.apm.network.language.agent.v2.Log;
-import org.apache.skywalking.apm.network.language.agent.v2.SegmentObject;
-import org.apache.skywalking.apm.network.language.agent.v2.SegmentReference;
-import org.apache.skywalking.apm.network.language.agent.v2.SpanObjectV2;
-import org.apache.skywalking.plugin.test.mockcollector.entity.RegistryItem;
-import org.apache.skywalking.plugin.test.mockcollector.entity.Segment;
-import org.apache.skywalking.plugin.test.mockcollector.entity.Span;
-import org.apache.skywalking.plugin.test.mockcollector.entity.ValidateData;
+import org.apache.skywalking.apm.network.language.agent.v3.SegmentObject;
import org.apache.skywalking.plugin.test.mockcollector.util.ProtoBufJsonUtils;
+import org.apache.skywalking.plugin.test.mockcollector.util.TraceSegmentHandler;
public class MockTraceSegmentCollectServletHandler extends JettyJsonHandler {
- public static final String SERVLET_PATH = "/v2/segments";
+ public static final String SERVLET_PATH = "/v3/segments";
@Override
protected JsonElement doGet(final HttpServletRequest req) {
@@ -46,49 +38,10 @@
protected JsonElement doPost(final HttpServletRequest req) throws IOException {
String json = CharStreams.toString(req.getReader());
- SegmentObject.Builder _builder = SegmentObject.newBuilder();
- ProtoBufJsonUtils.fromJSON(json, _builder);
+ SegmentObject.Builder upstreamSegmentBuilder = SegmentObject.newBuilder();
+ ProtoBufJsonUtils.fromJSON(json, upstreamSegmentBuilder);
- UpstreamSegment.Builder upstreamSegmentBuilder = UpstreamSegment.newBuilder();
- UpstreamSegment value = upstreamSegmentBuilder.setSegment(_builder.build().toByteString()).build();
-
- SegmentObject traceSegmentObject = SegmentObject.parseFrom(value.getSegment());
- Segment.SegmentBuilder segmentBuilder = Segment.builder()
- .segmentId(traceSegmentObject.getTraceSegmentId());
-
- for (SpanObjectV2 spanObject : traceSegmentObject.getSpansList()) {
- Span.SpanBuilder spanBuilder = Span.builder()
- .operationName(spanObject.getOperationName())
- .parentSpanId(spanObject.getParentSpanId())
- .spanId(spanObject.getSpanId())
- .componentId(spanObject.getComponentId())
- .componentName(spanObject.getComponent())
- .spanLayer(spanObject.getSpanLayer().toString())
- .endTime(spanObject.getEndTime())
- .isError(spanObject.getIsError())
- .startTime(spanObject.getStartTime())
- .spanType(spanObject.getSpanType().toString())
- .peer(spanObject.getPeer())
- .peerId(spanObject.getPeerId())
- .operationId(spanObject.getOperationNameId());
-
- for (Log logMessage : spanObject.getLogsList()) {
- spanBuilder.logEvent(logMessage.getDataList());
- }
-
- for (KeyStringValuePair tags : spanObject.getTagsList()) {
- spanBuilder.tags(tags.getKey(), tags.getValue());
- }
-
- for (SegmentReference ref : spanObject.getRefsList()) {
- spanBuilder.ref(new Span.SegmentRef(ref));
- }
-
- segmentBuilder.addSpan(spanBuilder);
- }
-
- ValidateData.INSTANCE.getSegmentItem()
- .addSegmentItem(traceSegmentObject.getServiceId(), segmentBuilder.build());
+ TraceSegmentHandler.parseSegment(upstreamSegmentBuilder.build());
return null;
}
}
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/HealthCheckService.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/HealthCheckService.java
new file mode 100644
index 0000000..d2f9c31
--- /dev/null
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/HealthCheckService.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.skywalking.plugin.test.mockcollector.service;
+
+import java.io.IOException;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+public class HealthCheckService extends HttpServlet {
+ public static final String SERVLET_PATH = "/healthCheck";
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ resp.setStatus(200);
+ resp.getWriter().write("Success");
+ resp.getWriter().flush();
+ }
+}
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/StatusService.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/StatusService.java
new file mode 100644
index 0000000..b31f988
--- /dev/null
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/service/StatusService.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.skywalking.plugin.test.mockcollector.service;
+
+import java.io.IOException;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.skywalking.plugin.test.mockcollector.entity.ValidateData;
+
+public class StatusService extends HttpServlet {
+ public static final String SERVLET_PATH = "/status";
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ if (ValidateData.INSTANCE.isRegistered()) {
+ resp.setStatus(200);
+ resp.getWriter().write("Success");
+ resp.getWriter().flush();
+ } else {
+ resp.setStatus(500);
+ resp.getWriter().flush();
+ }
+ }
+}
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/util/Const.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/util/Const.java
new file mode 100644
index 0000000..9e699cf
--- /dev/null
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/util/Const.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.skywalking.plugin.test.mockcollector.util;
+
+public class Const {
+ public static final int NONE = 0;
+ public static final String ID_SPLIT = "_";
+ public static final String ID_PARSER_SPLIT = "\\_";
+ public static final String LINE = "-";
+ public static final String SPACE = " ";
+ public static final String KEY_VALUE_SPLIT = ",";
+ public static final String ARRAY_SPLIT = "|";
+ public static final String ARRAY_PARSER_SPLIT = "\\|";
+ public static final String USER_SERVICE_NAME = "User";
+ public static final String USER_INSTANCE_NAME = "User";
+ public static final String USER_ENDPOINT_NAME = "User";
+ public static final int INEXISTENCE_ENDPOINT_ID = -1;
+ public static final String USER_CODE = "User";
+ public static final String SEGMENT_SPAN_SPLIT = "S";
+ public static final String UNKNOWN = "Unknown";
+ public static final String EMPTY_STRING = "";
+ public static final String EMPTY_JSON_OBJECT_STRING = "{}";
+ public static final String DOMAIN_OPERATION_NAME = "{domain}";
+}
diff --git a/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/util/TraceSegmentHandler.java b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/util/TraceSegmentHandler.java
new file mode 100644
index 0000000..2ac304f
--- /dev/null
+++ b/mock-collector/src/main/java/org/apache/skywalking/plugin/test/mockcollector/util/TraceSegmentHandler.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.skywalking.plugin.test.mockcollector.util;
+
+import com.google.common.collect.Lists;
+import java.util.List;
+import org.apache.skywalking.apm.network.common.v3.KeyStringValuePair;
+import org.apache.skywalking.apm.network.language.agent.v3.Log;
+import org.apache.skywalking.apm.network.language.agent.v3.SegmentObject;
+import org.apache.skywalking.apm.network.language.agent.v3.SegmentReference;
+import org.apache.skywalking.apm.network.language.agent.v3.SpanObject;
+import org.apache.skywalking.plugin.test.mockcollector.entity.Segment;
+import org.apache.skywalking.plugin.test.mockcollector.entity.Span;
+import org.apache.skywalking.plugin.test.mockcollector.entity.ValidateData;
+
+public class TraceSegmentHandler {
+
+ public static void parseSegment(SegmentObject segmentObject) {
+ Segment.SegmentBuilder builder = Segment.builder();
+
+ List<Span> spans = Lists.newArrayList();
+ for (SpanObject spanObject : segmentObject.getSpansList()) {
+ Span.SpanBuilder spanBuilder = Span.builder();
+ spanBuilder.operationName(spanObject.getOperationName())
+ .parentSpanId(spanObject.getParentSpanId())
+ .spanId(spanObject.getSpanId())
+ .spanLayer(spanObject.getSpanLayer().name())
+ .startTime(spanObject.getStartTime())
+ .endTime(spanObject.getEndTime())
+ .componentId(spanObject.getComponentId())
+ .componentName(spanObject.getComponent())
+ .isError(spanObject.getIsError())
+ .spanType(spanObject.getSpanType().name())
+ .peer(spanObject.getPeer());
+
+ for (Log log : spanObject.getLogsList()) {
+ spanBuilder.logEvent(log.getDataList());
+ }
+ for (KeyStringValuePair tags : spanObject.getTagsList()) {
+ spanBuilder.tags(tags.getKey(), tags.getValue());
+ }
+ for (SegmentReference ref : spanObject.getRefsList()) {
+ spanBuilder.ref(new Span.SegmentRef(ref));
+ }
+ spans.add(spanBuilder.build());
+ }
+ builder.segmentId(segmentObject.getTraceSegmentId()).spans(spans);
+
+ ValidateData.INSTANCE.getSegmentItem()
+ .addSegmentItem(segmentObject.getService(), builder.build());
+ }
+
+}
diff --git a/pom.xml b/pom.xml
index 295e8c3..cf0e178 100644
--- a/pom.xml
+++ b/pom.xml
@@ -51,9 +51,9 @@
<snakeyaml.version>1.24</snakeyaml.version>
<slf4j.version>1.7.25</slf4j.version>
<log4j.version>2.9.0</log4j.version>
- <netty.version>4.1.12.Final</netty.version>
+ <netty.version>4.1.42.Final</netty.version>
<jetty.version>9.4.2.v20170220</jetty.version>
-
+ <netty-tcnative-boringssl-static.version>2.0.26.Final</netty-tcnative-boringssl-static.version>
</properties>
<dependencyManagement>
diff --git a/validator/README.md b/validator/README.md
index f092d7f..df2a8b1 100644
--- a/validator/README.md
+++ b/validator/README.md
@@ -1,5 +1,5 @@
-# agent-integration-testtool
-The agent-integration-testtool project is used that to validate the different of Skywalking Java Agent generate
+# agent-integration-test tool
+The agent-integration-test tool project is used that to validate the different of Skywalking Java Agent generate
data item between you expect and the actual generate.
## Assert Exceptions
@@ -7,23 +7,6 @@
### Data file
* [IllegalDataFileException](./docs/exception/IllegalDataFileException.md)
-### Registry Item
-#### Service
-* [RegistryInstanceOfServiceNotFoundException](./docs/exception/RegistryInstanceOfServiceNotFoundException.md)
-* [RegistryServiceNotFoundException](docs/exception/RegistryServiceNotFoundException.md)
-* [RegistryServiceSizeNotEqualsException](docs/exception/RegistryServiceSizeNotEqualsException.md)
-
-#### Instance
-* [RegistryInstanceOfServiceNotFoundException](./docs/exception/RegistryInstanceOfServiceNotFoundException.md)
-* [RegistryInstanceSizeNotEqualsException](./docs/exception/RegistryInstanceSizeNotEqualsException.md)
-* [RegistryInstancesNotEqualsException](./docs/exception/RegistryInstancesNotEqualsException.md)
-
-#### Operation name
-* [ActualRegistryOperationNameEmptyException](./docs/exception/ActualRegistryOperationNameEmptyException.md)
-* [RegistryOperationNameNotFoundException](./docs/exception/RegistryOperationNameNotFoundException.md)
-* [RegistryOperationNamesNotFoundException](./docs/exception/RegistryOperationNamesNotFoundException.md)
-* [RegistryOperationNamesOfServiceNotFoundException](./docs/exception/RegistryOperationNamesOfServiceNotFoundException.md)
-
### Segment
* [ActualSegmentItemEmptyException](./docs/exception/ActualSegmentItemEmptyException.md)
* [SegmentItemNotFoundException](./docs/exception/SegmentItemNotFoundException.md)
diff --git a/validator/docs/exception/RegistryInstanceOfServiceNotFoundException.md b/validator/docs/exception/RegistryInstanceOfServiceNotFoundException.md
deleted file mode 100644
index b11575c..0000000
--- a/validator/docs/exception/RegistryInstanceOfServiceNotFoundException.md
+++ /dev/null
@@ -1,25 +0,0 @@
-# RegistryInstanceOfServiceNotFoundException
-
-## Format
-RegistryInstanceOfServiceNotFoundException<br/>
-expected: Instances of Service(ServiceId)<br/>
-actual: NOT FOUND
-
-## Cause
-The `RegistryServiceNotFoundException` caused by one of service code that you write in the expected data file
-cannot found in the actual data file.
-
-
-## Check Points
-1. Check the service code is the value of `agent.service_name` that you configured.<br/>
-e.g.,
-the service that you write in the expected data file:
-```
-registryItems: {
- "test_servce_name": {
- }
-}
-```
-the service of `agent.service_name` that you configured: `-Dskywalking.agent.service_name=other_servce_name`
-
-2. Check the agent of someone project in the test case if it works.
\ No newline at end of file
diff --git a/validator/docs/exception/RegistryInstanceSizeNotEqualsException.md b/validator/docs/exception/RegistryInstanceSizeNotEqualsException.md
deleted file mode 100644
index 050e23b..0000000
--- a/validator/docs/exception/RegistryInstanceSizeNotEqualsException.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# RegistryInstanceSizeNotEqualsException
-
-## Format
-RegistryInstanceSizeNotEqualsException SERVICE_NAME<br/>
-expected: EXPECTED_SIZE<br/>
-actual: ACTUAL_SIZE
-
-## Cause
-The `RegistryInstanceSizeNotEqualsException` caused by the size of the registry instance of one service is different between you expected and the actual
-
-## Check Points
-1. Check the size of the registry instance that you expected
-
diff --git a/validator/docs/exception/RegistryInstancesNotEqualsException.md b/validator/docs/exception/RegistryInstancesNotEqualsException.md
deleted file mode 100644
index b52ecb5..0000000
--- a/validator/docs/exception/RegistryInstancesNotEqualsException.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# RegistryInstancesNotEqualsException
-
-## Format
-RegistryInstancesNotEqualsException<br/>
-expected: EXPECTED_INSTANCE_SIZE<br/>
-actual: ACTUAL_INSTANCE_SIZE
-
-## Cause by
-The RegistryInstancesNotEqualsException cause by the instance size is different between expected and actual
-
-## Check Points
-1. Check the instance size that your write if it is your expected.
\ No newline at end of file
diff --git a/validator/docs/exception/RegistryOperationNameNotFoundException.md b/validator/docs/exception/RegistryOperationNameNotFoundException.md
deleted file mode 100644
index eb05652..0000000
--- a/validator/docs/exception/RegistryOperationNameNotFoundException.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# RegistryOperationNameNotFoundException
-
-## Format
-RegistryOperationNameNotFoundException SERVICE_NAME<br/>
-expected: OPERATION_NAME<br/>
-actual: NOT FOUND
-
-## Cause
-The `RegistryOperationNameNotFoundException` caused by the registry operation name that you expected cannot found in the actual data file
-
-## Check Points
-1. Check if the registry operation name that you expected is correct
-2. Check if the instrumentation that it generates the operation name works
\ No newline at end of file
diff --git a/validator/docs/exception/RegistryOperationNamesNotFoundException.md b/validator/docs/exception/RegistryOperationNamesNotFoundException.md
deleted file mode 100644
index 368a105..0000000
--- a/validator/docs/exception/RegistryOperationNamesNotFoundException.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# RegistryOperationNamesNotFoundException
-
-## Format
-RegistryOperationNamesNotFoundException <SERVICE_NAME><br/>
-expected: <OPERATION_NAME_1, OPERATION_NAME_2, ....><br/>
-actual: Not Found<br/>
-
-## Cause by
-The RegistryOperationNamesNotFoundException cause by the registry operation names of someone service cannot found
- in the actual data file.
-
-## Check Points
-1. Check all the instrumentations about test case if it works.
\ No newline at end of file
diff --git a/validator/docs/exception/RegistryOperationNamesOfApplicationNotFoundException.md b/validator/docs/exception/RegistryOperationNamesOfApplicationNotFoundException.md
deleted file mode 100644
index 66da425..0000000
--- a/validator/docs/exception/RegistryOperationNamesOfApplicationNotFoundException.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# RegistryOperationNamesOfServiceNotFoundException
-
-## Format
-RegistryOperationNamesOfServiceNotFoundException<br/>
-expected: [ OPERATION_NAME_A, OPERATION_NAME_B, ...]<br/>
-actual: NOT FOUND
-
-## Cause
-The `RegistryOperationNamesOfServiceNotFoundException` caused by the registry operation name of someone service does not exist in the actual data file.
-
-## Check Points
-1. Check if the execute time of entry service of test case more than 40 seconds, Please make it less than 40 seconds.
\ No newline at end of file
diff --git a/validator/docs/exception/RegistryServiceNotFoundException.md b/validator/docs/exception/RegistryServiceNotFoundException.md
deleted file mode 100644
index 34023a4..0000000
--- a/validator/docs/exception/RegistryServiceNotFoundException.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# RegistryServiceNotFoundException
-
-## Format
-RegistryServiceNotFoundException<br/>
-expected: EXPECTED_SERVICE<br/>
-actual: NOT FOUND
-
-## Cause by
-The `RegistryServiceNotFoundException` caused by one of service code that you write in the expected data file
-cannot found in the actual data file.
-
-
-## Check points
-1. Check the service code is the value of `agent.service_name` that you configured.
-
-e.g.,
-the service that you write in the expected data file:
-```
-registryItems: {
- "test_servce_name": {
- }
-}
-```
-the service of `agent.service_name` that you configured:
-`-Dskywalking.agent.service_name=another_service_name`
-
-2. Check the agent of someone project in the test case if it works.
\ No newline at end of file
diff --git a/validator/docs/exception/RegistryServiceSizeNotEqualsException.md b/validator/docs/exception/RegistryServiceSizeNotEqualsException.md
deleted file mode 100644
index 5f41adc..0000000
--- a/validator/docs/exception/RegistryServiceSizeNotEqualsException.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# RegistryServiceSizeNotEqualsException
-
-## Format
-RegistryServiceSizeNotEqualsException SERVICE_NAME<br/>
-expected: EXPECTED_SIZE<br/>
-actual: ACTUAL_SIZE
-
-## Cause
-The `RegistryServiceSizeNotEqualsException` caused by the size of the registry service is different between expected and actual.
-
-## Check Points
-1. Check if the size of the registry service that you expected
-2. Check if the `agent.service_name` is duplicated in the test case project
\ No newline at end of file
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/DataAssert.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/DataAssert.java
index 4074817..fff1a99 100644
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/DataAssert.java
+++ b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/DataAssert.java
@@ -27,7 +27,6 @@
public static void assertEquals(Data excepted, Data actual) {
log.info("excepted data:\n{}", new GsonBuilder().setPrettyPrinting().create().toJson(excepted));
log.info("actual data:\n{}", new GsonBuilder().setPrettyPrinting().create().toJson(actual));
- RegistryItemsAssert.assertEquals(excepted.registryItems(), actual.registryItems());
SegmentItemsAssert.assertEquals(excepted.segmentItems(), actual.segmentItems());
log.info("{} assert successful.", "segment items");
}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/InstanceAssert.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/InstanceAssert.java
deleted file mode 100644
index dfde4a4..0000000
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/InstanceAssert.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.agent.tool.validator.assertor;
-
-import java.util.List;
-import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception.RegistryInstanceOfServiceNotFoundException;
-import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception.RegistryInstanceSizeNotEqualsException;
-import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception.ValueAssertFailedException;
-import org.apache.skywalking.plugin.test.agent.tool.validator.entity.RegistryInstance;
-
-public class InstanceAssert {
- public static void assertEquals(List<RegistryInstance> expected, List<RegistryInstance> actual) {
-
- if (expected == null) {
- return;
- }
-
- for (RegistryInstance instance : expected) {
- RegistryInstance actualInstance = getMatchService(actual, instance);
- try {
- ExpressParser.parse(actualInstance.expressValue())
- .assertValue(
- String.format("The registry instance of %s", instance.serviceName()),
- actualInstance
- .expressValue()
- );
- } catch (ValueAssertFailedException e) {
- throw new RegistryInstanceSizeNotEqualsException(instance.serviceName(), e);
- }
- }
- }
-
- private static RegistryInstance getMatchService(List<RegistryInstance> actual, RegistryInstance service) {
- for (RegistryInstance registryInstance : actual) {
- if (registryInstance.serviceName().equals(service.serviceName())) {
- return registryInstance;
- }
- }
- throw new RegistryInstanceOfServiceNotFoundException(service.serviceName());
- }
-}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/OperationNameAssert.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/OperationNameAssert.java
deleted file mode 100644
index cec6b3e..0000000
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/OperationNameAssert.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.agent.tool.validator.assertor;
-
-import java.util.List;
-import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception.ActualRegistryOperationNameEmptyException;
-import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception.RegistryOperationNameNotFoundException;
-import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception.RegistryOperationNamesOfServiceNotFoundException;
-import org.apache.skywalking.plugin.test.agent.tool.validator.entity.RegistryOperationName;
-
-public class OperationNameAssert {
- public static void assertEquals(List<RegistryOperationName> expected, List<RegistryOperationName> actual) {
- if (expected == null) {
- return;
- }
-
- for (RegistryOperationName operationName : expected) {
- RegistryOperationName actualOperationName = findActualRegistryOperationName(actual, operationName);
- assertOperationEquals(
- actualOperationName.serviceName(), operationName.operationName(), actualOperationName
- .operationName());
- }
- }
-
- private static void assertOperationEquals(String serviceName, List<String> expectedOperationName,
- List<String> actualOperationName) {
- for (String operationName : expectedOperationName) {
- if (!actualOperationName.contains(operationName)) {
- throw new RegistryOperationNameNotFoundException(serviceName, operationName);
- }
- }
- }
-
- private static RegistryOperationName findActualRegistryOperationName(List<RegistryOperationName> actual,
- RegistryOperationName registryOperationName) {
- if (actual == null) {
- throw new ActualRegistryOperationNameEmptyException(registryOperationName);
- }
-
- for (RegistryOperationName operationName : actual) {
- if (operationName.serviceName().equals(registryOperationName.serviceName())) {
- return operationName;
- }
- }
-
- throw new RegistryOperationNamesOfServiceNotFoundException(registryOperationName);
- }
-}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/RegistryItemsAssert.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/RegistryItemsAssert.java
deleted file mode 100644
index 6ffb950..0000000
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/RegistryItemsAssert.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.agent.tool.validator.assertor;
-
-import lombok.extern.slf4j.Slf4j;
-import org.apache.skywalking.plugin.test.agent.tool.validator.entity.RegistryItems;
-
-@Slf4j
-public class RegistryItemsAssert {
-
- public static void assertEquals(RegistryItems excepted, RegistryItems actual) {
- ServiceAssert.assertEquals(excepted.services(), actual.services());
- log.info("{} assert successful.", "registry services");
- InstanceAssert.assertEquals(excepted.instances(), actual.instances());
- log.info("{} assert successful.", "registry instances");
- OperationNameAssert.assertEquals(excepted.operationNames(), actual.operationNames());
- log.info("{} assert successful.", "registry operation name");
- }
-}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/SegmentAssert.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/SegmentAssert.java
index 1c50b58..57f6301 100644
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/SegmentAssert.java
+++ b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/SegmentAssert.java
@@ -211,10 +211,12 @@
private static boolean simpleSegmentRefEquals(SegmentRef expected, SegmentRef actual) {
try {
- ExpressParser.parse(expected.entryEndpointName())
- .assertValue("entry service name", actual.entryEndpointName());
- ExpressParser.parse(expected.parentEndpointName())
- .assertValue("parent service name", actual.parentEndpointName());
+ ExpressParser.parse(expected.parentEndpoint())
+ .assertValue("parent endpoint name", actual.parentEndpoint());
+ ExpressParser.parse(expected.parenService())
+ .assertValue("parent service name", actual.parenService());
+ ExpressParser.parse(expected.networkAddress())
+ .assertValue("network address", actual.networkAddress());
ExpressParser.parse(expected.refType()).assertValue("ref type", actual.refType());
return true;
} catch (ValueAssertFailedException e) {
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/SegmentRefAssert.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/SegmentRefAssert.java
index 41820c4..d78cb96 100644
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/SegmentRefAssert.java
+++ b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/SegmentRefAssert.java
@@ -57,24 +57,22 @@
private static boolean segmentRefEquals(SegmentRef expected, SegmentRef actual) {
try {
- ExpressParser.parse(expected.entryEndpointName())
- .assertValue("entry endpoint name", actual.entryEndpointName());
- ExpressParser.parse(expected.networkAddress()).assertValue("network address", actual.networkAddress());
+ ExpressParser.parse(expected.parentEndpoint())
+ .assertValue("entry endpoint name", actual.parentEndpoint());
+ ExpressParser.parse(expected.networkAddress())
+ .assertValue("network address", actual.networkAddress());
+ ExpressParser.parse(expected.refType())
+ .assertValue("ref type", actual.refType());
+ ExpressParser.parse(expected.parentSpanId())
+ .assertValue("span id", actual.parentSpanId());
ExpressParser.parse(expected.parentTraceSegmentId())
.assertValue("parent segment id", actual.parentTraceSegmentId());
- ExpressParser.parse(expected.parentSpanId()).assertValue("span id", actual.parentSpanId());
- ExpressParser.parse(expected.entryEndpointId()).assertValue("entry endpoint id", actual.entryEndpointId());
- ExpressParser.parse(expected.networkAddressId())
- .assertValue("network address id", actual.networkAddressId());
- ExpressParser.parse(expected.parentServiceInstanceId())
- .assertValue("parent service instance id", actual.parentServiceInstanceId());
- ExpressParser.parse(expected.parentEndpointId())
- .assertValue("parent endpoint id", actual.parentEndpointId());
- ExpressParser.parse(expected.parentEndpointName())
- .assertValue("parent endpoint name", actual.parentEndpointName());
- ExpressParser.parse(expected.refType()).assertValue("ref type", actual.refType());
- ExpressParser.parse(expected.entryServiceInstanceId())
- .assertValue("entry service instance id", actual.entryServiceInstanceId());
+ ExpressParser.parse(expected.parentServiceInstance())
+ .assertValue("parent service instance", actual.parentServiceInstance());
+ ExpressParser.parse(expected.parenService())
+ .assertValue("parent service name", actual.parenService());
+ ExpressParser.parse(expected.traceId())
+ .assertValue("trace id", actual.traceId());
return true;
} catch (ValueAssertFailedException e) {
throw new SegmentRefAssertFailedException(e, expected, actual);
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/ServiceAssert.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/ServiceAssert.java
deleted file mode 100644
index 332cc94..0000000
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/ServiceAssert.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.agent.tool.validator.assertor;
-
-import java.util.List;
-import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception.RegistryServiceNotFoundException;
-import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception.RegistryServiceSizeNotEqualsException;
-import org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception.ValueAssertFailedException;
-import org.apache.skywalking.plugin.test.agent.tool.validator.entity.RegistryService;
-
-public class ServiceAssert {
- public static void assertEquals(List<RegistryService> expected, List<RegistryService> actual) {
-
- if (expected == null) {
- return;
- }
-
- for (RegistryService service : expected) {
- RegistryService actualService = getMatchService(actual, service);
- try {
- ExpressParser.parse(service.expressValue())
- .assertValue("registry service", actualService.expressValue());
- } catch (ValueAssertFailedException e) {
- throw new RegistryServiceSizeNotEqualsException(service.serviceName(), e);
- }
- }
- }
-
- private static RegistryService getMatchService(List<RegistryService> actual,
- RegistryService service) {
- for (RegistryService registryService : actual) {
- if (registryService.serviceName().equals(service.serviceName())) {
- return registryService;
- }
- }
- throw new RegistryServiceNotFoundException(service.serviceName());
- }
-}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/ActualRegistryOperationNameEmptyException.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/ActualRegistryOperationNameEmptyException.java
deleted file mode 100644
index 2524e79..0000000
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/ActualRegistryOperationNameEmptyException.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception;
-
-import org.apache.skywalking.plugin.test.agent.tool.validator.entity.RegistryOperationName;
-import org.apache.skywalking.plugin.test.agent.tool.validator.exception.AssertFailedException;
-
-public class ActualRegistryOperationNameEmptyException extends AssertFailedException {
-
- private final RegistryOperationName registryOperationName;
-
- public ActualRegistryOperationNameEmptyException(RegistryOperationName registryOperationName) {
- this.registryOperationName = registryOperationName;
- }
-
- @Override
- public String getCauseMessage() {
- return String.format(
- "ActualRegistryOperationNameEmptyException\nexpected:%s\nactual:%s\n", registryOperationName
- .operationName(), "Empty");
- }
-}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/RegistryInstanceOfServiceNotFoundException.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/RegistryInstanceOfServiceNotFoundException.java
deleted file mode 100644
index c604fb8..0000000
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/RegistryInstanceOfServiceNotFoundException.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception;
-
-import org.apache.skywalking.plugin.test.agent.tool.validator.exception.AssertFailedException;
-
-public class RegistryInstanceOfServiceNotFoundException extends AssertFailedException {
-
- private final String serviceName;
-
- public RegistryInstanceOfServiceNotFoundException(String serviceName) {
- this.serviceName = serviceName;
- }
-
- @Override
- public String getCauseMessage() {
- return String.format(
- "RegistryInstanceOfServiceNotFoundException\nexpected: Instances of Service(%s)" + "\nactual: %s\n",
- serviceName, "NOT FOUND"
- );
- }
-}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/RegistryInstanceSizeNotEqualsException.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/RegistryInstanceSizeNotEqualsException.java
deleted file mode 100644
index 8311214..0000000
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/RegistryInstanceSizeNotEqualsException.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception;
-
-import org.apache.skywalking.plugin.test.agent.tool.validator.exception.AssertFailedException;
-
-public class RegistryInstanceSizeNotEqualsException extends AssertFailedException {
-
- private final String serviceName;
- private final ValueAssertFailedException cause;
-
- public RegistryInstanceSizeNotEqualsException(String serviceName, ValueAssertFailedException cause) {
- this.serviceName = serviceName;
- this.cause = cause;
- }
-
- @Override
- public String getCauseMessage() {
- return String.format(
- "RegistryInstanceSizeNotEqualsException %s\nexpected: %s\nactual: %s\n", serviceName, cause
- .getExpected(), cause.getActual());
- }
-}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/RegistryOperationNameNotFoundException.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/RegistryOperationNameNotFoundException.java
deleted file mode 100644
index 4647c26..0000000
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/RegistryOperationNameNotFoundException.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception;
-
-import org.apache.skywalking.plugin.test.agent.tool.validator.exception.AssertFailedException;
-
-public class RegistryOperationNameNotFoundException extends AssertFailedException {
- private final String serviceName;
- private final String operationName;
-
- public RegistryOperationNameNotFoundException(String serviceName, String operationName) {
- this.serviceName = serviceName;
- this.operationName = operationName;
- }
-
- @Override
- public String getCauseMessage() {
- return String.format(
- "RegistryOperationNameNotFoundException %s\nexpected: %s\nactual: %s\n", serviceName, operationName,
- "NOT FOUND"
- );
- }
-}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/RegistryOperationNamesOfServiceNotFoundException.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/RegistryOperationNamesOfServiceNotFoundException.java
deleted file mode 100644
index f8adf42..0000000
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/RegistryOperationNamesOfServiceNotFoundException.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception;
-
-import org.apache.skywalking.plugin.test.agent.tool.validator.entity.RegistryOperationName;
-import org.apache.skywalking.plugin.test.agent.tool.validator.exception.AssertFailedException;
-
-public class RegistryOperationNamesOfServiceNotFoundException extends AssertFailedException {
- private final RegistryOperationName registryOperationName;
-
- public RegistryOperationNamesOfServiceNotFoundException(RegistryOperationName registryOperationName) {
- this.registryOperationName = registryOperationName;
- }
-
- @Override
- public String getCauseMessage() {
- return String.format(
- "RegistryOperationNamesOfServiceNotFoundException %s\nexpected: %s\nactual: %s\n", registryOperationName
- .serviceName(), registryOperationName.operationName(), "NOT FOUND");
- }
-}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/RegistryServiceNotFoundException.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/RegistryServiceNotFoundException.java
deleted file mode 100644
index f5335d8..0000000
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/RegistryServiceNotFoundException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception;
-
-import org.apache.skywalking.plugin.test.agent.tool.validator.exception.AssertFailedException;
-
-public class RegistryServiceNotFoundException extends AssertFailedException {
- private final String serviceName;
-
- public RegistryServiceNotFoundException(String serviceName) {
- this.serviceName = serviceName;
- }
-
- @Override
- public String getCauseMessage() {
- return String.format(
- "RegistryServiceNotFoundException\nexpected: %s\nactual: %s\n", serviceName, "Not Found");
- }
-}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/RegistryServiceSizeNotEqualsException.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/RegistryServiceSizeNotEqualsException.java
deleted file mode 100644
index 2d7fd25..0000000
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/RegistryServiceSizeNotEqualsException.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.agent.tool.validator.assertor.exception;
-
-import org.apache.skywalking.plugin.test.agent.tool.validator.exception.AssertFailedException;
-
-public class RegistryServiceSizeNotEqualsException extends AssertFailedException {
- private final String serviceName;
- private final ValueAssertFailedException cause;
-
- public RegistryServiceSizeNotEqualsException(String serviceName, ValueAssertFailedException cause) {
- this.serviceName = serviceName;
- this.cause = cause;
- }
-
- @Override
- public String getCauseMessage() {
- return String.format(
- "RegistryServiceSizeNotEqualsException: %s\nexpected: %s\nactual: %s\n", serviceName, cause
- .getExpected(), cause.getActual());
- }
-}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/SegmentRefNotFoundException.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/SegmentRefNotFoundException.java
index 49f4e1f..b9669fb 100644
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/SegmentRefNotFoundException.java
+++ b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/exception/SegmentRefNotFoundException.java
@@ -40,13 +40,14 @@
String reason = cause.getFailedCause().getCauseMessage();
StringBuilder actualSegmentRef = new StringBuilder(String.format("\nSegmentRef:\t%s\n", reason));
- actualSegmentRef.append(String.format(" - entryServiceName:\t\t%s\n", actual.entryEndpointName()))
- .append(String.format(" - networkAddress:\t\t\t%s\n", actual.networkAddress()))
- .append(String.format(" - parentServiceName:\t\t%s\n", actual.parentEndpointName()))
- .append(String.format(" - parentSpanId:\t\t\t%s\n", actual.parentSpanId()))
- .append(String.format(" - parentTraceSegmentId:\t%s\n", actual.parentTraceSegmentId()))
- .append(String.format(" - refType:\t\t\t\t\t%s", actual.refType()))
- .toString();
+ actualSegmentRef // FIXME
+ // .append(String.format(" - entryServiceName:\t\t%s\n", actual.entryEndpointName()))
+ .append(String.format(" - networkAddress:\t\t\t%s\n", actual.networkAddress()))
+ // .append(String.format(" - parentServiceName:\t\t%s\n", actual.parentEndpointName()))
+ .append(String.format(" - parentSpanId:\t\t\t%s\n", actual.parentSpanId()))
+ .append(String.format(" - parentTraceSegmentId:\t%s\n", actual.parentTraceSegmentId()))
+ .append(String.format(" - refType:\t\t\t\t\t%s", actual.refType()))
+ .toString();
actualMessage.append(String.format("%s\n", actualSegmentRef));
}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/Data.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/Data.java
index c43f71a..79e0f4b 100644
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/Data.java
+++ b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/Data.java
@@ -28,8 +28,6 @@
import org.yaml.snakeyaml.representer.Representer;
public interface Data {
- RegistryItems registryItems();
-
List<SegmentItem> segmentItems();
class Loader {
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/DataForRead.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/DataForRead.java
index b235279..8ddf94b 100644
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/DataForRead.java
+++ b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/DataForRead.java
@@ -21,17 +21,8 @@
import java.util.List;
public class DataForRead implements Data {
- private RegistryItemsForRead registryItems;
private List<SegmentItemForRead> segmentItems;
- public void setRegistryItems(RegistryItemsForRead registryItems) {
- this.registryItems = registryItems;
- }
-
- public RegistryItemsForRead getRegistryItems() {
- return registryItems;
- }
-
public List<SegmentItemForRead> getSegmentItems() {
return segmentItems;
}
@@ -41,11 +32,6 @@
}
@Override
- public RegistryItemsForRead registryItems() {
- return registryItems;
- }
-
- @Override
public List<SegmentItem> segmentItems() {
if (this.segmentItems == null) {
return null;
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/RegistryInstance.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/RegistryInstance.java
deleted file mode 100644
index ab50500..0000000
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/RegistryInstance.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.agent.tool.validator.entity;
-
-public interface RegistryInstance {
-
- String serviceName();
-
- String expressValue();
-
- class Impl implements RegistryInstance {
-
- private final String serviceName;
- private final String express;
-
- Impl(String serviceName, String express) {
- this.serviceName = serviceName;
- this.express = express;
- }
-
- @Override
- public String serviceName() {
- return serviceName;
- }
-
- @Override
- public String expressValue() {
- return express;
- }
- }
-}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/RegistryItems.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/RegistryItems.java
deleted file mode 100644
index 8825ae3..0000000
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/RegistryItems.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.agent.tool.validator.entity;
-
-import java.util.List;
-
-public interface RegistryItems {
- List<RegistryService> services();
-
- List<RegistryInstance> instances();
-
- List<RegistryOperationName> operationNames();
-}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/RegistryItemsForRead.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/RegistryItemsForRead.java
deleted file mode 100644
index 4afe2d6..0000000
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/RegistryItemsForRead.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.agent.tool.validator.entity;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-public class RegistryItemsForRead implements RegistryItems {
- private List<Map<String, String>> services;
- private List<Map<String, String>> instances;
- private List<Map<String, List<String>>> operationNames;
-
- public List<Map<String, String>> getServices() {
- return services;
- }
-
- public void setServices(List<Map<String, String>> services) {
- this.services = services;
- }
-
- public List<Map<String, String>> getInstances() {
- return instances;
- }
-
- public void setInstances(List<Map<String, String>> instances) {
- this.instances = instances;
- }
-
- public List<Map<String, List<String>>> getOperationNames() {
- return operationNames;
- }
-
- public void setOperationNames(List<Map<String, List<String>>> operationNames) {
- this.operationNames = operationNames;
- }
-
- @Override
- public List<RegistryService> services() {
- if (this.services == null) {
- return null;
- }
-
- List<RegistryService> registryServices = new ArrayList<>();
- for (Map<String, String> registryService : services) {
- String serviceName = new ArrayList<String>(registryService.keySet()).get(0);
- String express = String.valueOf(registryService.get(serviceName));
- registryServices.add(new RegistryService.Impl(serviceName, express));
- }
- return registryServices;
- }
-
- @Override
- public List<RegistryInstance> instances() {
- if (this.instances == null) {
- return null;
- }
-
- List<RegistryInstance> registryInstances = new ArrayList<>();
- instances.forEach((registryInstance) -> {
- String serviceName = new ArrayList<String>(registryInstance.keySet()).get(0);
- String express = String.valueOf(registryInstance.get(serviceName));
- registryInstances.add(new RegistryInstance.Impl(serviceName, express));
- });
- return registryInstances;
- }
-
- @Override
- public List<RegistryOperationName> operationNames() {
- if (this.operationNames == null) {
- return null;
- }
-
- List<RegistryOperationName> registryOperationNames = new ArrayList<>();
- operationNames.forEach((registryInstance) -> {
- String serviceName = new ArrayList<String>(registryInstance.keySet()).get(0);
- List<String> express = registryInstance.get(serviceName);
- registryOperationNames.add(new RegistryOperationName.Impl(serviceName, express));
- });
- return registryOperationNames;
- }
-}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/RegistryOperationName.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/RegistryOperationName.java
deleted file mode 100644
index 4914437..0000000
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/RegistryOperationName.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.agent.tool.validator.entity;
-
-import java.util.List;
-
-public interface RegistryOperationName {
- String serviceName();
-
- List<String> operationName();
-
- class Impl implements RegistryOperationName {
- private final String serviceName;
- private final List<String> express;
-
- Impl(String serviceName, List<String> express) {
- this.serviceName = serviceName;
- this.express = express;
- }
-
- @Override
- public String serviceName() {
- return serviceName;
- }
-
- @Override
- public List<String> operationName() {
- return express;
- }
- }
-}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/RegistryService.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/RegistryService.java
deleted file mode 100644
index 1a59b57..0000000
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/RegistryService.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.skywalking.plugin.test.agent.tool.validator.entity;
-
-public interface RegistryService {
- String serviceName();
-
- String expressValue();
-
- class Impl implements RegistryService {
- private String serviceName;
- private String express;
-
- Impl(String serviceName, String express) {
- this.serviceName = serviceName;
- this.express = express;
- }
-
- @Override
- public String serviceName() {
- return serviceName;
- }
-
- @Override
- public String expressValue() {
- return express;
- }
- }
-}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/SegmentForRead.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/SegmentForRead.java
index a4af081..06d1840 100644
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/SegmentForRead.java
+++ b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/SegmentForRead.java
@@ -20,6 +20,8 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import lombok.Getter;
+import lombok.ToString;
public class SegmentForRead implements Segment {
private String segmentId;
@@ -38,100 +40,40 @@
return new ArrayList<>(spans);
}
+ @Getter
+ @ToString
public static class SegmentRefForRead implements SegmentRef {
- private String parentEndpointId;
private String parentEndpoint;
- private String networkAddressId;
- private String entryEndpointId;
+ private String networkAddress;
private String refType;
private String parentSpanId;
private String parentTraceSegmentId;
- private String parentServiceInstanceId;
- private String networkAddress;
- private String entryEndpoint;
- private String entryServiceInstanceId;
+ private String parentServiceInstance;
+ private String parenService;
+ private String traceId;
public SegmentRefForRead() {
}
public SegmentRefForRead(Map<String, Object> ref) {
- this.networkAddress = ref.get("networkAddress").toString();
- this.entryEndpoint = ref.get("entryEndpoint").toString();
this.parentEndpoint = ref.get("parentEndpoint").toString();
- this.parentTraceSegmentId = ref.get("parentTraceSegmentId").toString();
- this.entryServiceInstanceId = ref.get("entryServiceInstanceId").toString();
+ this.networkAddress = ref.get("networkAddress").toString();
this.refType = ref.get("refType") == null ? null : ref.get("refType").toString();
this.parentSpanId = ref.get("parentSpanId") == null ? null : ref.get("parentSpanId").toString();
- this.entryEndpointId = ref.get("entryEndpointId") == null ? null : ref.get("entryEndpointId").toString();
- this.parentEndpointId = ref.get("parentEndpointId") == null ? null : ref.get("parentEndpointId").toString();
- this.networkAddressId = ref.get("networkAddressId") == null ? null : ref.get("networkAddressId").toString();
- this.parentServiceInstanceId = ref.get("parentServiceInstanceId") == null ? null : ref.get(
- "parentServiceInstanceId")
- .toString();
- }
-
- public void setParentEndpointId(String parentEndpointId) {
- this.parentEndpointId = parentEndpointId;
- }
-
- public void setParentEndpoint(String parentEndpoint) {
- this.parentEndpoint = parentEndpoint;
- }
-
- public void setNetworkAddressId(String networkAddressId) {
- this.networkAddressId = networkAddressId;
- }
-
- public void setEntryEndpointId(String entryEndpointId) {
- this.entryEndpointId = entryEndpointId;
- }
-
- public void setRefType(String refType) {
- this.refType = refType;
- }
-
- public void setParentSpanId(String parentSpanId) {
- this.parentSpanId = parentSpanId;
- }
-
- public void setParentTraceSegmentId(String parentTraceSegmentId) {
- this.parentTraceSegmentId = parentTraceSegmentId;
- }
-
- public void setParentServiceInstanceId(String parentServiceInstanceId) {
- this.parentServiceInstanceId = parentServiceInstanceId;
- }
-
- public void setNetworkAddress(String networkAddress) {
- this.networkAddress = networkAddress;
- }
-
- public void setEntryEndpoint(String entryEndpoint) {
- this.entryEndpoint = entryEndpoint;
- }
-
- public void setEntryServiceInstanceId(String entryServiceInstanceId) {
- this.entryServiceInstanceId = entryServiceInstanceId;
+ this.parentTraceSegmentId = ref.get("parentTraceSegmentId").toString();
+ this.parentServiceInstance = ref.get("parentServiceInstance").toString();
+ this.parenService = ref.get("parentService").toString();
+ this.traceId = ref.get("traceId").toString();
}
@Override
- public String parentEndpointId() {
- return parentEndpointId;
- }
-
- @Override
- public String parentEndpointName() {
+ public String parentEndpoint() {
return parentEndpoint;
}
@Override
- public String networkAddressId() {
- return networkAddressId;
- }
-
- @Override
- public String entryEndpointId() {
- return entryEndpointId;
+ public String networkAddress() {
+ return networkAddress;
}
@Override
@@ -150,40 +92,23 @@
}
@Override
- public String parentServiceInstanceId() {
- return parentServiceInstanceId;
+ public String parentServiceInstance() {
+ return parentServiceInstance;
}
@Override
- public String networkAddress() {
- return networkAddress;
- }
-
- @Override
- public String entryEndpointName() {
- return entryEndpoint;
- }
-
- @Override
- public void parentTraceSegmentId(String parentTraceSegmentId) {
+ public void parentTraceSegmentId(final String parentSegmentId) {
this.parentTraceSegmentId = parentTraceSegmentId;
}
@Override
- public String entryServiceInstanceId() {
- return entryServiceInstanceId;
+ public String parenService() {
+ return parenService;
}
@Override
- public String toString() {
- StringBuilder actualSegmentRef = new StringBuilder("\nSegmentRef:\n");
- return actualSegmentRef.append(String.format(" - entryServiceName:\t\t%s\n", entryEndpointName()))
- .append(String.format(" - networkAddress:\t\t\t%s\n", networkAddress()))
- .append(String.format(" - parentServiceName:\t\t%s\n", parentEndpointName()))
- .append(String.format(" - parentSpanId:\t\t\t%s\n", parentSpanId()))
- .append(String.format(" - parentTraceSegmentId:\t%s\n", parentTraceSegmentId()))
- .append(String.format(" - refType:\t\t\t\t\t%s", refType()))
- .toString();
+ public String traceId() {
+ return traceId;
}
}
@@ -206,6 +131,7 @@
private String spanType;
private String peer;
private String peerId;
+ private boolean skipAnalysis;
public void setOperationName(String operationName) {
this.operationName = operationName;
@@ -271,6 +197,10 @@
this.refs = refs;
}
+ public void setSkipAnalysis(boolean skipAnalysis) {
+ this.skipAnalysis = skipAnalysis;
+ }
+
@Override
public String operationName() {
return operationName;
@@ -367,6 +297,11 @@
}
@Override
+ public boolean skipAnalysis() {
+ return skipAnalysis;
+ }
+
+ @Override
public List<SegmentRef> refs() {
if (formatedRefs == null && refs != null) {
List<SegmentRef> segmentRefs = new ArrayList<>();
@@ -418,4 +353,5 @@
public void setSpans(List<SpanForRead> spans) {
this.spans = spans;
}
+
}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/SegmentRef.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/SegmentRef.java
index 77cf0b7..449d97a 100644
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/SegmentRef.java
+++ b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/SegmentRef.java
@@ -18,14 +18,9 @@
package org.apache.skywalking.plugin.test.agent.tool.validator.entity;
public interface SegmentRef {
+ String parentEndpoint();
- String parentEndpointId();
-
- String parentEndpointName();
-
- String networkAddressId();
-
- String entryEndpointId();
+ String networkAddress();
String refType();
@@ -33,13 +28,11 @@
String parentTraceSegmentId();
- String parentServiceInstanceId();
+ void parentTraceSegmentId(String parentSegmentId);
- String networkAddress();
+ String parentServiceInstance();
- String entryEndpointName();
+ String parenService();
- void parentTraceSegmentId(String parentTraceSegmentId);
-
- String entryServiceInstanceId();
+ String traceId();
}
diff --git a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/Span.java b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/Span.java
index ea1bc99..e193a97 100644
--- a/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/Span.java
+++ b/validator/src/main/java/org/apache/skywalking/plugin/test/agent/tool/validator/entity/Span.java
@@ -50,6 +50,8 @@
String peerId();
+ boolean skipAnalysis();
+
List<SegmentRef> refs();
void setActualRefs(List<SegmentRef> refs);
diff --git a/validator/src/test/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/DataAssertTest.java b/validator/src/test/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/DataAssertTest.java
index 028fd56..b852dbb 100644
--- a/validator/src/test/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/DataAssertTest.java
+++ b/validator/src/test/java/org/apache/skywalking/plugin/test/agent/tool/validator/assertor/DataAssertTest.java
@@ -35,8 +35,7 @@
Data.Loader.loadData("actualData.yaml", actualData)
);
} catch (AssertFailedException e) {
- System.out.println(String.format("\nassert failed.\n%s\n", e.getCauseMessage()));
-
+ throw new RuntimeException(String.format("\nassert failed.\n%s\n", e.getCauseMessage()), e);
}
}
diff --git a/validator/src/test/resources/actualData.yaml b/validator/src/test/resources/actualData.yaml
index 76d6c8b..d42a117 100644
--- a/validator/src/test/resources/actualData.yaml
+++ b/validator/src/test/resources/actualData.yaml
@@ -12,284 +12,89 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-{
- "registryItems": {
- "services": [
- {
- "vertx-core-3.x-scenario": 2
- }
- ],
- "instances": [
- {
- "vertx-core-3.x-scenario": 1
- }
- ],
- "operationNames": [
- {
- "vertx-core-3.x-scenario": [
- "/vertx-core-3-scenario/vertx-core/core-case",
- "/vertx-core-3-scenario/vertx-core/executeTest",
- "cluster-message-receiver"
- ]
- }
- ]
- },
- "segmentItems": [
- {
- "serviceName": "vertx-core-3.x-scenario",
- "segmentSize": "8",
- "segments": [
- {
- "segmentId": "1.159.15542729582940000",
- "spans": [
- {
- "operationName": "#local-message-receiver",
- "operationId": "0",
- "parentSpanId": "-1",
- "spanId": "0",
- "spanLayer": "RPCFramework",
- "refs": [
- {
- "parentEndpointId": 0,
- "parentEndpoint": "local-message-receiver",
- "networkAddressId": 0,
- "entryEndpointId": 0,
- "refType": "CrossThread",
- "parentSpanId": 0,
- "parentTraceSegmentId": "1.158.15542729582900006",
- "parentServiceInstanceId": 1,
- "networkAddress": "",
- "entryEndpoint": "local-message-receiver",
- "entryServiceInstanceId": 1
- }
- ],
- "startTime": "1554272958294",
- "endTime": "1554272958294",
- "componentId": "59",
- "componentName": "",
- "isError": false,
- "spanType": "Local",
- "peer": "",
- "peerId": "0"
- }
- ]
- },
- {
- "segmentId": "1.158.15542729582900006",
- "spans": [
- {
- "operationName": "local-message-receiver",
- "operationId": "0",
- "parentSpanId": "-1",
- "spanId": "0",
- "spanLayer": "RPCFramework",
- "startTime": "1554272958290",
- "endTime": "1554272958305",
- "componentId": "59",
- "componentName": "",
- "isError": false,
- "spanType": "Local",
- "peer": "",
- "peerId": "0"
- }
- ]
- },
- {
- "segmentId": "1.158.15542729581640000",
- "spans": [
- {
- "operationName": "/vertx-core-3-scenario/vertx-core/executeTest",
- "operationId": "0",
- "parentSpanId": "-1",
- "spanId": "0",
- "spanLayer": "Http",
- "tags": [
- {
- "key": "http.method",
- "value": "GET"
- },
- {
- "key": "url",
- "value": "http://localhost:8080/vertx-core-3-scenario/vertx-core/executeTest"
- }
- ],
- "startTime": "1554272958168",
- "endTime": "1554272958339",
- "componentId": "59",
- "componentName": "",
- "isError": false,
- "spanType": "Exit",
- "peer": "/vertx-core-3-scenario/vertx-core/executeTest",
- "peerId": "0"
- }
- ]
- },
- {
- "segmentId": "1.158.15542729581890002",
- "spans": [
- {
- "operationName": "/vertx-core-3-scenario/vertx-core/core-case",
- "operationId": "0",
- "parentSpanId": "-1",
- "spanId": "0",
- "spanLayer": "Http",
- "tags": [
- {
- "key": "http.method",
- "value": "GET"
- },
- {
- "key": "url",
- "value": "http://localhost:18080/vertx-core-3-scenario/vertx-core/core-case"
- }
- ],
- "startTime": "1554272958190",
- "endTime": "1554272958340",
- "componentId": "59",
- "componentName": "",
- "isError": false,
- "spanType": "Entry",
- "peer": "",
- "peerId": "0"
- }
- ]
- },
- {
- "segmentId": "1.81.15542729583180000",
- "spans": [
- {
- "operationName": "cluster-message-receiver",
- "operationId": "0",
- "parentSpanId": "-1",
- "spanId": "0",
- "spanLayer": "RPCFramework",
- "refs": [
- {
- "parentEndpointId": 0,
- "parentEndpoint": "cluster-message-receiver",
- "networkAddressId": 0,
- "entryEndpointId": 0,
- "refType": "CrossProcess",
- "parentSpanId": 0,
- "parentTraceSegmentId": "1.158.15542729582940008",
- "parentServiceInstanceId": 1,
- "networkAddress": "localhost:45171",
- "entryEndpoint": "cluster-message-receiver",
- "entryServiceInstanceId": 1
- }
- ],
- "startTime": "1554272958318",
- "endTime": "1554272958320",
- "componentId": "59",
- "componentName": "",
- "isError": false,
- "spanType": "Entry",
- "peer": "",
- "peerId": "0"
- }
- ]
- },
- {
- "segmentId": "1.158.15542729583390010",
- "spans": [
- {
- "operationName": "#/vertx-core-3-scenario/vertx-core/executeTest",
- "operationId": "0",
- "parentSpanId": "-1",
- "spanId": "0",
- "spanLayer": "Http",
- "refs": [
- {
- "parentEndpointId": 0,
- "parentEndpoint": "/vertx-core-3-scenario/vertx-core/executeTest",
- "networkAddressId": 0,
- "entryEndpointId": 0,
- "refType": "CrossThread",
- "parentSpanId": 0,
- "parentTraceSegmentId": "1.158.15542729581640000",
- "parentServiceInstanceId": 1,
- "networkAddress": "",
- "entryEndpoint": "/vertx-core-3-scenario/vertx-core/executeTest",
- "entryServiceInstanceId": 1
- }
- ],
- "startTime": "1554272958339",
- "endTime": "1554272958340",
- "componentId": "59",
- "componentName": "",
- "isError": false,
- "spanType": "Local",
- "peer": "",
- "peerId": "0"
- }
- ]
- },
- {
- "segmentId": "1.158.15542729582940008",
- "spans": [
- {
- "operationName": "cluster-message-receiver",
- "operationId": "0",
- "parentSpanId": "-1",
- "spanId": "0",
- "spanLayer": "RPCFramework",
- "startTime": "1554272958294",
- "endTime": "1554272958324",
- "componentId": "59",
- "componentName": "",
- "isError": false,
- "spanType": "Exit",
- "peer": "localhost:45171",
- "peerId": "0"
- }
- ]
- },
- {
- "segmentId": "1.158.15542729582860004",
- "spans": [
- {
- "operationName": "/vertx-core-3-scenario/vertx-core/executeTest",
- "operationId": "0",
- "parentSpanId": "-1",
- "spanId": "0",
- "spanLayer": "Http",
- "tags": [
- {
- "key": "http.method",
- "value": "GET"
- },
- {
- "key": "url",
- "value": "http://localhost:8080/vertx-core-3-scenario/vertx-core/executeTest"
- }
- ],
- "refs": [
- {
- "parentEndpointId": 0,
- "parentEndpoint": "/vertx-core-3-scenario/vertx-core/executeTest",
- "networkAddressId": 0,
- "entryEndpointId": 0,
- "refType": "CrossProcess",
- "parentSpanId": 0,
- "parentTraceSegmentId": "1.158.15542729581640000",
- "parentServiceInstanceId": 1,
- "networkAddress": "/vertx-core-3-scenario/vertx-core/executeTest",
- "entryEndpoint": "/vertx-core-3-scenario/vertx-core/executeTest",
- "entryServiceInstanceId": 1
- }
- ],
- "startTime": "1554272958286",
- "endTime": "1554272958325",
- "componentId": "59",
- "componentName": "",
- "isError": false,
- "spanType": "Entry",
- "peer": "",
- "peerId": "0"
- }
- ]
- }
- ]
- }
- ]
-}
+segmentItems:
+ - serviceName: jettyserver-scenario
+ segmentSize: 1
+ segments:
+ - segmentId: b7b87f050b004bcbaf6c3b461e310b39.19.15860972284530000
+ spans:
+ - operationName: /jettyserver-case/case/receiveContext-0
+ operationId: 0
+ parentSpanId: -1
+ spanId: 0
+ spanLayer: Http
+ startTime: 1586097228454
+ endTime: 1586097230551
+ componentId: 19
+ componentName: ''
+ isError: false
+ spanType: Entry
+ peer: ''
+ peerId: 0
+ skipAnalysis: false
+ tags:
+ - {key: url, value: 'http://localhost:18080/jettyserver-case/case/receiveContext-0'}
+ - {key: http.method, value: GET}
+ refs:
+ - {parentEndpoint: /jettyclient-case/case/jettyclient-case, networkAddress: 'localhost:18080',
+ refType: CrossProcess, parentSpanId: 1, parentTraceSegmentId: 9da55094db7845919d8de81cf26e9769.44.15860972266610000,
+ parentServiceInstance: 2c6396ba48d549c99ae3c1643aae5a90@172.17.0.2, parentService: jettyclient-scenario,
+ traceId: 9da55094db7845919d8de81cf26e9769.44.15860972266610001}
+ - serviceName: jettyclient-scenario
+ segmentSize: 2
+ segments:
+ - segmentId: 9da55094db7845919d8de81cf26e9769.43.15860972260670000
+ spans:
+ - operationName: /jettyclient-case/case/healthCheck
+ operationId: 0
+ parentSpanId: -1
+ spanId: 0
+ spanLayer: Http
+ startTime: 1586097226069
+ endTime: 1586097226561
+ componentId: 1
+ componentName: ''
+ isError: false
+ spanType: Entry
+ peer: ''
+ peerId: 0
+ skipAnalysis: false
+ tags:
+ - {key: url, value: 'http://localhost:8080/jettyclient-case/case/healthCheck'}
+ - {key: http.method, value: HEAD}
+ - segmentId: 9da55094db7845919d8de81cf26e9769.44.15860972266610000
+ spans:
+ - operationName: /jettyserver-case/case/receiveContext-0
+ operationId: 0
+ parentSpanId: 0
+ spanId: 1
+ spanLayer: Http
+ startTime: 1586097226783
+ endTime: 1586097230546
+ componentId: 18
+ componentName: ''
+ isError: false
+ spanType: Exit
+ peer: localhost:18080
+ peerId: 0
+ skipAnalysis: false
+ tags:
+ - {key: http.method, value: GET}
+ - {key: url, value: 'http://localhost:18080/jettyserver-case/case/receiveContext-0'}
+ - operationName: /jettyclient-case/case/jettyclient-case
+ operationId: 0
+ parentSpanId: -1
+ spanId: 0
+ spanLayer: Http
+ startTime: 1586097226661
+ endTime: 1586097230548
+ componentId: 1
+ componentName: ''
+ isError: false
+ spanType: Entry
+ peer: ''
+ peerId: 0
+ skipAnalysis: false
+ tags:
+ - {key: url, value: 'http://localhost:8080/jettyclient-case/case/jettyclient-case'}
+ - {key: http.method, value: GET}
\ No newline at end of file
diff --git a/validator/src/test/resources/expectedData.yaml b/validator/src/test/resources/expectedData.yaml
index a24a846..73e12d6 100644
--- a/validator/src/test/resources/expectedData.yaml
+++ b/validator/src/test/resources/expectedData.yaml
@@ -12,281 +12,89 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-{
- "registryItems": {
- "services": [
- {
- "vertx-core-3.x-scenario": 2
- }
- ],
- "instances": [
- {
- "vertx-core-3.x-scenario": 1
- }
- ],
- "operationNames": [
- {
- "vertx-core-3.x-scenario": [
- "/vertx-core-3-scenario/vertx-core/executeTest",
- "/vertx-core-3-scenario/vertx-core/core-case",
- "cluster-message-receiver"
- ]
- }
- ]
- },
- "segmentItems": [
- {
- "serviceName": "vertx-core-3.x-scenario",
- "segmentSize": "8",
- "segments": [
- {
- "segmentId": "nq 0",
- "spans": [
- {
- "operationName": "#local-message-receiver",
- "operationId": "0",
- "parentSpanId": "-1",
- "spanId": "0",
- "spanLayer": "RPCFramework",
- "refs": [
- {
- "parentEndpointId": 0,
- "parentEndpoint": "local-message-receiver",
- "networkAddressId": 0,
- "entryEndpointId": 0,
- "refType": "CrossThread",
- "parentSpanId": 0,
- "parentTraceSegmentId": "not null",
- "parentServiceInstanceId": 1,
- "networkAddress": "",
- "entryEndpoint": "local-message-receiver",
- "entryServiceInstanceId": 1
- }
- ],
- "startTime": "nq 0",
- "endTime": "nq 0",
- "componentId": "59",
- "componentName": "",
- "isError": false,
- "spanType": "Local",
- "peer": "",
- "peerId": "0"
- }
- ]
- },
- {
- "segmentId": "nq 0",
- "spans": [
- {
- "operationName": "local-message-receiver",
- "operationId": "0",
- "parentSpanId": "-1",
- "spanId": "0",
- "spanLayer": "RPCFramework",
- "startTime": "nq 0",
- "endTime": "nq 0",
- "componentId": "59",
- "componentName": "",
- "isError": false,
- "spanType": "Local",
- "peer": "",
- "peerId": "0"
- }
- ]
- },
- {
- "segmentId": "nq 0",
- "spans": [
- {
- "operationName": "/vertx-core-3-scenario/vertx-core/executeTest",
- "operationId": "0",
- "parentSpanId": "-1",
- "spanId": "0",
- "spanLayer": "Http",
- "tags": [
- {
- "key": "http.method",
- "value": "GET"
- },
- {
- "key": "url",
- "value": "http://localhost:8080/vertx-core-3-scenario/vertx-core/executeTest"
- }
- ],
- "startTime": "nq 0",
- "endTime": "nq 0",
- "componentId": "59",
- "componentName": "",
- "isError": false,
- "spanType": "Exit",
- "peer": "/vertx-core-3-scenario/vertx-core/executeTest",
- "peerId": "0"
- }
- ]
- },
- {
- "segmentId": "nq 0",
- "spans": [
- {
- "operationName": "/vertx-core-3-scenario/vertx-core/core-case",
- "operationId": "0",
- "parentSpanId": "-1",
- "spanId": "0",
- "spanLayer": "Http",
- "tags": [
- {
- "key": "http.method",
- "value": "GET"
- },
- {
- "key": "url",
- "value": "http://localhost:18080/vertx-core-3-scenario/vertx-core/core-case"
- }
- ],
- "startTime": "nq 0",
- "endTime": "nq 0",
- "componentId": "59",
- "componentName": "",
- "isError": false,
- "spanType": "Entry",
- "peerId": "0"
- }
- ]
- },
- {
- "segmentId": "nq 0",
- "spans": [
- {
- "operationName": "cluster-message-receiver",
- "operationId": "0",
- "parentSpanId": "-1",
- "spanId": "0",
- "spanLayer": "RPCFramework",
- "refs": [
- {
- "parentEndpointId": 0,
- "parentEndpoint": "cluster-message-receiver",
- "networkAddressId": 0,
- "entryEndpointId": 0,
- "refType": "CrossProcess",
- "parentSpanId": 0,
- "parentTraceSegmentId": "not null",
- "parentServiceInstanceId": 1,
- "networkAddress": "not null",
- "entryEndpoint": "cluster-message-receiver",
- "entryServiceInstanceId": 1
- }
- ],
- "startTime": "nq 0",
- "endTime": "nq 0",
- "componentId": "59",
- "componentName": "",
- "isError": false,
- "spanType": "Entry",
- "peer": "",
- "peerId": "0"
- }
- ]
- },
- {
- "segmentId": "nq 0",
- "spans": [
- {
- "operationName": "#/vertx-core-3-scenario/vertx-core/executeTest",
- "operationId": "0",
- "parentSpanId": "-1",
- "spanId": "0",
- "spanLayer": "Http",
- "refs": [
- {
- "parentEndpointId": 0,
- "parentEndpoint": "/vertx-core-3-scenario/vertx-core/executeTest",
- "networkAddressId": 0,
- "entryEndpointId": 0,
- "refType": "CrossThread",
- "parentSpanId": 0,
- "parentTraceSegmentId": "not null",
- "parentServiceInstanceId": 1,
- "networkAddress": "",
- "entryEndpoint": "/vertx-core-3-scenario/vertx-core/executeTest",
- "entryServiceInstanceId": 1
- }
- ],
- "startTime": "nq 0",
- "endTime": "nq 0",
- "componentId": "59",
- "componentName": "",
- "isError": false,
- "spanType": "Local",
- "peer": "",
- "peerId": "0"
- }
- ]
- },
- {
- "segmentId": "nq 0",
- "spans": [
- {
- "operationName": "cluster-message-receiver",
- "operationId": "0",
- "parentSpanId": "-1",
- "spanId": "0",
- "spanLayer": "RPCFramework",
- "startTime": "nq 0",
- "endTime": "nq 0",
- "componentId": "59",
- "componentName": "",
- "isError": false,
- "spanType": "Exit",
- "peerId": "0"
- }
- ]
- },
- {
- "segmentId": "nq 0",
- "spans": [
- {
- "operationName": "/vertx-core-3-scenario/vertx-core/executeTest",
- "operationId": "0",
- "parentSpanId": "-1",
- "spanId": "0",
- "spanLayer": "Http",
- "tags": [
- {
- "key": "http.method",
- "value": "GET"
- },
- {
- "key": "url",
- "value": "http://localhost:8080/vertx-core-3-scenario/vertx-core/executeTest"
- }
- ],
- "refs": [
- {
- "parentEndpointId": 0,
- "parentEndpoint": "/vertx-core-3-scenario/vertx-core/executeTest",
- "networkAddressId": 0,
- "entryEndpointId": 0,
- "refType": "CrossProcess",
- "parentSpanId": 0,
- "parentTraceSegmentId": "not null",
- "parentServiceInstanceId": 1,
- "networkAddress": "/vertx-core-3-scenario/vertx-core/executeTest",
- "entryEndpoint": "/vertx-core-3-scenario/vertx-core/executeTest",
- "entryServiceInstanceId": 1
- }
- ],
- "startTime": "nq 0",
- "endTime": "nq 0",
- "componentId": "59",
- "componentName": "",
- "isError": false,
- "spanType": "Entry",
- "peerId": "0"
- }
- ]
- }
- ]
- }
- ]
-}
+segmentItems:
+ - serviceName: jettyserver-scenario
+ segmentSize: 1
+ segments:
+ - segmentId: not null
+ spans:
+ - operationName: /jettyserver-case/case/receiveContext-0
+ operationId: 0
+ parentSpanId: -1
+ spanId: 0
+ spanLayer: Http
+ startTime: gt 0
+ endTime: gt 0
+ componentId: 19
+ componentName: ''
+ isError: false
+ spanType: Entry
+ peer: ''
+ peerId: 0
+ skipAnalysis: false
+ tags:
+ - {key: url, value: 'http://localhost:18080/jettyserver-case/case/receiveContext-0'}
+ - {key: http.method, value: GET}
+ refs:
+ - {parentEndpoint: /jettyclient-case/case/jettyclient-case, networkAddress: 'localhost:18080',
+ refType: CrossProcess, parentSpanId: 1, parentTraceSegmentId: not null,
+ parentServiceInstance: not null, parentService: jettyclient-scenario,
+ traceId: not null}
+ - serviceName: jettyclient-scenario
+ segmentSize: 2
+ segments:
+ - segmentId: not null
+ spans:
+ - operationName: /jettyclient-case/case/healthCheck
+ operationId: 0
+ parentSpanId: -1
+ spanId: 0
+ spanLayer: Http
+ startTime: gt 0
+ endTime: gt 0
+ componentId: 1
+ componentName: ''
+ isError: false
+ spanType: Entry
+ peer: ''
+ peerId: 0
+ skipAnalysis: false
+ tags:
+ - {key: url, value: 'http://localhost:8080/jettyclient-case/case/healthCheck'}
+ - {key: http.method, value: HEAD}
+ - segmentId: not null
+ spans:
+ - operationName: /jettyserver-case/case/receiveContext-0
+ operationId: 0
+ parentSpanId: 0
+ spanId: 1
+ spanLayer: Http
+ startTime: gt 0
+ endTime: gt 0
+ componentId: 18
+ componentName: ''
+ isError: false
+ spanType: Exit
+ peer: localhost:18080
+ peerId: 0
+ skipAnalysis: false
+ tags:
+ - {key: http.method, value: GET}
+ - {key: url, value: 'http://localhost:18080/jettyserver-case/case/receiveContext-0'}
+ - operationName: /jettyclient-case/case/jettyclient-case
+ operationId: 0
+ parentSpanId: -1
+ spanId: 0
+ spanLayer: Http
+ startTime: gt 0
+ endTime: gt 0
+ componentId: 1
+ componentName: ''
+ isError: false
+ spanType: Entry
+ peer: ''
+ peerId: 0
+ skipAnalysis: false
+ tags:
+ - {key: url, value: 'http://localhost:8080/jettyclient-case/case/jettyclient-case'}
+ - {key: http.method, value: GET}
\ No newline at end of file