You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2020/03/31 15:30:59 UTC
[skywalking] 02/02: Add IDManager for further refactor.
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch v8-core
in repository https://gitbox.apache.org/repos/asf/skywalking.git
commit 1e4a66c63525677b9c0faef0c5deda3f12a6c475
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Tue Mar 31 23:28:09 2020 +0800
Add IDManager for further refactor.
---
.../oap/server/core/analysis/IDManager.java | 275 +++++++++++++++++++++
.../core/analysis/manual/RelationDefineUtil.java | 9 +-
.../analysis/manual/endpoint/EndpointTraffic.java | 50 +---
.../analysis/manual/service/ServiceTraffic.java | 83 +++++++
.../server/core/query/MetadataQueryService.java | 2 +-
.../core/register/NetworkAddressInventory.java | 3 +-
.../core/register/ServiceInstanceInventory.java | 3 +-
.../oap/server/core/register/ServiceInventory.java | 9 +-
.../service/INetworkAddressInventoryRegister.java | 2 +-
.../service/IServiceInstanceInventoryRegister.java | 2 +-
.../service/IServiceInventoryRegister.java | 2 +-
.../service/NetworkAddressInventoryRegister.java | 2 +-
.../service/ServiceInstanceInventoryRegister.java | 2 +-
.../register/service/ServiceInventoryRegister.java | 2 +-
.../oap/server/core/source/DefaultScopeDefine.java | 2 +-
.../server/core/{register => source}/NodeType.java | 6 +-
.../skywalking/oap/server/core/source/Service.java | 4 +-
.../handler/v6/grpc/RegisterServiceHandler.java | 2 +-
.../v6/rest/ServiceRegisterServletHandler.java | 2 +-
.../parser/standardization/SpanExchanger.java | 2 +-
.../transform/SpringSleuthSegmentBuilderTest.java | 2 +-
.../elasticsearch/query/MetadataQueryEsDAO.java | 2 +-
.../elasticsearch7/query/MetadataQueryEs7DAO.java | 2 +-
.../plugin/jdbc/h2/dao/H2MetadataQueryDAO.java | 2 +-
24 files changed, 391 insertions(+), 81 deletions(-)
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/IDManager.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/IDManager.java
new file mode 100644
index 0000000..308ea0f
--- /dev/null
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/IDManager.java
@@ -0,0 +1,275 @@
+/*
+ * 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.oap.server.core.analysis;
+
+import java.nio.charset.StandardCharsets;
+import java.util.Base64;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+import org.apache.skywalking.oap.server.core.Const;
+import org.apache.skywalking.oap.server.core.UnexpectedException;
+import org.apache.skywalking.oap.server.core.source.DetectPoint;
+import org.apache.skywalking.oap.server.core.source.NodeType;
+
+/**
+ * IDManager includes all ID encode/decode functions for service, service instance and endpoint.
+ */
+public class IDManager {
+ /**
+ * Service ID related functions.
+ */
+ public static class ServiceID {
+ /**
+ * @return encoded service id
+ */
+ public static String buildId(String name, NodeType type) {
+ return encode(name) + Const.ID_SPLIT + type.value();
+ }
+
+ /**
+ * @return service ID object decoded from {@link #buildId(String, NodeType)} result
+ */
+ public static ServiceIDDefinition analysisId(String id) {
+ final String[] strings = id.split(Const.ID_PARSER_SPLIT);
+ if (strings.length != 2) {
+ throw new UnexpectedException("Can't split service id into 2 parts, " + id);
+ }
+ return new ServiceID.ServiceIDDefinition(
+ decode(strings[0]),
+ NodeType.valueOf(Integer.parseInt(strings[1]))
+ );
+ }
+
+ /**
+ * @return encoded service relation id
+ */
+ public static String buildRelationId(ServiceRelationDefine define) {
+ return define.source + Const.ID_SPLIT + define.dest + Const.ID_SPLIT + define.componentId;
+ }
+
+ /**
+ * @return service relation ID object decoded from {@link #buildRelationId(ServiceRelationDefine)} result
+ */
+ public static ServiceRelationDefine analysisRelationId(String entityId) {
+ String[] parts = entityId.split(Const.ID_SPLIT);
+ if (parts.length != 3) {
+ throw new RuntimeException("Illegal Service Relation entity id");
+ }
+ return new ServiceRelationDefine(parts[0], parts[1], Integer.parseInt(parts[2]));
+ }
+
+ @RequiredArgsConstructor
+ @Getter
+ public static class ServiceIDDefinition {
+ private final String name;
+ private final NodeType type;
+ }
+
+ @RequiredArgsConstructor
+ @Getter
+ @EqualsAndHashCode
+ public static class ServiceRelationDefine {
+ private final String source;
+ private final String dest;
+ private final int componentId;
+ }
+ }
+
+ /**
+ * Service Instance ID related functions.
+ */
+ public static class ServiceInstanceID {
+ /**
+ * @param serviceId built by {@link ServiceID#buildId(String, NodeType)}
+ * @return service instance id
+ */
+ public static String buildId(String serviceId, String instanceName) {
+ return serviceId
+ + Const.ID_SPLIT
+ + encode(instanceName);
+ }
+
+ /**
+ * @return service instance id object decoded from {@link #buildId(String, String)} result
+ */
+ public static ServiceInstanceID.InstanceIDDefinition analysisId(String id) {
+ final String[] strings = id.split(Const.ID_PARSER_SPLIT);
+ if (strings.length != 2) {
+ throw new UnexpectedException("Can't split instance id into 2 parts, " + id);
+ }
+ return new ServiceInstanceID.InstanceIDDefinition(
+ strings[0],
+ decode(strings[1])
+ );
+ }
+
+ /**
+ * @return encoded service instance relation id
+ */
+ public static String buildRelationId(ServiceInstanceRelationDefine define) {
+ return define.source + Const.ID_SPLIT + define.dest + Const.ID_SPLIT + define.componentId;
+ }
+
+ /**
+ * @return service instance relation ID object decoded from {@link #buildRelationId(ServiceInstanceRelationDefine)}
+ * result
+ */
+ public static ServiceInstanceID.ServiceInstanceRelationDefine analysisRelationId(String entityId) {
+ String[] parts = entityId.split(Const.ID_SPLIT);
+ if (parts.length != 3) {
+ throw new RuntimeException("Illegal Service Instance Relation entity id");
+ }
+ return new ServiceInstanceID.ServiceInstanceRelationDefine(parts[0], parts[1], Integer.parseInt(parts[2]));
+ }
+
+ @RequiredArgsConstructor
+ @Getter
+ public static class InstanceIDDefinition {
+ /**
+ * Built by {@link ServiceID#buildId(String, NodeType)}
+ */
+ private final String serviceId;
+ private final String name;
+ }
+
+ @RequiredArgsConstructor
+ @Getter
+ @EqualsAndHashCode
+ public static class ServiceInstanceRelationDefine {
+ /**
+ * Built by {@link ServiceID#buildId(String, NodeType)}
+ */
+ private final String source;
+ /**
+ * Built by {@link ServiceID#buildId(String, NodeType)}
+ */
+ private final String dest;
+ private final int componentId;
+ }
+ }
+
+ /**
+ * Endpoint ID related functions.
+ */
+ public static class EndpointID {
+ /**
+ * @param serviceId built by {@link ServiceID#buildId(String, NodeType)}
+ * @return endpoint id
+ */
+ public static String buildId(String serviceId, String endpointName, DetectPoint detectPoint) {
+ return serviceId
+ + Const.ID_SPLIT
+ + encode(endpointName)
+ + Const.ID_SPLIT
+ + detectPoint.value();
+ }
+
+ /**
+ * @return Endpoint id object decoded from {@link #buildId(String, String, DetectPoint)} result.
+ */
+ public static EndpointIDDefinition analysisId(String id) {
+ final String[] strings = id.split(Const.ID_PARSER_SPLIT);
+ if (strings.length != 3) {
+ throw new UnexpectedException("Can't split endpoint id into 3 parts, " + id);
+ }
+ return new EndpointIDDefinition(
+ decode(strings[0]),
+ decode(strings[1]),
+ DetectPoint.valueOf(Integer.parseInt(strings[2]))
+ );
+ }
+
+ /**
+ * @return the endpoint relationship string id.
+ */
+ public static String buildRelationId(EndpointRelationDefine define) {
+ return define.sourceServiceId
+ + Const.ID_SPLIT
+ + encode(define.source)
+ + Const.ID_SPLIT
+ + define.destServiceId
+ + Const.ID_SPLIT
+ + encode(define.dest)
+ + Const.ID_SPLIT
+ + define.componentId;
+ }
+
+ /**
+ * @return endpoint relation ID object decoded from {@link #buildRelationId(EndpointRelationDefine)} result
+ */
+ public static EndpointRelationDefine splitEndpointRelationEntityId(String entityId) {
+ String[] parts = entityId.split(Const.ID_SPLIT);
+ if (parts.length != 5) {
+ throw new UnexpectedException("Illegal endpoint Relation entity id, " + entityId);
+ }
+ return new EndpointRelationDefine(
+ parts[0],
+ decode(parts[1]),
+ parts[2],
+ decode(parts[3]),
+ Integer.parseInt(parts[4])
+ );
+ }
+
+ @RequiredArgsConstructor
+ @Getter
+ public static class EndpointIDDefinition {
+ /**
+ * Built by {@link ServiceID#buildId(String, NodeType)}
+ */
+ private final String serviceId;
+ private final String endpointName;
+ private final DetectPoint detectPoint;
+ }
+
+ @RequiredArgsConstructor
+ @Getter
+ @EqualsAndHashCode
+ public static class EndpointRelationDefine {
+ /**
+ * Built by {@link ServiceID#buildId(String, NodeType)}
+ */
+ private final String sourceServiceId;
+ private final String source;
+ /**
+ * Built by {@link ServiceID#buildId(String, NodeType)}
+ */
+ private final String destServiceId;
+ private final String dest;
+ private final int componentId;
+ }
+ }
+
+ /**
+ * @param text normal literal string
+ * @return Base74 encoded UTF-8 string
+ */
+ private static String encode(String text) {
+ return new String(Base64.getEncoder().encode(text.getBytes(StandardCharsets.UTF_8)), StandardCharsets.UTF_8);
+ }
+
+ /**
+ * @param base64text Base74 encoded UTF-8 string
+ * @return normal literal string
+ */
+ private static String decode(String base64text) {
+ return new String(Base64.getDecoder().decode(base64text), StandardCharsets.UTF_8);
+ }
+}
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/RelationDefineUtil.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/RelationDefineUtil.java
index 7efd78f..77cc232 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/RelationDefineUtil.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/RelationDefineUtil.java
@@ -76,14 +76,7 @@ public class RelationDefineUtil {
);
}
- @RequiredArgsConstructor
- @Getter
- @EqualsAndHashCode
- public static class RelationDefine {
- private final int source;
- private final int dest;
- private final int componentId;
- }
+
@RequiredArgsConstructor
@Getter
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/endpoint/EndpointTraffic.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/endpoint/EndpointTraffic.java
index cf73640..660f5d9 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/endpoint/EndpointTraffic.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/endpoint/EndpointTraffic.java
@@ -19,16 +19,13 @@
package org.apache.skywalking.oap.server.core.analysis.manual.endpoint;
import com.google.common.base.Strings;
-import java.nio.charset.StandardCharsets;
-import java.util.Base64;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import lombok.Getter;
-import lombok.RequiredArgsConstructor;
import lombok.Setter;
import org.apache.skywalking.oap.server.core.Const;
-import org.apache.skywalking.oap.server.core.UnexpectedException;
+import org.apache.skywalking.oap.server.core.analysis.IDManager;
import org.apache.skywalking.oap.server.core.analysis.MetricsExtension;
import org.apache.skywalking.oap.server.core.analysis.Stream;
import org.apache.skywalking.oap.server.core.analysis.metrics.Metrics;
@@ -57,7 +54,7 @@ public class EndpointTraffic extends Metrics {
@Setter
@Getter
@Column(columnName = SERVICE_ID)
- private int serviceId;
+ private String serviceId;
@Setter
@Getter
@Column(columnName = NAME, matchQuery = true)
@@ -67,51 +64,12 @@ public class EndpointTraffic extends Metrics {
@Column(columnName = DETECT_POINT)
private int detectPoint;
- public static String buildId(int serviceId, String endpointName, DetectPoint detectPoint) {
- return buildId(serviceId, endpointName, detectPoint.value());
- }
-
- public static String buildId(EndpointTraffic endpointTraffic) {
- return buildId(endpointTraffic.serviceId, endpointTraffic.name, endpointTraffic.detectPoint);
- }
-
- private static String buildId(int serviceId, String endpointName, int detectPoint) {
- return serviceId + Const.ID_SPLIT
- + new String(
- Base64.getEncoder().encode(endpointName.getBytes(StandardCharsets.UTF_8)), StandardCharsets.UTF_8)
- + Const.ID_SPLIT + detectPoint;
- }
-
- /**
- * @param id in the storage of endpoint traffic
- * @return [serviceId, endpointName, detectPoint]
- */
- public static EndpointID splitID(String id) {
- final String[] strings = id.split(Const.ID_PARSER_SPLIT);
- if (strings.length != 3) {
- throw new UnexpectedException("Can't split endpoint id into 3 parts, " + id);
- }
- return new EndpointID(
- Integer.parseInt(strings[0]), new String(Base64.getDecoder().decode(strings[1]), StandardCharsets.UTF_8),
- DetectPoint.valueOf(Integer.parseInt(strings[2]))
- );
- }
-
- @RequiredArgsConstructor
- public static class EndpointID {
- @Getter
- private final int serviceId;
- @Getter
- private final String endpointName;
- @Getter
- private final DetectPoint detectPoint;
- }
-
@Override
public String id() {
// Downgrade the time bucket to day level only.
// supportDownSampling == false for this entity.
- return buildId(this);
+ return IDManager.EndpointID.buildId(
+ this.getServiceId(), this.getName(), DetectPoint.valueOf(this.getDetectPoint()));
}
@Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceTraffic.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceTraffic.java
new file mode 100644
index 0000000..6bc0528
--- /dev/null
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceTraffic.java
@@ -0,0 +1,83 @@
+/*
+ * 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.oap.server.core.analysis.manual.service;
+
+import org.apache.skywalking.oap.server.core.analysis.MetricsExtension;
+import org.apache.skywalking.oap.server.core.analysis.Stream;
+import org.apache.skywalking.oap.server.core.analysis.manual.endpoint.EndpointTraffic;
+import org.apache.skywalking.oap.server.core.analysis.metrics.Metrics;
+import org.apache.skywalking.oap.server.core.analysis.worker.MetricsStreamProcessor;
+import org.apache.skywalking.oap.server.core.remote.grpc.proto.RemoteData;
+import org.apache.skywalking.oap.server.core.source.DefaultScopeDefine;
+import org.apache.skywalking.oap.server.core.source.ScopeDeclaration;
+
+import static org.apache.skywalking.oap.server.core.source.DefaultScopeDefine.SERVICE_TRAFFIC;
+
+@ScopeDeclaration(id = SERVICE_TRAFFIC, name = "ServiceTraffic")
+@Stream(name = ServiceTraffic.INDEX_NAME, scopeId = DefaultScopeDefine.SERVICE_TRAFFIC,
+ builder = EndpointTraffic.Builder.class, processor = MetricsStreamProcessor.class)
+@MetricsExtension(supportDownSampling = false, supportUpdate = false)
+public class ServiceTraffic extends Metrics {
+ public static final String INDEX_NAME = "service_traffic";
+
+ @Override
+ public void combine(final Metrics metrics) {
+
+ }
+
+ @Override
+ public void calculate() {
+
+ }
+
+ @Override
+ public Metrics toHour() {
+ return null;
+ }
+
+ @Override
+ public Metrics toDay() {
+ return null;
+ }
+
+ @Override
+ public Metrics toMonth() {
+ return null;
+ }
+
+ @Override
+ public int remoteHashCode() {
+ return 0;
+ }
+
+ @Override
+ public void deserialize(final RemoteData remoteData) {
+
+ }
+
+ @Override
+ public RemoteData.Builder serialize() {
+ return null;
+ }
+
+ @Override
+ public String id() {
+ return null;
+ }
+}
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetadataQueryService.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetadataQueryService.java
index 28af1e5..ad91567 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetadataQueryService.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetadataQueryService.java
@@ -29,7 +29,7 @@ import org.apache.skywalking.oap.server.core.query.entity.Endpoint;
import org.apache.skywalking.oap.server.core.query.entity.EndpointInfo;
import org.apache.skywalking.oap.server.core.query.entity.Service;
import org.apache.skywalking.oap.server.core.query.entity.ServiceInstance;
-import org.apache.skywalking.oap.server.core.register.NodeType;
+import org.apache.skywalking.oap.server.core.source.NodeType;
import org.apache.skywalking.oap.server.core.storage.StorageModule;
import org.apache.skywalking.oap.server.core.storage.query.IMetadataQueryDAO;
import org.apache.skywalking.oap.server.library.module.ModuleManager;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/NetworkAddressInventory.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/NetworkAddressInventory.java
index 913a764..46372a1 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/NetworkAddressInventory.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/NetworkAddressInventory.java
@@ -29,6 +29,7 @@ import org.apache.skywalking.oap.server.core.analysis.Stream;
import org.apache.skywalking.oap.server.core.register.worker.InventoryStreamProcessor;
import org.apache.skywalking.oap.server.core.remote.grpc.proto.RemoteData;
import org.apache.skywalking.oap.server.core.source.DefaultScopeDefine;
+import org.apache.skywalking.oap.server.core.source.NodeType;
import org.apache.skywalking.oap.server.core.source.ScopeDeclaration;
import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
import org.apache.skywalking.oap.server.core.storage.annotation.Column;
@@ -58,7 +59,7 @@ public class NetworkAddressInventory extends RegisterSource {
}
public NodeType getNetworkAddressNodeType() {
- return NodeType.get(this.nodeType);
+ return NodeType.valueOf(this.nodeType);
}
public static String buildId(String networkAddress) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/ServiceInstanceInventory.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/ServiceInstanceInventory.java
index 51e3b9e..a350596 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/ServiceInstanceInventory.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/ServiceInstanceInventory.java
@@ -33,6 +33,7 @@ import org.apache.skywalking.oap.server.core.analysis.Stream;
import org.apache.skywalking.oap.server.core.register.worker.InventoryStreamProcessor;
import org.apache.skywalking.oap.server.core.remote.grpc.proto.RemoteData;
import org.apache.skywalking.oap.server.core.source.DefaultScopeDefine;
+import org.apache.skywalking.oap.server.core.source.NodeType;
import org.apache.skywalking.oap.server.core.source.ScopeDeclaration;
import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
import org.apache.skywalking.oap.server.core.storage.annotation.Column;
@@ -112,7 +113,7 @@ public class ServiceInstanceInventory extends RegisterSource {
}
public NodeType getServiceInstanceNodeType() {
- return NodeType.get(nodeType);
+ return NodeType.valueOf(nodeType);
}
public void setServiceInstanceNodeType(NodeType nodeType) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/ServiceInventory.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/ServiceInventory.java
index 2480dcf..deb06a6 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/ServiceInventory.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/ServiceInventory.java
@@ -31,16 +31,17 @@ import org.apache.skywalking.oap.server.core.analysis.Stream;
import org.apache.skywalking.oap.server.core.register.worker.InventoryStreamProcessor;
import org.apache.skywalking.oap.server.core.remote.grpc.proto.RemoteData;
import org.apache.skywalking.oap.server.core.source.DefaultScopeDefine;
+import org.apache.skywalking.oap.server.core.source.NodeType;
import org.apache.skywalking.oap.server.core.source.ScopeDeclaration;
import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
import org.apache.skywalking.oap.server.core.storage.annotation.Column;
import org.apache.skywalking.oap.server.core.storage.annotation.QueryUnifiedIndex;
import org.apache.skywalking.oap.server.library.util.BooleanUtils;
-import static org.apache.skywalking.oap.server.core.source.DefaultScopeDefine.SERVICE_INVENTORY;
+import static org.apache.skywalking.oap.server.core.source.DefaultScopeDefine.SERVICE_TRAFFIC;
-@ScopeDeclaration(id = SERVICE_INVENTORY, name = "ServiceInventory")
-@Stream(name = ServiceInventory.INDEX_NAME, scopeId = DefaultScopeDefine.SERVICE_INVENTORY, builder = ServiceInventory.Builder.class, processor = InventoryStreamProcessor.class)
+@ScopeDeclaration(id = SERVICE_TRAFFIC, name = "ServiceInventory")
+@Stream(name = ServiceInventory.INDEX_NAME, scopeId = DefaultScopeDefine.SERVICE_TRAFFIC, builder = ServiceInventory.Builder.class, processor = InventoryStreamProcessor.class)
public class ServiceInventory extends RegisterSource {
public static final String INDEX_NAME = "service_inventory";
@@ -91,7 +92,7 @@ public class ServiceInventory extends RegisterSource {
private boolean resetServiceMapping = false;
public NodeType getServiceNodeType() {
- return NodeType.get(this.nodeType);
+ return NodeType.valueOf(this.nodeType);
}
public static String buildId(String serviceName) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/INetworkAddressInventoryRegister.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/INetworkAddressInventoryRegister.java
index 81545f1..b014889 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/INetworkAddressInventoryRegister.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/INetworkAddressInventoryRegister.java
@@ -19,7 +19,7 @@
package org.apache.skywalking.oap.server.core.register.service;
import com.google.gson.JsonObject;
-import org.apache.skywalking.oap.server.core.register.NodeType;
+import org.apache.skywalking.oap.server.core.source.NodeType;
import org.apache.skywalking.oap.server.library.module.Service;
public interface INetworkAddressInventoryRegister extends Service {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IServiceInstanceInventoryRegister.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IServiceInstanceInventoryRegister.java
index 0e7b066..48af1ee 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IServiceInstanceInventoryRegister.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IServiceInstanceInventoryRegister.java
@@ -19,7 +19,7 @@
package org.apache.skywalking.oap.server.core.register.service;
import com.google.gson.JsonObject;
-import org.apache.skywalking.oap.server.core.register.NodeType;
+import org.apache.skywalking.oap.server.core.source.NodeType;
import org.apache.skywalking.oap.server.library.module.Service;
public interface IServiceInstanceInventoryRegister extends Service {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IServiceInventoryRegister.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IServiceInventoryRegister.java
index 678f6ad..73c91d5 100755
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IServiceInventoryRegister.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IServiceInventoryRegister.java
@@ -19,7 +19,7 @@
package org.apache.skywalking.oap.server.core.register.service;
import com.google.gson.JsonObject;
-import org.apache.skywalking.oap.server.core.register.NodeType;
+import org.apache.skywalking.oap.server.core.source.NodeType;
import org.apache.skywalking.oap.server.library.module.Service;
public interface IServiceInventoryRegister extends Service {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/NetworkAddressInventoryRegister.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/NetworkAddressInventoryRegister.java
index c77bc7d..05c599a 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/NetworkAddressInventoryRegister.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/NetworkAddressInventoryRegister.java
@@ -24,7 +24,7 @@ import org.apache.skywalking.oap.server.core.Const;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.cache.NetworkAddressInventoryCache;
import org.apache.skywalking.oap.server.core.register.NetworkAddressInventory;
-import org.apache.skywalking.oap.server.core.register.NodeType;
+import org.apache.skywalking.oap.server.core.source.NodeType;
import org.apache.skywalking.oap.server.core.register.worker.InventoryStreamProcessor;
import org.apache.skywalking.oap.server.library.module.ModuleDefineHolder;
import org.slf4j.Logger;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInstanceInventoryRegister.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInstanceInventoryRegister.java
index 7590cba..870bb19 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInstanceInventoryRegister.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInstanceInventoryRegister.java
@@ -22,7 +22,7 @@ import com.google.gson.JsonObject;
import org.apache.skywalking.oap.server.core.Const;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.cache.ServiceInstanceInventoryCache;
-import org.apache.skywalking.oap.server.core.register.NodeType;
+import org.apache.skywalking.oap.server.core.source.NodeType;
import org.apache.skywalking.oap.server.core.register.ServiceInstanceInventory;
import org.apache.skywalking.oap.server.core.register.worker.InventoryStreamProcessor;
import org.apache.skywalking.oap.server.library.module.ModuleDefineHolder;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInventoryRegister.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInventoryRegister.java
index 161ab5f..eefea86 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInventoryRegister.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInventoryRegister.java
@@ -23,7 +23,7 @@ import java.util.Objects;
import org.apache.skywalking.oap.server.core.Const;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.cache.ServiceInventoryCache;
-import org.apache.skywalking.oap.server.core.register.NodeType;
+import org.apache.skywalking.oap.server.core.source.NodeType;
import org.apache.skywalking.oap.server.core.register.ServiceInventory;
import org.apache.skywalking.oap.server.core.register.worker.InventoryStreamProcessor;
import org.apache.skywalking.oap.server.library.module.ModuleDefineHolder;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/DefaultScopeDefine.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/DefaultScopeDefine.java
index 286b8b6..2802ec6 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/DefaultScopeDefine.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/DefaultScopeDefine.java
@@ -52,7 +52,7 @@ public class DefaultScopeDefine {
public static final int SERVICE_INSTANCE_JVM_GC = 11;
public static final int SEGMENT = 12;
public static final int ALARM = 13;
- public static final int SERVICE_INVENTORY = 14;
+ public static final int SERVICE_TRAFFIC = 14;
public static final int SERVICE_INSTANCE_INVENTORY = 15;
public static final int ENDPOINT_TRAFFIC = 16;
public static final int DATABASE_ACCESS = 17;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/NodeType.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/NodeType.java
similarity index 95%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/NodeType.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/NodeType.java
index b1aa7ff..b46dcdc 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/NodeType.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/NodeType.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.skywalking.oap.server.core.register;
+package org.apache.skywalking.oap.server.core.source;
import org.apache.skywalking.apm.network.common.ServiceType;
import org.apache.skywalking.oap.server.core.UnexpectedException;
@@ -67,7 +67,7 @@ public enum NodeType {
return value;
}
- public static NodeType get(int value) {
+ public static NodeType valueOf(int value) {
switch (value) {
case 0:
return Normal;
@@ -92,7 +92,7 @@ public enum NodeType {
* Right now, spanLayerValue is exact same as NodeType value.
*/
public static NodeType fromSpanLayerValue(int spanLayerValue) {
- return get(spanLayerValue);
+ return valueOf(spanLayerValue);
}
public static NodeType fromRegisterServiceType(ServiceType serviceType) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Service.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Service.java
index 5dc390e..a52ea9e 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Service.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Service.java
@@ -39,11 +39,9 @@ public class Service extends Source {
@Getter
@Setter
- private int id;
- @Getter
- @Setter
@ScopeDefaultColumn.DefinedByField(columnName = "name", requireDynamicActive = true)
private String name;
+ private NodeType type;
@Getter
@Setter
private String serviceInstanceName;
diff --git a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v6/grpc/RegisterServiceHandler.java b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v6/grpc/RegisterServiceHandler.java
index a7385be..1a05853 100644
--- a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v6/grpc/RegisterServiceHandler.java
+++ b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v6/grpc/RegisterServiceHandler.java
@@ -41,7 +41,7 @@ import org.apache.skywalking.oap.server.core.Const;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.cache.ServiceInstanceInventoryCache;
import org.apache.skywalking.oap.server.core.cache.ServiceInventoryCache;
-import org.apache.skywalking.oap.server.core.register.NodeType;
+import org.apache.skywalking.oap.server.core.source.NodeType;
import org.apache.skywalking.oap.server.core.register.ServiceInstanceInventory;
import org.apache.skywalking.oap.server.core.register.ServiceInventory;
import org.apache.skywalking.oap.server.core.register.service.INetworkAddressInventoryRegister;
diff --git a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v6/rest/ServiceRegisterServletHandler.java b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v6/rest/ServiceRegisterServletHandler.java
index 10242bc..a316428 100644
--- a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v6/rest/ServiceRegisterServletHandler.java
+++ b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v6/rest/ServiceRegisterServletHandler.java
@@ -27,7 +27,7 @@ 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.oap.server.core.CoreModule;
-import org.apache.skywalking.oap.server.core.register.NodeType;
+import org.apache.skywalking.oap.server.core.source.NodeType;
import org.apache.skywalking.oap.server.core.register.service.IServiceInventoryRegister;
import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.apache.skywalking.oap.server.library.server.jetty.ArgumentsParseException;
diff --git a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/SpanExchanger.java b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/SpanExchanger.java
index c948990..b232898 100644
--- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/SpanExchanger.java
+++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/SpanExchanger.java
@@ -29,7 +29,7 @@ import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.cache.ServiceInstanceInventoryCache;
import org.apache.skywalking.oap.server.core.cache.ServiceInventoryCache;
import org.apache.skywalking.oap.server.core.config.IComponentLibraryCatalogService;
-import org.apache.skywalking.oap.server.core.register.NodeType;
+import org.apache.skywalking.oap.server.core.source.NodeType;
import org.apache.skywalking.oap.server.core.register.ServiceInstanceInventory;
import org.apache.skywalking.oap.server.core.register.ServiceInventory;
import org.apache.skywalking.oap.server.core.register.service.INetworkAddressInventoryRegister;
diff --git a/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/zipkin/analysis/transform/SpringSleuthSegmentBuilderTest.java b/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/zipkin/analysis/transform/SpringSleuthSegmentBuilderTest.java
index 0cc0b6c..15b1f01 100644
--- a/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/zipkin/analysis/transform/SpringSleuthSegmentBuilderTest.java
+++ b/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/zipkin/analysis/transform/SpringSleuthSegmentBuilderTest.java
@@ -28,7 +28,7 @@ import org.apache.skywalking.apm.network.language.agent.SpanType;
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.oap.server.core.register.NodeType;
+import org.apache.skywalking.oap.server.core.source.NodeType;
import org.apache.skywalking.oap.server.core.register.service.IServiceInstanceInventoryRegister;
import org.apache.skywalking.oap.server.core.register.service.IServiceInventoryRegister;
import org.apache.skywalking.oap.server.receiver.sharing.server.CoreRegisterLinker;
diff --git a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetadataQueryEsDAO.java b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetadataQueryEsDAO.java
index 49afdac..9ce4684 100644
--- a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetadataQueryEsDAO.java
+++ b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetadataQueryEsDAO.java
@@ -33,7 +33,7 @@ import org.apache.skywalking.oap.server.core.query.entity.Endpoint;
import org.apache.skywalking.oap.server.core.query.entity.LanguageTrans;
import org.apache.skywalking.oap.server.core.query.entity.Service;
import org.apache.skywalking.oap.server.core.query.entity.ServiceInstance;
-import org.apache.skywalking.oap.server.core.register.NodeType;
+import org.apache.skywalking.oap.server.core.source.NodeType;
import org.apache.skywalking.oap.server.core.register.RegisterSource;
import org.apache.skywalking.oap.server.core.register.ServiceInstanceInventory;
import org.apache.skywalking.oap.server.core.register.ServiceInventory;
diff --git a/oap-server/server-storage-plugin/storage-elasticsearch7-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch7/query/MetadataQueryEs7DAO.java b/oap-server/server-storage-plugin/storage-elasticsearch7-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch7/query/MetadataQueryEs7DAO.java
index 29ab5e2..ddb8179 100644
--- a/oap-server/server-storage-plugin/storage-elasticsearch7-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch7/query/MetadataQueryEs7DAO.java
+++ b/oap-server/server-storage-plugin/storage-elasticsearch7-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch7/query/MetadataQueryEs7DAO.java
@@ -20,7 +20,7 @@ package org.apache.skywalking.oap.server.storage.plugin.elasticsearch7.query;
import java.io.IOException;
import org.apache.skywalking.oap.server.core.analysis.manual.endpoint.EndpointTraffic;
-import org.apache.skywalking.oap.server.core.register.NodeType;
+import org.apache.skywalking.oap.server.core.source.NodeType;
import org.apache.skywalking.oap.server.core.register.ServiceInventory;
import org.apache.skywalking.oap.server.core.source.DetectPoint;
import org.apache.skywalking.oap.server.library.client.elasticsearch.ElasticSearchClient;
diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2MetadataQueryDAO.java b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2MetadataQueryDAO.java
index d9a8a0c..8b8fda6 100644
--- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2MetadataQueryDAO.java
+++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2MetadataQueryDAO.java
@@ -36,7 +36,7 @@ import org.apache.skywalking.oap.server.core.query.entity.Endpoint;
import org.apache.skywalking.oap.server.core.query.entity.LanguageTrans;
import org.apache.skywalking.oap.server.core.query.entity.Service;
import org.apache.skywalking.oap.server.core.query.entity.ServiceInstance;
-import org.apache.skywalking.oap.server.core.register.NodeType;
+import org.apache.skywalking.oap.server.core.source.NodeType;
import org.apache.skywalking.oap.server.core.register.RegisterSource;
import org.apache.skywalking.oap.server.core.register.ServiceInstanceInventory;
import org.apache.skywalking.oap.server.core.register.ServiceInventory;