trace dag ui with elasticsearch storage module provider test success.
This commit is contained in:
parent
101d92bf93
commit
085da8394e
|
|
@ -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 class NodeReference extends Data {
|
|||
setSummary(0);
|
||||
}
|
||||
|
||||
public String getBehindPeer() {
|
||||
return getDataString(1);
|
||||
}
|
||||
|
||||
public void setBehindPeer(String behindPeer) {
|
||||
setDataString(1, behindPeer);
|
||||
}
|
||||
|
||||
public Long getTimeBucket() {
|
||||
return getDataLong(0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
|
|
|||
|
|
@ -30,7 +30,6 @@ import org.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient;
|
|||
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 @@ public class NodeComponentEsUIDAO extends EsDAO implements INodeComponentUIDAO {
|
|||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,20 +61,13 @@ public class NodeMappingEsUIDAO extends EsDAO implements INodeMappingUIDAO {
|
|||
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());
|
||||
|
|
|
|||
|
|
@ -45,7 +45,6 @@ public class NodeReferenceEsPersistenceDAO extends EsDAO implements INodeReferen
|
|||
Map<String, Object> 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 class NodeReferenceEsPersistenceDAO extends EsDAO implements INodeReferen
|
|||
Map<String, Object> 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 class NodeReferenceEsPersistenceDAO extends EsDAO implements INodeReferen
|
|||
Map<String, Object> 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());
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ import org.elasticsearch.search.aggregations.bucket.terms.Terms;
|
|||
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 class NodeReferenceEsUIDAO extends EsDAO implements INodeReferenceUIDAO {
|
|||
.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 class NodeReferenceEsUIDAO extends EsDAO implements INodeReferenceUIDAO {
|
|||
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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,7 +38,6 @@ public class NodeReferenceEsTableDefine extends ElasticSearchTableDefine {
|
|||
@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()));
|
||||
|
|
|
|||
|
|
@ -56,7 +56,6 @@ public class NodeReferenceH2PersistenceDAO extends H2DAO implements INodeReferen
|
|||
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 class NodeReferenceH2PersistenceDAO extends H2DAO implements INodeReferen
|
|||
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 class NodeReferenceH2PersistenceDAO extends H2DAO implements INodeReferen
|
|||
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());
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@ import java.sql.ResultSet;
|
|||
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 class NodeReferenceH2UIDAO extends H2DAO implements INodeReferenceUIDAO {
|
|||
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 class NodeReferenceH2UIDAO extends H2DAO implements INodeReferenceUIDAO {
|
|||
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);
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@ public class NodeReferenceH2TableDefine extends H2TableDefine {
|
|||
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()));
|
||||
|
|
|
|||
|
|
@ -23,8 +23,15 @@ import com.google.gson.JsonObject;
|
|||
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<String, Integer> 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<String, JsonObject> mergedResSumMap = merge(resSumArray);
|
||||
Map<String, JsonObject> mergedResSumMap = getApplicationCode(resSumArray);
|
||||
|
||||
mergedResSumMap.values().forEach(nodeRefJsonObj -> {
|
||||
String front = nodeRefJsonObj.get("front").getAsString();
|
||||
|
|
@ -94,8 +106,10 @@ public class TraceDagDataBuilder {
|
|||
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 @@ public class TraceDagDataBuilder {
|
|||
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 @@ public class TraceDagDataBuilder {
|
|||
return mappingMap.containsKey(peers);
|
||||
}
|
||||
|
||||
private Map<String, JsonObject> merge(JsonArray nodeReference) {
|
||||
private Map<String, JsonObject> getApplicationCode(JsonArray nodeReference) {
|
||||
Map<String, JsonObject> 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;
|
||||
|
|
|
|||
|
|
@ -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 class TraceDagService {
|
|||
|
||||
JsonArray nodeRefSumArray = nodeRefSumDAO.load(startTime, endTime);
|
||||
|
||||
TraceDagDataBuilder builder = new TraceDagDataBuilder();
|
||||
TraceDagDataBuilder builder = new TraceDagDataBuilder(moduleManager);
|
||||
JsonObject traceDag = builder.build(nodeComponentArray, nodeMappingArray, nodeRefSumArray);
|
||||
|
||||
return traceDag;
|
||||
|
|
|
|||
Loading…
Reference in New Issue