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.sh...@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()) {