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 2018/12/15 17:47:03 UTC
[incubator-skywalking] 01/01: Change srcLayer to nodeType. Add
nodeType in service inventory entity.
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch nodetype
in repository https://gitbox.apache.org/repos/asf/incubator-skywalking.git
commit b4a6b6a3bc4962ff6ec2d1f230b016be11640812
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Sat Dec 15 09:46:49 2018 -0800
Change srcLayer to nodeType. Add nodeType in service inventory entity.
---
.../core/register/NetworkAddressInventory.java | 14 ++++++------
.../oap/server/core/register/ServiceInventory.java | 7 ++++++
.../service/NetworkAddressInventoryRegister.java | 26 +++++++++++++++++-----
.../parser/standardization/SpanIdExchanger.java | 4 ++--
.../elasticsearch/query/MetadataQueryEsDAO.java | 2 +-
.../plugin/jdbc/h2/dao/H2MetadataQueryDAO.java | 2 +-
6 files changed, 38 insertions(+), 17 deletions(-)
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 07d5bd8..1d9aefe 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
@@ -40,10 +40,10 @@ public class NetworkAddressInventory extends RegisterSource {
public static final String MODEL_NAME = "network_address_inventory";
private static final String NAME = "name";
- public static final String SRC_LAYER = "src_layer";
+ public static final String NODE_TYPE = "node_type";
@Setter @Getter @Column(columnName = NAME, matchQuery = true) private String name = Const.EMPTY_STRING;
- @Setter @Getter @Column(columnName = SRC_LAYER) private int srcLayer;
+ @Setter @Getter @Column(columnName = NODE_TYPE) private int nodeType;
public static String buildId(String networkAddress) {
return networkAddress;
@@ -77,13 +77,13 @@ public class NetworkAddressInventory extends RegisterSource {
@Override public void combine(RegisterSource registerSource) {
super.combine(registerSource);
NetworkAddressInventory inventory = (NetworkAddressInventory)registerSource;
- setSrcLayer(inventory.srcLayer);
+ setNodeType(inventory.nodeType);
}
@Override public RemoteData.Builder serialize() {
RemoteData.Builder remoteBuilder = RemoteData.newBuilder();
remoteBuilder.addDataIntegers(getSequence());
- remoteBuilder.addDataIntegers(getSrcLayer());
+ remoteBuilder.addDataIntegers(getNodeType());
remoteBuilder.addDataLongs(getRegisterTime());
remoteBuilder.addDataLongs(getHeartbeatTime());
@@ -94,7 +94,7 @@ public class NetworkAddressInventory extends RegisterSource {
@Override public void deserialize(RemoteData remoteData) {
setSequence(remoteData.getDataIntegers(0));
- setSrcLayer(remoteData.getDataIntegers(1));
+ setNodeType(remoteData.getDataIntegers(1));
setRegisterTime(remoteData.getDataLongs(0));
setHeartbeatTime(remoteData.getDataLongs(1));
@@ -112,7 +112,7 @@ public class NetworkAddressInventory extends RegisterSource {
NetworkAddressInventory inventory = new NetworkAddressInventory();
inventory.setSequence((Integer)dbMap.get(SEQUENCE));
inventory.setName((String)dbMap.get(NAME));
- inventory.setSrcLayer((Integer)dbMap.get(SRC_LAYER));
+ inventory.setNodeType((Integer)dbMap.get(NODE_TYPE));
inventory.setRegisterTime((Long)dbMap.get(REGISTER_TIME));
inventory.setHeartbeatTime((Long)dbMap.get(HEARTBEAT_TIME));
return inventory;
@@ -122,7 +122,7 @@ public class NetworkAddressInventory extends RegisterSource {
Map<String, Object> map = new HashMap<>();
map.put(SEQUENCE, storageData.getSequence());
map.put(NAME, storageData.getName());
- map.put(SRC_LAYER, storageData.getSrcLayer());
+ map.put(NODE_TYPE, storageData.getNodeType());
map.put(REGISTER_TIME, storageData.getRegisterTime());
map.put(HEARTBEAT_TIME, storageData.getHeartbeatTime());
return map;
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 386cef2..7af54b8 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
@@ -43,12 +43,14 @@ public class ServiceInventory extends RegisterSource {
public static final String NAME = "name";
public static final String IS_ADDRESS = "is_address";
private static final String ADDRESS_ID = "address_id";
+ public static final String NODE_TYPE = "node_type";
public static final String MAPPING_SERVICE_ID = "mapping_service_id";
public static final String MAPPING_LAST_UPDATE_TIME = "mapping_last_update_time";
@Setter @Getter @Column(columnName = NAME, matchQuery = true) private String name = Const.EMPTY_STRING;
@Setter @Getter @Column(columnName = IS_ADDRESS) private int isAddress;
@Setter @Getter @Column(columnName = ADDRESS_ID) private int addressId;
+ @Setter @Getter @Column(columnName = NODE_TYPE) private int nodeType;
@Setter @Getter @Column(columnName = MAPPING_SERVICE_ID) private int mappingServiceId;
@Setter @Getter @Column(columnName = MAPPING_LAST_UPDATE_TIME) private long mappingLastUpdateTime;
@@ -83,6 +85,7 @@ public class ServiceInventory extends RegisterSource {
inventory.setHeartbeatTime(getHeartbeatTime());
inventory.setName(name);
inventory.setIsAddress(isAddress);
+ inventory.setNodeType(nodeType);
inventory.setAddressId(addressId);
inventory.setMappingLastUpdateTime(mappingLastUpdateTime);
inventory.setMappingServiceId(mappingServiceId);
@@ -115,6 +118,7 @@ public class ServiceInventory extends RegisterSource {
remoteBuilder.addDataIntegers(isAddress);
remoteBuilder.addDataIntegers(addressId);
remoteBuilder.addDataIntegers(mappingServiceId);
+ remoteBuilder.addDataIntegers(nodeType);
remoteBuilder.addDataLongs(getRegisterTime());
remoteBuilder.addDataLongs(getHeartbeatTime());
@@ -129,6 +133,7 @@ public class ServiceInventory extends RegisterSource {
setIsAddress(remoteData.getDataIntegers(1));
setAddressId(remoteData.getDataIntegers(2));
setMappingServiceId(remoteData.getDataIntegers(3));
+ setNodeType(remoteData.getDataIntegers(4));
setRegisterTime(remoteData.getDataLongs(0));
setHeartbeatTime(remoteData.getDataLongs(1));
@@ -159,6 +164,7 @@ public class ServiceInventory extends RegisterSource {
inventory.setMappingServiceId((Integer)dbMap.get(MAPPING_SERVICE_ID));
inventory.setName((String)dbMap.get(NAME));
inventory.setAddressId((Integer)dbMap.get(ADDRESS_ID));
+ inventory.setNodeType((Integer)dbMap.get(NODE_TYPE));
inventory.setRegisterTime((Long)dbMap.get(REGISTER_TIME));
inventory.setHeartbeatTime((Long)dbMap.get(HEARTBEAT_TIME));
inventory.setMappingLastUpdateTime((Long)dbMap.get(MAPPING_LAST_UPDATE_TIME));
@@ -172,6 +178,7 @@ public class ServiceInventory extends RegisterSource {
map.put(MAPPING_SERVICE_ID, storageData.getMappingServiceId());
map.put(NAME, storageData.getName());
map.put(ADDRESS_ID, storageData.getAddressId());
+ map.put(NODE_TYPE, storageData.getNodeType());
map.put(REGISTER_TIME, storageData.getRegisterTime());
map.put(HEARTBEAT_TIME, storageData.getHeartbeatTime());
map.put(MAPPING_LAST_UPDATE_TIME, storageData.getMappingLastUpdateTime());
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 cf83344..d0d1321 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
@@ -20,8 +20,8 @@ package org.apache.skywalking.oap.server.core.register.service;
import java.util.Objects;
import org.apache.skywalking.oap.server.core.*;
-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.cache.*;
+import org.apache.skywalking.oap.server.core.register.*;
import org.apache.skywalking.oap.server.core.register.worker.InventoryProcess;
import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.slf4j.*;
@@ -36,6 +36,7 @@ public class NetworkAddressInventoryRegister implements INetworkAddressInventory
private static final Logger logger = LoggerFactory.getLogger(NetworkAddressInventoryRegister.class);
private final ModuleManager moduleManager;
+ private ServiceInventoryCache serviceInventoryCache;
private NetworkAddressInventoryCache networkAddressInventoryCache;
private IServiceInventoryRegister serviceInventoryRegister;
private IServiceInstanceInventoryRegister serviceInstanceInventoryRegister;
@@ -44,6 +45,13 @@ public class NetworkAddressInventoryRegister implements INetworkAddressInventory
this.moduleManager = moduleManager;
}
+ private ServiceInventoryCache getServiceInventoryCache() {
+ if (isNull(serviceInventoryCache)) {
+ this.serviceInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInventoryCache.class);
+ }
+ return this.serviceInventoryCache;
+ }
+
private NetworkAddressInventoryCache getNetworkAddressInventoryCache() {
if (isNull(networkAddressInventoryCache)) {
this.networkAddressInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(NetworkAddressInventoryCache.class);
@@ -107,13 +115,19 @@ public class NetworkAddressInventoryRegister implements INetworkAddressInventory
}
}
- @Override public void update(int addressId, int srcLayer) {
- if (!this.compare(addressId, srcLayer)) {
+ @Override public void update(int addressId, int nodeType) {
+ if (!this.compare(addressId, nodeType)) {
NetworkAddressInventory newNetworkAddress = getNetworkAddressInventoryCache().get(addressId);
- newNetworkAddress.setSrcLayer(srcLayer);
+ newNetworkAddress.setNodeType(nodeType);
newNetworkAddress.setHeartbeatTime(System.currentTimeMillis());
InventoryProcess.INSTANCE.in(newNetworkAddress);
+
+ ServiceInventory newServiceInventory = getServiceInventoryCache().get(getServiceInventoryCache().getServiceId(newNetworkAddress.id()));
+ newServiceInventory.setNodeType(nodeType);
+ newServiceInventory.setHeartbeatTime(System.currentTimeMillis());
+
+ InventoryProcess.INSTANCE.in(newServiceInventory);
}
}
@@ -121,7 +135,7 @@ public class NetworkAddressInventoryRegister implements INetworkAddressInventory
NetworkAddressInventory networkAddress = getNetworkAddressInventoryCache().get(addressId);
if (Objects.nonNull(networkAddress)) {
- return srcLayer == networkAddress.getSrcLayer();
+ return srcLayer == networkAddress.getNodeType();
}
return true;
}
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/SpanIdExchanger.java b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/SpanIdExchanger.java
index 4d3aa46..ecf24d8 100644
--- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/SpanIdExchanger.java
+++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/SpanIdExchanger.java
@@ -81,8 +81,8 @@ public class SpanIdExchanger implements IdExchanger<SpanDecorator> {
standardBuilder.setPeerId(peerId);
standardBuilder.setPeer(Const.EMPTY_STRING);
- int spanLayer = standardBuilder.getSpanLayerValue();
- networkAddressInventoryRegister.update(peerId, spanLayer);
+ int nodeType = standardBuilder.getSpanLayerValue();
+ networkAddressInventoryRegister.update(peerId, nodeType);
}
}
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 f4a296c..54f0c9f 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
@@ -75,7 +75,7 @@ public class MetadataQueryEsDAO extends EsDAO implements IMetadataQueryDAO {
@Override public int numOfConjectural(long startTimestamp, long endTimestamp, int srcLayer) throws IOException {
SearchSourceBuilder sourceBuilder = SearchSourceBuilder.searchSource();
- sourceBuilder.query(QueryBuilders.termQuery(NetworkAddressInventory.SRC_LAYER, srcLayer));
+ sourceBuilder.query(QueryBuilders.termQuery(NetworkAddressInventory.NODE_TYPE, srcLayer));
sourceBuilder.size(0);
SearchResponse response = getClient().search(NetworkAddressInventory.MODEL_NAME, sourceBuilder);
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 5576609..b985854 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
@@ -82,7 +82,7 @@ public class H2MetadataQueryDAO implements IMetadataQueryDAO {
StringBuilder sql = new StringBuilder();
List<Object> condition = new ArrayList<>(5);
sql.append("select count(*) num from ").append(NetworkAddressInventory.MODEL_NAME).append(" where ");
- sql.append(NetworkAddressInventory.SRC_LAYER).append("=?");
+ sql.append(NetworkAddressInventory.NODE_TYPE).append("=?");
condition.add(srcLayer);
try (Connection connection = h2Client.getConnection()) {