diff --git a/apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/skywalking/apm/collector/storage/table/noderef/NodeReference.java b/apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/skywalking/apm/collector/storage/table/noderef/NodeReference.java index 53532f9e3a9b..171aafcb6e74 100644 --- a/apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/skywalking/apm/collector/storage/table/noderef/NodeReference.java +++ b/apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/skywalking/apm/collector/storage/table/noderef/NodeReference.java @@ -30,7 +30,6 @@ public class NodeReference extends Data { private static final Column[] STRING_COLUMNS = { new Column(NodeReferenceTable.COLUMN_ID, new NonOperation()), - new Column(NodeReferenceTable.COLUMN_BEHIND_PEER, new NonOperation()), }; private static final Column[] LONG_COLUMNS = { @@ -61,14 +60,6 @@ public NodeReference(String id) { setSummary(0); } - public String getBehindPeer() { - return getDataString(1); - } - - public void setBehindPeer(String behindPeer) { - setDataString(1, behindPeer); - } - public Long getTimeBucket() { return getDataLong(0); } diff --git a/apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/skywalking/apm/collector/storage/table/noderef/NodeReferenceTable.java b/apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/skywalking/apm/collector/storage/table/noderef/NodeReferenceTable.java index c4fab4541a6a..aa5e31c5edc2 100644 --- a/apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/skywalking/apm/collector/storage/table/noderef/NodeReferenceTable.java +++ b/apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/skywalking/apm/collector/storage/table/noderef/NodeReferenceTable.java @@ -27,7 +27,6 @@ public class NodeReferenceTable extends CommonTable { public static final String TABLE = "node_reference"; public static final String COLUMN_FRONT_APPLICATION_ID = "front_application_id"; public static final String COLUMN_BEHIND_APPLICATION_ID = "behind_application_id"; - public static final String COLUMN_BEHIND_PEER = "behind_peer"; public static final String COLUMN_S1_LTE = "s1_lte"; public static final String COLUMN_S3_LTE = "s3_lte"; public static final String COLUMN_S5_LTE = "s5_lte"; diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/skywalking/apm/collector/storage/es/dao/NodeComponentEsUIDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/skywalking/apm/collector/storage/es/dao/NodeComponentEsUIDAO.java index cad0dd408a63..6df165dd205e 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/skywalking/apm/collector/storage/es/dao/NodeComponentEsUIDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/skywalking/apm/collector/storage/es/dao/NodeComponentEsUIDAO.java @@ -30,7 +30,6 @@ import org.skywalking.apm.collector.storage.dao.INodeComponentUIDAO; import org.skywalking.apm.collector.storage.es.base.dao.EsDAO; import org.skywalking.apm.collector.storage.table.node.NodeComponentTable; -import org.skywalking.apm.network.trace.component.ComponentsDefine; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -68,29 +67,21 @@ private JsonArray aggregationByComponentId(long startTime, long endTime) { JsonArray nodeComponentArray = new JsonArray(); for (Terms.Bucket componentIdBucket : componentIdTerms.getBuckets()) { int componentId = componentIdBucket.getKeyAsNumber().intValue(); - String componentName = ComponentsDefine.getInstance().getComponentName(componentId); - if (componentId != 0) { - buildComponentArray(componentIdBucket, componentName, nodeComponentArray); - } + buildComponentArray(componentIdBucket, componentId, nodeComponentArray); } return nodeComponentArray; } - private void buildComponentArray(Terms.Bucket componentBucket, String componentName, JsonArray nodeComponentArray) { + private void buildComponentArray(Terms.Bucket componentBucket, int componentId, JsonArray nodeComponentArray) { Terms peerIdTerms = componentBucket.getAggregations().get(NodeComponentTable.COLUMN_PEER_ID); for (Terms.Bucket peerIdBucket : peerIdTerms.getBuckets()) { int peerId = peerIdBucket.getKeyAsNumber().intValue(); - if (peerId != 0) { - //TODO ApplicationCache -// String peer = ApplicationCache.get(peerId); - - JsonObject nodeComponentObj = new JsonObject(); - nodeComponentObj.addProperty("componentName", componentName); -// nodeComponentObj.addProperty("peer", peer); - nodeComponentArray.add(nodeComponentObj); - } + JsonObject nodeComponentObj = new JsonObject(); + nodeComponentObj.addProperty(NodeComponentTable.COLUMN_COMPONENT_ID, componentId); + nodeComponentObj.addProperty(NodeComponentTable.COLUMN_PEER_ID, peerId); + nodeComponentArray.add(nodeComponentObj); } } } diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/skywalking/apm/collector/storage/es/dao/NodeMappingEsUIDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/skywalking/apm/collector/storage/es/dao/NodeMappingEsUIDAO.java index 8fb003e40764..a26f5daaaa92 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/skywalking/apm/collector/storage/es/dao/NodeMappingEsUIDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/skywalking/apm/collector/storage/es/dao/NodeMappingEsUIDAO.java @@ -61,20 +61,13 @@ public NodeMappingEsUIDAO(ElasticSearchClient client) { JsonArray nodeMappingArray = new JsonArray(); for (Terms.Bucket applicationIdBucket : applicationIdTerms.getBuckets()) { int applicationId = applicationIdBucket.getKeyAsNumber().intValue(); - //TODO ApplicationCache -// String applicationCode = ApplicationCache.get(applicationId); Terms addressIdTerms = applicationIdBucket.getAggregations().get(NodeMappingTable.COLUMN_ADDRESS_ID); for (Terms.Bucket addressIdBucket : addressIdTerms.getBuckets()) { int addressId = addressIdBucket.getKeyAsNumber().intValue(); - //TODO ApplicationCache -// String address = ApplicationCache.get(addressId); - - if (addressId != 0) { - JsonObject nodeMappingObj = new JsonObject(); -// nodeMappingObj.addProperty("applicationCode", applicationCode); -// nodeMappingObj.addProperty("address", address); - nodeMappingArray.add(nodeMappingObj); - } + JsonObject nodeMappingObj = new JsonObject(); + nodeMappingObj.addProperty(NodeMappingTable.COLUMN_APPLICATION_ID, applicationId); + nodeMappingObj.addProperty(NodeMappingTable.COLUMN_ADDRESS_ID, addressId); + nodeMappingArray.add(nodeMappingObj); } } logger.debug("node mapping data: {}", nodeMappingArray.toString()); diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/skywalking/apm/collector/storage/es/dao/NodeReferenceEsPersistenceDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/skywalking/apm/collector/storage/es/dao/NodeReferenceEsPersistenceDAO.java index b3aa4e21e364..c58f9406156a 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/skywalking/apm/collector/storage/es/dao/NodeReferenceEsPersistenceDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/skywalking/apm/collector/storage/es/dao/NodeReferenceEsPersistenceDAO.java @@ -45,7 +45,6 @@ public NodeReferenceEsPersistenceDAO(ElasticSearchClient client) { Map source = getResponse.getSource(); nodeReference.setFrontApplicationId(((Number)source.get(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID)).intValue()); nodeReference.setBehindApplicationId(((Number)source.get(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID)).intValue()); - nodeReference.setBehindPeer((String)source.get(NodeReferenceTable.COLUMN_BEHIND_PEER)); nodeReference.setS1Lte(((Number)source.get(NodeReferenceTable.COLUMN_S1_LTE)).intValue()); nodeReference.setS3Lte(((Number)source.get(NodeReferenceTable.COLUMN_S3_LTE)).intValue()); nodeReference.setS5Lte(((Number)source.get(NodeReferenceTable.COLUMN_S5_LTE)).intValue()); @@ -63,7 +62,6 @@ public NodeReferenceEsPersistenceDAO(ElasticSearchClient client) { Map source = new HashMap<>(); source.put(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID, data.getFrontApplicationId()); source.put(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID, data.getBehindApplicationId()); - source.put(NodeReferenceTable.COLUMN_BEHIND_PEER, data.getBehindPeer()); source.put(NodeReferenceTable.COLUMN_S1_LTE, data.getS1Lte()); source.put(NodeReferenceTable.COLUMN_S3_LTE, data.getS3Lte()); source.put(NodeReferenceTable.COLUMN_S5_LTE, data.getS5Lte()); @@ -79,7 +77,6 @@ public NodeReferenceEsPersistenceDAO(ElasticSearchClient client) { Map source = new HashMap<>(); source.put(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID, data.getFrontApplicationId()); source.put(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID, data.getBehindApplicationId()); - source.put(NodeReferenceTable.COLUMN_BEHIND_PEER, data.getBehindPeer()); source.put(NodeReferenceTable.COLUMN_S1_LTE, data.getS1Lte()); source.put(NodeReferenceTable.COLUMN_S3_LTE, data.getS3Lte()); source.put(NodeReferenceTable.COLUMN_S5_LTE, data.getS5Lte()); diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/skywalking/apm/collector/storage/es/dao/NodeReferenceEsUIDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/skywalking/apm/collector/storage/es/dao/NodeReferenceEsUIDAO.java index ea9615696294..dba339467d38 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/skywalking/apm/collector/storage/es/dao/NodeReferenceEsUIDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/skywalking/apm/collector/storage/es/dao/NodeReferenceEsUIDAO.java @@ -29,7 +29,7 @@ import org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder; import org.elasticsearch.search.aggregations.metrics.sum.Sum; import org.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; -import org.skywalking.apm.collector.core.util.StringUtils; +import org.skywalking.apm.collector.core.util.ColumnNameUtils; import org.skywalking.apm.collector.storage.dao.INodeReferenceUIDAO; import org.skywalking.apm.collector.storage.es.base.dao.EsDAO; import org.skywalking.apm.collector.storage.table.noderef.NodeReferenceTable; @@ -62,13 +62,6 @@ public NodeReferenceEsUIDAO(ElasticSearchClient client) { .subAggregation(AggregationBuilders.sum(NodeReferenceTable.COLUMN_S5_GT).field(NodeReferenceTable.COLUMN_S5_GT)) .subAggregation(AggregationBuilders.sum(NodeReferenceTable.COLUMN_SUMMARY).field(NodeReferenceTable.COLUMN_SUMMARY)) .subAggregation(AggregationBuilders.sum(NodeReferenceTable.COLUMN_ERROR).field(NodeReferenceTable.COLUMN_ERROR))); - aggregationBuilder.subAggregation(AggregationBuilders.terms(NodeReferenceTable.COLUMN_BEHIND_PEER).field(NodeReferenceTable.COLUMN_BEHIND_PEER).size(100) - .subAggregation(AggregationBuilders.sum(NodeReferenceTable.COLUMN_S1_LTE).field(NodeReferenceTable.COLUMN_S1_LTE)) - .subAggregation(AggregationBuilders.sum(NodeReferenceTable.COLUMN_S3_LTE).field(NodeReferenceTable.COLUMN_S3_LTE)) - .subAggregation(AggregationBuilders.sum(NodeReferenceTable.COLUMN_S5_LTE).field(NodeReferenceTable.COLUMN_S5_LTE)) - .subAggregation(AggregationBuilders.sum(NodeReferenceTable.COLUMN_S5_GT).field(NodeReferenceTable.COLUMN_S5_GT)) - .subAggregation(AggregationBuilders.sum(NodeReferenceTable.COLUMN_SUMMARY).field(NodeReferenceTable.COLUMN_SUMMARY)) - .subAggregation(AggregationBuilders.sum(NodeReferenceTable.COLUMN_ERROR).field(NodeReferenceTable.COLUMN_ERROR))); searchRequestBuilder.addAggregation(aggregationBuilder); SearchResponse searchResponse = searchRequestBuilder.execute().actionGet(); @@ -76,61 +69,30 @@ public NodeReferenceEsUIDAO(ElasticSearchClient client) { JsonArray nodeRefResSumArray = new JsonArray(); Terms frontApplicationIdTerms = searchResponse.getAggregations().get(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID); for (Terms.Bucket frontApplicationIdBucket : frontApplicationIdTerms.getBuckets()) { - int applicationId = frontApplicationIdBucket.getKeyAsNumber().intValue(); - //TODO ApplicationCache -// String applicationCode = ApplicationCache.get(applicationId); + int frontApplicationId = frontApplicationIdBucket.getKeyAsNumber().intValue(); Terms behindApplicationIdTerms = frontApplicationIdBucket.getAggregations().get(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID); for (Terms.Bucket behindApplicationIdBucket : behindApplicationIdTerms.getBuckets()) { int behindApplicationId = behindApplicationIdBucket.getKeyAsNumber().intValue(); if (behindApplicationId != 0) { -// String behindApplicationCode = ApplicationCache.get(behindApplicationId); - Sum s1LTE = behindApplicationIdBucket.getAggregations().get(NodeReferenceTable.COLUMN_S1_LTE); Sum s3LTE = behindApplicationIdBucket.getAggregations().get(NodeReferenceTable.COLUMN_S3_LTE); Sum s5LTE = behindApplicationIdBucket.getAggregations().get(NodeReferenceTable.COLUMN_S5_LTE); Sum s5GT = behindApplicationIdBucket.getAggregations().get(NodeReferenceTable.COLUMN_S5_GT); Sum summary = behindApplicationIdBucket.getAggregations().get(NodeReferenceTable.COLUMN_SUMMARY); Sum error = behindApplicationIdBucket.getAggregations().get(NodeReferenceTable.COLUMN_ERROR); - logger.debug("applicationId: {}, behindApplicationId: {}, s1LTE: {}, s3LTE: {}, s5LTE: {}, s5GT: {}, error: {}, summary: {}", applicationId, + logger.debug("frontApplicationId: {}, behindApplicationId: {}, s1LTE: {}, s3LTE: {}, s5LTE: {}, s5GT: {}, error: {}, summary: {}", frontApplicationId, behindApplicationId, s1LTE.getValue(), s3LTE.getValue(), s5LTE.getValue(), s5GT.getValue(), error.getValue(), summary.getValue()); JsonObject nodeRefResSumObj = new JsonObject(); -// nodeRefResSumObj.addProperty("front", applicationCode); -// nodeRefResSumObj.addProperty("behind", behindApplicationCode); - nodeRefResSumObj.addProperty(NodeReferenceTable.COLUMN_S1_LTE, s1LTE.getValue()); - nodeRefResSumObj.addProperty(NodeReferenceTable.COLUMN_S3_LTE, s3LTE.getValue()); - nodeRefResSumObj.addProperty(NodeReferenceTable.COLUMN_S5_LTE, s5LTE.getValue()); - nodeRefResSumObj.addProperty(NodeReferenceTable.COLUMN_S5_GT, s5GT.getValue()); - nodeRefResSumObj.addProperty(NodeReferenceTable.COLUMN_ERROR, error.getValue()); - nodeRefResSumObj.addProperty(NodeReferenceTable.COLUMN_SUMMARY, summary.getValue()); - nodeRefResSumArray.add(nodeRefResSumObj); - } - } - - Terms behindPeerTerms = frontApplicationIdBucket.getAggregations().get(NodeReferenceTable.COLUMN_BEHIND_PEER); - for (Terms.Bucket behindPeerBucket : behindPeerTerms.getBuckets()) { - String behindPeer = behindPeerBucket.getKeyAsString(); - - if (StringUtils.isNotEmpty(behindPeer)) { - Sum s1LTE = behindPeerBucket.getAggregations().get(NodeReferenceTable.COLUMN_S1_LTE); - Sum s3LTE = behindPeerBucket.getAggregations().get(NodeReferenceTable.COLUMN_S3_LTE); - Sum s5LTE = behindPeerBucket.getAggregations().get(NodeReferenceTable.COLUMN_S5_LTE); - Sum s5GT = behindPeerBucket.getAggregations().get(NodeReferenceTable.COLUMN_S5_GT); - Sum summary = behindPeerBucket.getAggregations().get(NodeReferenceTable.COLUMN_SUMMARY); - Sum error = behindPeerBucket.getAggregations().get(NodeReferenceTable.COLUMN_ERROR); - logger.debug("applicationId: {}, behindPeer: {}, s1LTE: {}, s3LTE: {}, s5LTE: {}, s5GT: {}, error: {}, summary: {}", applicationId, - behindPeer, s1LTE.getValue(), s3LTE.getValue(), s5LTE.getValue(), s5GT.getValue(), error.getValue(), summary.getValue()); - - JsonObject nodeRefResSumObj = new JsonObject(); -// nodeRefResSumObj.addProperty("front", applicationCode); - nodeRefResSumObj.addProperty("behind", behindPeer); - nodeRefResSumObj.addProperty(NodeReferenceTable.COLUMN_S1_LTE, s1LTE.getValue()); - nodeRefResSumObj.addProperty(NodeReferenceTable.COLUMN_S3_LTE, s3LTE.getValue()); - nodeRefResSumObj.addProperty(NodeReferenceTable.COLUMN_S5_LTE, s5LTE.getValue()); - nodeRefResSumObj.addProperty(NodeReferenceTable.COLUMN_S5_GT, s5GT.getValue()); - nodeRefResSumObj.addProperty(NodeReferenceTable.COLUMN_ERROR, error.getValue()); - nodeRefResSumObj.addProperty(NodeReferenceTable.COLUMN_SUMMARY, summary.getValue()); + nodeRefResSumObj.addProperty(ColumnNameUtils.INSTANCE.rename(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID), frontApplicationId); + nodeRefResSumObj.addProperty(ColumnNameUtils.INSTANCE.rename(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID), behindApplicationId); + nodeRefResSumObj.addProperty(ColumnNameUtils.INSTANCE.rename(NodeReferenceTable.COLUMN_S1_LTE), s1LTE.getValue()); + nodeRefResSumObj.addProperty(ColumnNameUtils.INSTANCE.rename(NodeReferenceTable.COLUMN_S3_LTE), s3LTE.getValue()); + nodeRefResSumObj.addProperty(ColumnNameUtils.INSTANCE.rename(NodeReferenceTable.COLUMN_S5_LTE), s5LTE.getValue()); + nodeRefResSumObj.addProperty(ColumnNameUtils.INSTANCE.rename(NodeReferenceTable.COLUMN_S5_GT), s5GT.getValue()); + nodeRefResSumObj.addProperty(ColumnNameUtils.INSTANCE.rename(NodeReferenceTable.COLUMN_ERROR), error.getValue()); + nodeRefResSumObj.addProperty(ColumnNameUtils.INSTANCE.rename(NodeReferenceTable.COLUMN_SUMMARY), summary.getValue()); nodeRefResSumArray.add(nodeRefResSumObj); } } diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/skywalking/apm/collector/storage/es/define/NodeReferenceEsTableDefine.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/skywalking/apm/collector/storage/es/define/NodeReferenceEsTableDefine.java index 2fd9859d5022..9e87b653acc5 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/skywalking/apm/collector/storage/es/define/NodeReferenceEsTableDefine.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/skywalking/apm/collector/storage/es/define/NodeReferenceEsTableDefine.java @@ -38,7 +38,6 @@ public NodeReferenceEsTableDefine() { @Override public void initialize() { addColumn(new ElasticSearchColumnDefine(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID, ElasticSearchColumnDefine.Type.Integer.name())); addColumn(new ElasticSearchColumnDefine(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID, ElasticSearchColumnDefine.Type.Integer.name())); - addColumn(new ElasticSearchColumnDefine(NodeReferenceTable.COLUMN_BEHIND_PEER, ElasticSearchColumnDefine.Type.Keyword.name())); addColumn(new ElasticSearchColumnDefine(NodeReferenceTable.COLUMN_S1_LTE, ElasticSearchColumnDefine.Type.Integer.name())); addColumn(new ElasticSearchColumnDefine(NodeReferenceTable.COLUMN_S3_LTE, ElasticSearchColumnDefine.Type.Integer.name())); addColumn(new ElasticSearchColumnDefine(NodeReferenceTable.COLUMN_S5_LTE, ElasticSearchColumnDefine.Type.Integer.name())); diff --git a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/NodeReferenceH2PersistenceDAO.java b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/NodeReferenceH2PersistenceDAO.java index 8b4f55af538d..d690aebb3a8e 100644 --- a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/NodeReferenceH2PersistenceDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/NodeReferenceH2PersistenceDAO.java @@ -56,7 +56,6 @@ public NodeReferenceH2PersistenceDAO(H2Client client) { NodeReference nodeReference = new NodeReference(id); nodeReference.setFrontApplicationId(rs.getInt(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID)); nodeReference.setBehindApplicationId(rs.getInt(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID)); - nodeReference.setBehindPeer(rs.getString(NodeReferenceTable.COLUMN_BEHIND_PEER)); nodeReference.setS1Lte(rs.getInt(NodeReferenceTable.COLUMN_S1_LTE)); nodeReference.setS3Lte(rs.getInt(NodeReferenceTable.COLUMN_S3_LTE)); nodeReference.setS5Lte(rs.getInt(NodeReferenceTable.COLUMN_S5_LTE)); @@ -78,7 +77,6 @@ public NodeReferenceH2PersistenceDAO(H2Client client) { source.put(NodeReferenceTable.COLUMN_ID, data.getId()); source.put(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID, data.getFrontApplicationId()); source.put(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID, data.getBehindApplicationId()); - source.put(NodeReferenceTable.COLUMN_BEHIND_PEER, data.getBehindPeer()); source.put(NodeReferenceTable.COLUMN_S1_LTE, data.getS1Lte()); source.put(NodeReferenceTable.COLUMN_S3_LTE, data.getS3Lte()); source.put(NodeReferenceTable.COLUMN_S5_LTE, data.getS5Lte()); @@ -98,7 +96,6 @@ public NodeReferenceH2PersistenceDAO(H2Client client) { H2SqlEntity entity = new H2SqlEntity(); source.put(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID, data.getFrontApplicationId()); source.put(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID, data.getBehindApplicationId()); - source.put(NodeReferenceTable.COLUMN_BEHIND_PEER, data.getBehindPeer()); source.put(NodeReferenceTable.COLUMN_S1_LTE, data.getS1Lte()); source.put(NodeReferenceTable.COLUMN_S3_LTE, data.getS3Lte()); source.put(NodeReferenceTable.COLUMN_S5_LTE, data.getS5Lte()); diff --git a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/NodeReferenceH2UIDAO.java b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/NodeReferenceH2UIDAO.java index cbcfba112349..ac176e3a27d2 100644 --- a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/NodeReferenceH2UIDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/NodeReferenceH2UIDAO.java @@ -24,7 +24,6 @@ import java.sql.SQLException; import org.skywalking.apm.collector.client.h2.H2Client; import org.skywalking.apm.collector.client.h2.H2ClientException; -import org.skywalking.apm.collector.core.util.StringUtils; import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; import org.skywalking.apm.collector.storage.dao.INodeReferenceUIDAO; import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO; @@ -52,7 +51,7 @@ public NodeReferenceH2UIDAO(H2Client client) { NodeReferenceTable.COLUMN_S3_LTE, NodeReferenceTable.COLUMN_S5_LTE, NodeReferenceTable.COLUMN_S5_GT, NodeReferenceTable.COLUMN_SUMMARY, NodeReferenceTable.COLUMN_ERROR, NodeReferenceTable.TABLE, NodeReferenceTable.COLUMN_TIME_BUCKET, - NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID, NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID, NodeReferenceTable.COLUMN_BEHIND_PEER); + NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID, NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID); Object[] params = new Object[] {startTime, endTime}; try (ResultSet rs = client.executeQuery(sql, params)) { @@ -75,19 +74,6 @@ public NodeReferenceH2UIDAO(H2Client client) { nodeRefResSumObj.addProperty(NodeReferenceTable.COLUMN_SUMMARY, rs.getDouble(NodeReferenceTable.COLUMN_SUMMARY)); nodeRefResSumArray.add(nodeRefResSumObj); } - String behindPeer = rs.getString(NodeReferenceTable.COLUMN_BEHIND_PEER); - if (StringUtils.isNotEmpty(behindPeer)) { - JsonObject nodeRefResSumObj = new JsonObject(); -// nodeRefResSumObj.addProperty("front", applicationCode); - nodeRefResSumObj.addProperty("behind", behindPeer); - nodeRefResSumObj.addProperty(NodeReferenceTable.COLUMN_S1_LTE, rs.getDouble(NodeReferenceTable.COLUMN_S1_LTE)); - nodeRefResSumObj.addProperty(NodeReferenceTable.COLUMN_S3_LTE, rs.getDouble(NodeReferenceTable.COLUMN_S3_LTE)); - nodeRefResSumObj.addProperty(NodeReferenceTable.COLUMN_S5_LTE, rs.getDouble(NodeReferenceTable.COLUMN_S5_LTE)); - nodeRefResSumObj.addProperty(NodeReferenceTable.COLUMN_S5_GT, rs.getDouble(NodeReferenceTable.COLUMN_S5_GT)); - nodeRefResSumObj.addProperty(NodeReferenceTable.COLUMN_ERROR, rs.getDouble(NodeReferenceTable.COLUMN_ERROR)); - nodeRefResSumObj.addProperty(NodeReferenceTable.COLUMN_SUMMARY, rs.getDouble(NodeReferenceTable.COLUMN_SUMMARY)); - nodeRefResSumArray.add(nodeRefResSumObj); - } } } catch (SQLException | H2ClientException e) { logger.error(e.getMessage(), e); diff --git a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/define/NodeReferenceH2TableDefine.java b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/define/NodeReferenceH2TableDefine.java index 906abf5a504c..8f407c5ade72 100644 --- a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/define/NodeReferenceH2TableDefine.java +++ b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/define/NodeReferenceH2TableDefine.java @@ -35,7 +35,6 @@ public NodeReferenceH2TableDefine() { addColumn(new H2ColumnDefine(NodeReferenceTable.COLUMN_ID, H2ColumnDefine.Type.Varchar.name())); addColumn(new H2ColumnDefine(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID, H2ColumnDefine.Type.Int.name())); addColumn(new H2ColumnDefine(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID, H2ColumnDefine.Type.Int.name())); - addColumn(new H2ColumnDefine(NodeReferenceTable.COLUMN_BEHIND_PEER, H2ColumnDefine.Type.Varchar.name())); addColumn(new H2ColumnDefine(NodeReferenceTable.COLUMN_S1_LTE, H2ColumnDefine.Type.Int.name())); addColumn(new H2ColumnDefine(NodeReferenceTable.COLUMN_S3_LTE, H2ColumnDefine.Type.Int.name())); addColumn(new H2ColumnDefine(NodeReferenceTable.COLUMN_S5_LTE, H2ColumnDefine.Type.Int.name())); diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/TraceDagDataBuilder.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/TraceDagDataBuilder.java index 7de9db66bf3f..dcd266c678b1 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/TraceDagDataBuilder.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/TraceDagDataBuilder.java @@ -23,8 +23,15 @@ import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; +import org.skywalking.apm.collector.cache.CacheModule; +import org.skywalking.apm.collector.cache.service.ApplicationCacheService; +import org.skywalking.apm.collector.core.module.ModuleManager; +import org.skywalking.apm.collector.core.util.ColumnNameUtils; import org.skywalking.apm.collector.core.util.Const; +import org.skywalking.apm.collector.storage.table.node.NodeComponentTable; +import org.skywalking.apm.collector.storage.table.node.NodeMappingTable; import org.skywalking.apm.collector.storage.table.noderef.NodeReferenceTable; +import org.skywalking.apm.network.trace.component.ComponentsDefine; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,12 +47,17 @@ public class TraceDagDataBuilder { private Map nodeIdMap = new HashMap<>(); private JsonArray pointArray = new JsonArray(); private JsonArray lineArray = new JsonArray(); + private final ApplicationCacheService applicationCacheService; + + public TraceDagDataBuilder(ModuleManager moduleManager) { + this.applicationCacheService = moduleManager.find(CacheModule.NAME).getService(ApplicationCacheService.class); + } public JsonObject build(JsonArray nodeCompArray, JsonArray nodesMappingArray, JsonArray resSumArray) { changeNodeComp2Map(nodeCompArray); changeMapping2Map(nodesMappingArray); - Map mergedResSumMap = merge(resSumArray); + Map mergedResSumMap = getApplicationCode(resSumArray); mergedResSumMap.values().forEach(nodeRefJsonObj -> { String front = nodeRefJsonObj.get("front").getAsString(); @@ -94,8 +106,10 @@ private Integer findOrCreateNode(String peers) { private void changeMapping2Map(JsonArray nodesMappingArray) { for (int i = 0; i < nodesMappingArray.size(); i++) { JsonObject nodesMappingJsonObj = nodesMappingArray.get(i).getAsJsonObject(); - String applicationCode = nodesMappingJsonObj.get("applicationCode").getAsString(); - String address = nodesMappingJsonObj.get("address").getAsString(); + int applicationId = nodesMappingJsonObj.get(NodeMappingTable.COLUMN_APPLICATION_ID).getAsInt(); + String applicationCode = applicationCacheService.get(applicationId); + int addressId = nodesMappingJsonObj.get(NodeMappingTable.COLUMN_ADDRESS_ID).getAsInt(); + String address = applicationCacheService.get(addressId); mappingMap.put(address, applicationCode); } } @@ -104,8 +118,10 @@ private void changeNodeComp2Map(JsonArray nodeCompArray) { for (int i = 0; i < nodeCompArray.size(); i++) { JsonObject nodesJsonObj = nodeCompArray.get(i).getAsJsonObject(); logger.debug(nodesJsonObj.toString()); - String componentName = nodesJsonObj.get("componentName").getAsString(); - String peer = nodesJsonObj.get("peer").getAsString(); + int componentId = nodesJsonObj.get(NodeComponentTable.COLUMN_COMPONENT_ID).getAsInt(); + String componentName = ComponentsDefine.getInstance().getComponentName(componentId); + int peerId = nodesJsonObj.get(NodeComponentTable.COLUMN_PEER_ID).getAsInt(); + String peer = applicationCacheService.get(peerId); nodeCompMap.put(peer, componentName); } } @@ -114,25 +130,21 @@ private boolean hasMapping(String peers) { return mappingMap.containsKey(peers); } - private Map merge(JsonArray nodeReference) { + private Map getApplicationCode(JsonArray nodeReference) { Map mergedRef = new LinkedHashMap<>(); for (int i = 0; i < nodeReference.size(); i++) { JsonObject nodeRefJsonObj = nodeReference.get(i).getAsJsonObject(); - String front = nodeRefJsonObj.get("front").getAsString(); - String behind = nodeRefJsonObj.get("behind").getAsString(); + + int frontApplicationId = nodeRefJsonObj.get(ColumnNameUtils.INSTANCE.rename(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID)).getAsInt(); + int behindApplicationId = nodeRefJsonObj.get(ColumnNameUtils.INSTANCE.rename(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID)).getAsInt(); + + String front = applicationCacheService.get(frontApplicationId); + String behind = applicationCacheService.get(behindApplicationId); String id = front + Const.ID_SPLIT + behind; - if (mergedRef.containsKey(id)) { - JsonObject oldValue = mergedRef.get(id); - oldValue.addProperty(NodeReferenceTable.COLUMN_S1_LTE, oldValue.get(NodeReferenceTable.COLUMN_S1_LTE).getAsLong() + nodeRefJsonObj.get(NodeReferenceTable.COLUMN_S1_LTE).getAsLong()); - oldValue.addProperty(NodeReferenceTable.COLUMN_S3_LTE, oldValue.get(NodeReferenceTable.COLUMN_S3_LTE).getAsLong() + nodeRefJsonObj.get(NodeReferenceTable.COLUMN_S3_LTE).getAsLong()); - oldValue.addProperty(NodeReferenceTable.COLUMN_S5_LTE, oldValue.get(NodeReferenceTable.COLUMN_S5_LTE).getAsLong() + nodeRefJsonObj.get(NodeReferenceTable.COLUMN_S5_LTE).getAsLong()); - oldValue.addProperty(NodeReferenceTable.COLUMN_S5_GT, oldValue.get(NodeReferenceTable.COLUMN_S5_GT).getAsLong() + nodeRefJsonObj.get(NodeReferenceTable.COLUMN_S5_GT).getAsLong()); - oldValue.addProperty(NodeReferenceTable.COLUMN_ERROR, oldValue.get(NodeReferenceTable.COLUMN_ERROR).getAsLong() + nodeRefJsonObj.get(NodeReferenceTable.COLUMN_ERROR).getAsLong()); - oldValue.addProperty(NodeReferenceTable.COLUMN_SUMMARY, oldValue.get(NodeReferenceTable.COLUMN_SUMMARY).getAsLong() + nodeRefJsonObj.get(NodeReferenceTable.COLUMN_SUMMARY).getAsLong()); - } else { - mergedRef.put(id, nodeReference.get(i).getAsJsonObject()); - } + nodeRefJsonObj.addProperty("front", front); + nodeRefJsonObj.addProperty("behind", behind); + mergedRef.put(id, nodeRefJsonObj); } return mergedRef; diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/TraceDagService.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/TraceDagService.java index 65af85c44d31..0a2839cf01c3 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/TraceDagService.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/TraceDagService.java @@ -38,8 +38,10 @@ public class TraceDagService { private final INodeComponentUIDAO nodeComponentDAO; private final INodeMappingUIDAO nodeMappingDAO; private final INodeReferenceUIDAO nodeRefSumDAO; + private final ModuleManager moduleManager; public TraceDagService(ModuleManager moduleManager) { + this.moduleManager = moduleManager; this.nodeComponentDAO = moduleManager.find(StorageModule.NAME).getService(INodeComponentUIDAO.class); this.nodeMappingDAO = moduleManager.find(StorageModule.NAME).getService(INodeMappingUIDAO.class); this.nodeRefSumDAO = moduleManager.find(StorageModule.NAME).getService(INodeReferenceUIDAO.class); @@ -53,7 +55,7 @@ public JsonObject load(long startTime, long endTime) { JsonArray nodeRefSumArray = nodeRefSumDAO.load(startTime, endTime); - TraceDagDataBuilder builder = new TraceDagDataBuilder(); + TraceDagDataBuilder builder = new TraceDagDataBuilder(moduleManager); JsonObject traceDag = builder.build(nodeComponentArray, nodeMappingArray, nodeRefSumArray); return traceDag;