diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/storage/StorageInstaller.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/storage/StorageInstaller.java index 01abbf72c886d126ee8c94e4ccefaabef5c81dff..4d167daf163e4d68df59dc4ee75971e8f975ecad 100644 --- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/storage/StorageInstaller.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/storage/StorageInstaller.java @@ -18,13 +18,14 @@ public abstract class StorageInstaller { try { List tableDefines = defineLoader.load(); defineFilter(tableDefines); + Boolean debug = System.getProperty("debug") != null; for (TableDefine tableDefine : tableDefines) { tableDefine.initialize(); if (!isExists(client, tableDefine)) { logger.info("table: {} not exists", tableDefine.getName()); createTable(client, tableDefine); - } else { + } else if (debug) { logger.info("table: {} exists", tableDefine.getName()); deleteTable(client, tableDefine); createTable(client, tableDefine); diff --git a/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/dao/ServiceReferenceEsDAO.java b/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/dao/ServiceReferenceEsDAO.java index 9a397c80d8475b3e20a1c84dec729b10eac0fc6c..b6947051c91f8de1b1ae020917bf331bb5e597aa 100644 --- a/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/dao/ServiceReferenceEsDAO.java +++ b/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/dao/ServiceReferenceEsDAO.java @@ -110,13 +110,15 @@ public class ServiceReferenceEsDAO extends EsDAO implements IServiceReferenceDAO .subAggregation(AggregationBuilders.sum(ServiceReferenceTable.COLUMN_SUMMARY).field(ServiceReferenceTable.COLUMN_SUMMARY)) .subAggregation(AggregationBuilders.sum(ServiceReferenceTable.COLUMN_COST_SUMMARY).field(ServiceReferenceTable.COLUMN_COST_SUMMARY)))); + Map serviceReferenceMap = new LinkedHashMap<>(); + JsonArray serviceReferenceArray = new JsonArray(); SearchResponse searchResponse = searchRequestBuilder.get(); Terms frontServiceIdTerms = searchResponse.getAggregations().get(ServiceReferenceTable.COLUMN_FRONT_SERVICE_ID); for (Terms.Bucket frontServiceBucket : frontServiceIdTerms.getBuckets()) { int frontServiceId = frontServiceBucket.getKeyAsNumber().intValue(); if (frontServiceId != 0) { - parseSubAggregate(serviceReferenceArray, frontServiceBucket, frontServiceId); + parseSubAggregate(serviceReferenceMap, serviceReferenceArray, frontServiceBucket, frontServiceId); } } @@ -126,16 +128,17 @@ public class ServiceReferenceEsDAO extends EsDAO implements IServiceReferenceDAO if (StringUtils.isNotEmpty(frontServiceName)) { String[] serviceNames = frontServiceName.split(Const.ID_SPLIT); int frontServiceId = ServiceIdCache.getForUI(Integer.parseInt(serviceNames[0]), serviceNames[1]); - parseSubAggregate(serviceReferenceArray, frontServiceBucket, frontServiceId); + parseSubAggregate(serviceReferenceMap, serviceReferenceArray, frontServiceBucket, frontServiceId); } } + + serviceReferenceMap.values().forEach(serviceReferenceArray::add); return serviceReferenceArray; } - private void parseSubAggregate(JsonArray serviceReferenceArray, Terms.Bucket frontServiceBucket, + private void parseSubAggregate(Map serviceReferenceMap, JsonArray serviceReferenceArray, + Terms.Bucket frontServiceBucket, int frontServiceId) { - Map serviceReferenceMap = new LinkedHashMap<>(); - Terms behindServiceIdTerms = frontServiceBucket.getAggregations().get(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_ID); for (Terms.Bucket behindServiceIdBucket : behindServiceIdTerms.getBuckets()) { int behindServiceId = behindServiceIdBucket.getKeyAsNumber().intValue(); @@ -205,8 +208,6 @@ public class ServiceReferenceEsDAO extends EsDAO implements IServiceReferenceDAO merge(serviceReferenceMap, serviceReference); } } - - serviceReferenceMap.values().forEach(serviceReferenceArray::add); } private void merge(Map serviceReferenceMap, JsonObject serviceReference) { diff --git a/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/time/AllInstanceLastTimeGetHandler.java b/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/time/AllInstanceLastTimeGetHandler.java index 3a2f47806debf66b1a09fe8b333d530c54d8ff7c..1b5c7f59557629656b6e1c9d325a64c19ef0e387 100644 --- a/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/time/AllInstanceLastTimeGetHandler.java +++ b/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/time/AllInstanceLastTimeGetHandler.java @@ -28,18 +28,16 @@ public class AllInstanceLastTimeGetHandler extends JettyHandler { Long timeBucket = service.allInstanceLastTime(); logger.debug("all instance last time: {}", timeBucket); - long instanceTimeBucket; if (timeBucket == 0) { - instanceTimeBucket = 0; - } else { - Calendar calendar = Calendar.getInstance(); - calendar.setTimeInMillis(TimeBucketUtils.INSTANCE.changeTimeBucket2TimeStamp(TimeBucketUtils.TimeBucketType.SECOND.name(), timeBucket)); - calendar.add(Calendar.SECOND, -5); - instanceTimeBucket = calendar.getTimeInMillis(); + timeBucket = TimeBucketUtils.INSTANCE.getSecondTimeBucket(System.currentTimeMillis()); } + Calendar calendar = Calendar.getInstance(); + calendar.setTimeInMillis(TimeBucketUtils.INSTANCE.changeTimeBucket2TimeStamp(TimeBucketUtils.TimeBucketType.SECOND.name(), timeBucket)); + calendar.add(Calendar.SECOND, -5); + timeBucket = calendar.getTimeInMillis(); JsonObject timeJson = new JsonObject(); - timeJson.addProperty("timeBucket", TimeBucketUtils.INSTANCE.getSecondTimeBucket(instanceTimeBucket)); + timeJson.addProperty("timeBucket", TimeBucketUtils.INSTANCE.getSecondTimeBucket(timeBucket)); return timeJson; }