From cc655e143521d90c564176a739b9c30a9e86b0ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E5=8B=87=E5=8D=87=20pengys?= <8082209@qq.com> Date: Sat, 7 Apr 2018 17:17:12 +0800 Subject: [PATCH] 1. Add the performance collection point. (#1041) 2. Report formatter. #1032 --- ...licationComponentDayPersistenceWorker.java | 9 +- ...icationComponentHourPersistenceWorker.java | 9 +- ...ationComponentMinuteAggregationWorker.java | 10 +- ...ationComponentMinutePersistenceWorker.java | 9 +- ...pplicationComponentMinuteRemoteWorker.java | 5 +- ...cationComponentMonthPersistenceWorker.java | 9 +- .../ApplicationComponentSpanListener.java | 2 +- ...pplicationMappingDayPersistenceWorker.java | 9 +- ...plicationMappingHourPersistenceWorker.java | 9 +- ...icationMappingMinuteAggregationWorker.java | 10 +- ...icationMappingMinutePersistenceWorker.java | 9 +- .../ApplicationMappingMinuteRemoteWorker.java | 5 +- ...licationMappingMonthPersistenceWorker.java | 9 +- .../ApplicationMappingSpanListener.java | 2 +- ...ApplicationDayMetricPersistenceWorker.java | 9 +- ...pplicationHourMetricPersistenceWorker.java | 9 +- ...licationMinuteMetricAggregationWorker.java | 10 +- ...licationMinuteMetricPersistenceWorker.java | 9 +- .../ApplicationMinuteMetricRemoteWorker.java | 5 +- ...plicationMonthMetricPersistenceWorker.java | 9 +- ...onReferenceDayMetricPersistenceWorker.java | 9 +- ...nReferenceHourMetricPersistenceWorker.java | 9 +- ...eferenceMinuteMetricAggregationWorker.java | 10 +- ...eferenceMinuteMetricPersistenceWorker.java | 9 +- ...tionReferenceMinuteMetricRemoteWorker.java | 5 +- ...ReferenceMonthMetricPersistenceWorker.java | 9 +- .../global/GlobalTracePersistenceWorker.java | 9 +- .../InstHeartBeatPersistenceWorker.java | 8 +- .../InstanceMappingDayPersistenceWorker.java | 9 +- .../InstanceMappingHourPersistenceWorker.java | 9 +- ...nstanceMappingMinuteAggregationWorker.java | 10 +- ...nstanceMappingMinutePersistenceWorker.java | 9 +- .../InstanceMappingMinuteRemoteWorker.java | 5 +- ...InstanceMappingMonthPersistenceWorker.java | 9 +- .../InstanceDayMetricPersistenceWorker.java | 9 +- .../InstanceHourMetricPersistenceWorker.java | 9 +- ...InstanceMinuteMetricAggregationWorker.java | 10 +- ...InstanceMinuteMetricPersistenceWorker.java | 9 +- .../InstanceMinuteMetricRemoteWorker.java | 5 +- .../InstanceMonthMetricPersistenceWorker.java | 9 +- ...ceReferenceDayMetricPersistenceWorker.java | 9 +- ...eReferenceHourMetricPersistenceWorker.java | 9 +- ...eferenceMinuteMetricAggregationWorker.java | 10 +- ...eferenceMinuteMetricPersistenceWorker.java | 9 +- ...anceReferenceMinuteMetricRemoteWorker.java | 5 +- ...ReferenceMonthMetricPersistenceWorker.java | 9 +- .../SegmentDurationPersistenceWorker.java | 9 +- .../ServiceDayMetricPersistenceWorker.java | 9 +- .../ServiceHourMetricPersistenceWorker.java | 9 +- .../ServiceMetricMinuteAggregationWorker.java | 10 +- .../ServiceMinuteMetricPersistenceWorker.java | 9 +- .../ServiceMinuteMetricRemoteWorker.java | 5 +- .../ServiceMonthMetricPersistenceWorker.java | 9 +- ...ceReferenceDayMetricPersistenceWorker.java | 14 ++- ...eReferenceHourMetricPersistenceWorker.java | 14 ++- ...eferenceMinuteMetricAggregationWorker.java | 10 +- ...eferenceMinuteMetricPersistenceWorker.java | 14 ++- ...viceReferenceMinuteMetricRemoteWorker.java | 5 +- ...ReferenceMonthMetricPersistenceWorker.java | 14 ++- .../parser/provider/parser/SegmentParse.java | 7 +- .../model/base/LocalAsyncWorkerRef.java | 2 - .../worker/model/impl/AggregationWorker.java | 2 +- .../worker/model/impl/PersistenceWorker.java | 9 +- .../worker/timer/PersistenceTimer.java | 14 +-- .../instrument/CollectorInstrumentAgent.java | 8 +- .../apm/collector/instrument/MetricTree.java | 98 +++++++------------ .../collector/instrument/ReportWriter.java | 1 - .../collector/instrument/ServiceMetric.java | 36 ++++--- .../instrument/ServiceMetricBatchRecord.java | 10 +- .../instrument/ServiceMetricRecord.java | 24 +++-- .../instrument/ServiceMetricTracing.java | 12 +-- .../collector/instrument/tools/Metric.java | 96 ++++++++++++++++++ .../instrument/tools/MetricReader.java | 79 +++++++++++++++ .../collector/instrument/tools/Report.java | 42 ++++++++ .../instrument/tools/ReportBufferReader.java | 62 ++++++++++++ .../instrument/tools/ReportFormatRunner.java | 57 +++++++++++ .../instrument/tools/ReportFormatter.java | 66 +++++++++++++ .../src/main/resources/log4j2.xml | 31 ++++++ .../instrument/MetricTreePrintTestCase.java | 51 ++++++++++ .../src/test/resources/log4j2.xml | 31 ++++++ .../es/base/dao/AbstractPersistenceEsDAO.java | 11 +-- .../storage/es/base/dao/BatchEsDAO.java | 5 +- .../InstanceHeartBeatEsPersistenceDAO.java | 2 + ...tApplicationComponentEsPersistenceDAO.java | 6 ++ ...plicationComponentDayEsPersistenceDAO.java | 4 - ...ractApplicationMetricEsPersistenceDAO.java | 6 ++ ...actApplicationMappingEsPersistenceDAO.java | 6 ++ ...cationReferenceMetricEsPersistenceDAO.java | 6 ++ .../AbstractCpuMetricEsPersistenceDAO.java | 6 ++ .../gc/AbstractGCMetricEsPersistenceDAO.java | 6 ++ ...bstractInstanceMetricEsPersistenceDAO.java | 9 +- ...stractInstanceMappingEsPersistenceDAO.java | 6 ++ ...stanceReferenceMetricEsPersistenceDAO.java | 6 ++ .../AbstractMemoryMetricEsPersistenceDAO.java | 6 ++ ...tractMemoryPoolMetricEsPersistenceDAO.java | 29 +++--- ...AbstractServiceMetricEsPersistenceDAO.java | 6 ++ ...erviceReferenceMetricEsPersistenceDAO.java | 6 ++ apm-collector/pom.xml | 2 +- 98 files changed, 1153 insertions(+), 222 deletions(-) create mode 100644 apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/Metric.java create mode 100644 apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/MetricReader.java create mode 100644 apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/Report.java create mode 100644 apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/ReportBufferReader.java create mode 100644 apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/ReportFormatRunner.java create mode 100644 apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/ReportFormatter.java create mode 100644 apm-collector/apm-collector-instrument/src/main/resources/log4j2.xml create mode 100644 apm-collector/apm-collector-instrument/src/test/java/org/apache/skywalking/apm/collector/instrument/MetricTreePrintTestCase.java create mode 100644 apm-collector/apm-collector-instrument/src/test/resources/log4j2.xml diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentDayPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentDayPersistenceWorker.java index 4da338c077..93b11d3e6e 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentDayPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentDayPersistenceWorker.java @@ -21,18 +21,20 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.appl import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.acp.IApplicationComponentDayPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationComponent; +import org.apache.skywalking.apm.collector.storage.table.application.ApplicationComponentTable; /** * @author peng-yongsheng */ public class ApplicationComponentDayPersistenceWorker extends PersistenceWorker { - public ApplicationComponentDayPersistenceWorker(ModuleManager moduleManager) { + private ApplicationComponentDayPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class ApplicationComponentDayPersistenceWorker extends PersistenceWorker< return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/" + ApplicationComponentTable.TABLE + "/day") + @Override protected void onWork(ApplicationComponent input) { + super.onWork(input); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentHourPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentHourPersistenceWorker.java index fc18f82d7b..6e047701bd 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentHourPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentHourPersistenceWorker.java @@ -21,18 +21,20 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.appl import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.acp.IApplicationComponentHourPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationComponent; +import org.apache.skywalking.apm.collector.storage.table.application.ApplicationComponentTable; /** * @author peng-yongsheng */ public class ApplicationComponentHourPersistenceWorker extends PersistenceWorker { - public ApplicationComponentHourPersistenceWorker(ModuleManager moduleManager) { + private ApplicationComponentHourPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class ApplicationComponentHourPersistenceWorker extends PersistenceWorker return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/" + ApplicationComponentTable.TABLE + "/hour") + @Override protected void onWork(ApplicationComponent input) { + super.onWork(input); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentMinuteAggregationWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentMinuteAggregationWorker.java index bfadf6bd84..3ca4287b3b 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentMinuteAggregationWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentMinuteAggregationWorker.java @@ -20,16 +20,19 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.appl import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider; +import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerException; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.AggregationWorker; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationComponent; +import org.apache.skywalking.apm.collector.storage.table.application.ApplicationComponentTable; /** * @author peng-yongsheng */ public class ApplicationComponentMinuteAggregationWorker extends AggregationWorker { - public ApplicationComponentMinuteAggregationWorker(ModuleManager moduleManager) { + private ApplicationComponentMinuteAggregationWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -52,4 +55,9 @@ public class ApplicationComponentMinuteAggregationWorker extends AggregationWork return 1024; } } + + @GraphComputingMetric(name = "/aggregation/onWork/" + ApplicationComponentTable.TABLE) + @Override protected void onWork(ApplicationComponent message) throws WorkerException { + super.onWork(message); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentMinutePersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentMinutePersistenceWorker.java index 78ca9cd233..4642775653 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentMinutePersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentMinutePersistenceWorker.java @@ -21,18 +21,20 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.appl import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.acp.IApplicationComponentMinutePersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationComponent; +import org.apache.skywalking.apm.collector.storage.table.application.ApplicationComponentTable; /** * @author peng-yongsheng */ public class ApplicationComponentMinutePersistenceWorker extends PersistenceWorker { - public ApplicationComponentMinutePersistenceWorker(ModuleManager moduleManager) { + private ApplicationComponentMinutePersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class ApplicationComponentMinutePersistenceWorker extends PersistenceWork return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/" + ApplicationComponentTable.TABLE + "/minute") + @Override protected void onWork(ApplicationComponent message) { + super.onWork(message); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentMinuteRemoteWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentMinuteRemoteWorker.java index d262b71c71..71c6caff4b 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentMinuteRemoteWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentMinuteRemoteWorker.java @@ -21,7 +21,6 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.appl import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractRemoteWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractRemoteWorkerProvider; -import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerException; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.remote.service.RemoteSenderService; import org.apache.skywalking.apm.collector.remote.service.Selector; @@ -32,7 +31,7 @@ import org.apache.skywalking.apm.collector.storage.table.application.Application */ public class ApplicationComponentMinuteRemoteWorker extends AbstractRemoteWorker { - ApplicationComponentMinuteRemoteWorker(ModuleManager moduleManager) { + private ApplicationComponentMinuteRemoteWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -40,7 +39,7 @@ public class ApplicationComponentMinuteRemoteWorker extends AbstractRemoteWorker return MetricWorkerIdDefine.APPLICATION_COMPONENT_MINUTE_REMOTE_WORKER_ID; } - @Override protected void onWork(ApplicationComponent applicationComponent) throws WorkerException { + @Override protected void onWork(ApplicationComponent applicationComponent) { onNext(applicationComponent); } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentMonthPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentMonthPersistenceWorker.java index bd5d2f07cb..bcd35788e4 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentMonthPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentMonthPersistenceWorker.java @@ -21,18 +21,20 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.appl import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.acp.IApplicationComponentMonthPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationComponent; +import org.apache.skywalking.apm.collector.storage.table.application.ApplicationComponentTable; /** * @author peng-yongsheng */ public class ApplicationComponentMonthPersistenceWorker extends PersistenceWorker { - public ApplicationComponentMonthPersistenceWorker(ModuleManager moduleManager) { + private ApplicationComponentMonthPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class ApplicationComponentMonthPersistenceWorker extends PersistenceWorke return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/" + ApplicationComponentTable.TABLE + "/month") + @Override protected void onWork(ApplicationComponent message) { + super.onWork(message); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentSpanListener.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentSpanListener.java index aa9ddee1b2..1ca67f5d30 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentSpanListener.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/component/ApplicationComponentSpanListener.java @@ -45,7 +45,7 @@ public class ApplicationComponentSpanListener implements EntrySpanListener, Exit private List applicationComponents = new ArrayList<>(); private long timeBucket; - ApplicationComponentSpanListener(ModuleManager moduleManager) { + private ApplicationComponentSpanListener(ModuleManager moduleManager) { this.applicationCacheService = moduleManager.find(CacheModule.NAME).getService(ApplicationCacheService.class); } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/mapping/ApplicationMappingDayPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/mapping/ApplicationMappingDayPersistenceWorker.java index 71600093e1..78ad182f53 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/mapping/ApplicationMappingDayPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/mapping/ApplicationMappingDayPersistenceWorker.java @@ -21,18 +21,20 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.appl import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.ampp.IApplicationMappingDayPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationMapping; +import org.apache.skywalking.apm.collector.storage.table.application.ApplicationMappingTable; /** * @author peng-yongsheng */ public class ApplicationMappingDayPersistenceWorker extends PersistenceWorker { - ApplicationMappingDayPersistenceWorker(ModuleManager moduleManager) { + private ApplicationMappingDayPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class ApplicationMappingDayPersistenceWorker extends PersistenceWorker { - ApplicationMappingHourPersistenceWorker(ModuleManager moduleManager) { + private ApplicationMappingHourPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class ApplicationMappingHourPersistenceWorker extends PersistenceWorker { - ApplicationMappingMinuteAggregationWorker(ModuleManager moduleManager) { + private ApplicationMappingMinuteAggregationWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -52,4 +55,9 @@ public class ApplicationMappingMinuteAggregationWorker extends AggregationWorker return 1024; } } + + @GraphComputingMetric(name = "/aggregation/onWork/" + ApplicationMappingTable.TABLE) + @Override protected void onWork(ApplicationMapping message) throws WorkerException { + super.onWork(message); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/mapping/ApplicationMappingMinutePersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/mapping/ApplicationMappingMinutePersistenceWorker.java index 71ebf4db7a..ab4520353a 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/mapping/ApplicationMappingMinutePersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/mapping/ApplicationMappingMinutePersistenceWorker.java @@ -21,18 +21,20 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.appl import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.ampp.IApplicationMappingMinutePersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationMapping; +import org.apache.skywalking.apm.collector.storage.table.application.ApplicationMappingTable; /** * @author peng-yongsheng */ public class ApplicationMappingMinutePersistenceWorker extends PersistenceWorker { - ApplicationMappingMinutePersistenceWorker(ModuleManager moduleManager) { + private ApplicationMappingMinutePersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class ApplicationMappingMinutePersistenceWorker extends PersistenceWorker return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/" + ApplicationMappingTable.TABLE + "/minute") + @Override protected void onWork(ApplicationMapping input) { + super.onWork(input); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/mapping/ApplicationMappingMinuteRemoteWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/mapping/ApplicationMappingMinuteRemoteWorker.java index 585af25bdc..b8d6a3df7b 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/mapping/ApplicationMappingMinuteRemoteWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/mapping/ApplicationMappingMinuteRemoteWorker.java @@ -21,7 +21,6 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.appl import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractRemoteWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractRemoteWorkerProvider; -import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerException; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.remote.service.RemoteSenderService; import org.apache.skywalking.apm.collector.remote.service.Selector; @@ -32,7 +31,7 @@ import org.apache.skywalking.apm.collector.storage.table.application.Application */ public class ApplicationMappingMinuteRemoteWorker extends AbstractRemoteWorker { - ApplicationMappingMinuteRemoteWorker(ModuleManager moduleManager) { + private ApplicationMappingMinuteRemoteWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -40,7 +39,7 @@ public class ApplicationMappingMinuteRemoteWorker extends AbstractRemoteWorker { - ApplicationMappingMonthPersistenceWorker(ModuleManager moduleManager) { + private ApplicationMappingMonthPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class ApplicationMappingMonthPersistenceWorker extends PersistenceWorker< return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/" + ApplicationMappingTable.TABLE + "/month") + @Override protected void onWork(ApplicationMapping input) { + super.onWork(input); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/mapping/ApplicationMappingSpanListener.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/mapping/ApplicationMappingSpanListener.java index 15de2c77ca..3f2d0ca7b4 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/mapping/ApplicationMappingSpanListener.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/mapping/ApplicationMappingSpanListener.java @@ -49,7 +49,7 @@ public class ApplicationMappingSpanListener implements FirstSpanListener, EntryS private List applicationMappings = new LinkedList<>(); private long timeBucket; - ApplicationMappingSpanListener(ModuleManager moduleManager) { + private ApplicationMappingSpanListener(ModuleManager moduleManager) { this.applicationCacheService = moduleManager.find(CacheModule.NAME).getService(ApplicationCacheService.class); } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/metric/ApplicationDayMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/metric/ApplicationDayMetricPersistenceWorker.java index 4a64714d9c..53b25d8f03 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/metric/ApplicationDayMetricPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/metric/ApplicationDayMetricPersistenceWorker.java @@ -21,18 +21,20 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.appl import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.amp.IApplicationDayMetricPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationMetric; +import org.apache.skywalking.apm.collector.storage.table.application.ApplicationMetricTable; /** * @author peng-yongsheng */ public class ApplicationDayMetricPersistenceWorker extends PersistenceWorker { - public ApplicationDayMetricPersistenceWorker(ModuleManager moduleManager) { + private ApplicationDayMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class ApplicationDayMetricPersistenceWorker extends PersistenceWorker { - public ApplicationHourMetricPersistenceWorker(ModuleManager moduleManager) { + private ApplicationHourMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class ApplicationHourMetricPersistenceWorker extends PersistenceWorker { - public ApplicationMinuteMetricAggregationWorker(ModuleManager moduleManager) { + private ApplicationMinuteMetricAggregationWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -94,4 +97,9 @@ public class ApplicationMinuteMetricAggregationWorker extends AggregationWorker< return 256; } } + + @GraphComputingMetric(name = "/aggregate/onWork/" + ApplicationMetricTable.TABLE) + @Override protected void onWork(ApplicationReferenceMetric message) throws WorkerException { + super.onWork(message); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/metric/ApplicationMinuteMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/metric/ApplicationMinuteMetricPersistenceWorker.java index 89c97a0ac7..ed0dd95255 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/metric/ApplicationMinuteMetricPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/metric/ApplicationMinuteMetricPersistenceWorker.java @@ -21,18 +21,20 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.appl import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.amp.IApplicationMinuteMetricPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationMetric; +import org.apache.skywalking.apm.collector.storage.table.application.ApplicationMetricTable; /** * @author peng-yongsheng */ public class ApplicationMinuteMetricPersistenceWorker extends PersistenceWorker { - public ApplicationMinuteMetricPersistenceWorker(ModuleManager moduleManager) { + private ApplicationMinuteMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class ApplicationMinuteMetricPersistenceWorker extends PersistenceWorker< return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/" + ApplicationMetricTable.TABLE + "/minute") + @Override protected void onWork(ApplicationMetric input) { + super.onWork(input); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/metric/ApplicationMinuteMetricRemoteWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/metric/ApplicationMinuteMetricRemoteWorker.java index 6aea536264..dffdc2e84c 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/metric/ApplicationMinuteMetricRemoteWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/metric/ApplicationMinuteMetricRemoteWorker.java @@ -21,7 +21,6 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.appl import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractRemoteWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractRemoteWorkerProvider; -import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerException; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.remote.service.RemoteSenderService; import org.apache.skywalking.apm.collector.remote.service.Selector; @@ -32,7 +31,7 @@ import org.apache.skywalking.apm.collector.storage.table.application.Application */ public class ApplicationMinuteMetricRemoteWorker extends AbstractRemoteWorker { - public ApplicationMinuteMetricRemoteWorker(ModuleManager moduleManager) { + private ApplicationMinuteMetricRemoteWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -40,7 +39,7 @@ public class ApplicationMinuteMetricRemoteWorker extends AbstractRemoteWorker { - public ApplicationMonthMetricPersistenceWorker(ModuleManager moduleManager) { + private ApplicationMonthMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class ApplicationMonthMetricPersistenceWorker extends PersistenceWorker { - public ApplicationReferenceDayMetricPersistenceWorker(ModuleManager moduleManager) { + private ApplicationReferenceDayMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class ApplicationReferenceDayMetricPersistenceWorker extends PersistenceW return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/" + ApplicationReferenceMetricTable.TABLE + "/day") + @Override protected void onWork(ApplicationReferenceMetric input) { + super.onWork(input); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/refmetric/ApplicationReferenceHourMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/refmetric/ApplicationReferenceHourMetricPersistenceWorker.java index 7a74d2e250..2720fe6515 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/refmetric/ApplicationReferenceHourMetricPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/refmetric/ApplicationReferenceHourMetricPersistenceWorker.java @@ -21,18 +21,20 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.appl import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.armp.IApplicationReferenceHourMetricPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationReferenceMetric; +import org.apache.skywalking.apm.collector.storage.table.application.ApplicationReferenceMetricTable; /** * @author peng-yongsheng */ public class ApplicationReferenceHourMetricPersistenceWorker extends PersistenceWorker { - public ApplicationReferenceHourMetricPersistenceWorker(ModuleManager moduleManager) { + private ApplicationReferenceHourMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class ApplicationReferenceHourMetricPersistenceWorker extends Persistence return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/" + ApplicationReferenceMetricTable.TABLE + "/hour") + @Override protected void onWork(ApplicationReferenceMetric input) { + super.onWork(input); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/refmetric/ApplicationReferenceMinuteMetricAggregationWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/refmetric/ApplicationReferenceMinuteMetricAggregationWorker.java index 3910de510c..b3de61d703 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/refmetric/ApplicationReferenceMinuteMetricAggregationWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/refmetric/ApplicationReferenceMinuteMetricAggregationWorker.java @@ -20,15 +20,18 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.appl import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider; +import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerException; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.AggregationWorker; import org.apache.skywalking.apm.collector.cache.CacheModule; import org.apache.skywalking.apm.collector.cache.service.InstanceCacheService; import org.apache.skywalking.apm.collector.configuration.ConfigurationModule; import org.apache.skywalking.apm.collector.configuration.service.IApdexThresholdService; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.core.util.ApdexThresholdUtils; import org.apache.skywalking.apm.collector.core.util.Const; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationReferenceMetric; +import org.apache.skywalking.apm.collector.storage.table.application.ApplicationReferenceMetricTable; import org.apache.skywalking.apm.collector.storage.table.instance.InstanceReferenceMetric; /** @@ -39,7 +42,7 @@ public class ApplicationReferenceMinuteMetricAggregationWorker extends Aggregati private final InstanceCacheService instanceCacheService; private final IApdexThresholdService apdexThresholdService; - public ApplicationReferenceMinuteMetricAggregationWorker(ModuleManager moduleManager) { + private ApplicationReferenceMinuteMetricAggregationWorker(ModuleManager moduleManager) { super(moduleManager); this.instanceCacheService = moduleManager.find(CacheModule.NAME).getService(InstanceCacheService.class); this.apdexThresholdService = moduleManager.find(ConfigurationModule.NAME).getService(IApdexThresholdService.class); @@ -111,4 +114,9 @@ public class ApplicationReferenceMinuteMetricAggregationWorker extends Aggregati return 1024; } } + + @GraphComputingMetric(name = "/aggregate/onWork/" + ApplicationReferenceMetricTable.TABLE) + @Override protected void onWork(InstanceReferenceMetric message) throws WorkerException { + super.onWork(message); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/refmetric/ApplicationReferenceMinuteMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/refmetric/ApplicationReferenceMinuteMetricPersistenceWorker.java index 72b5429114..dc086101c7 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/refmetric/ApplicationReferenceMinuteMetricPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/refmetric/ApplicationReferenceMinuteMetricPersistenceWorker.java @@ -21,18 +21,20 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.appl import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.armp.IApplicationReferenceMinuteMetricPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationReferenceMetric; +import org.apache.skywalking.apm.collector.storage.table.application.ApplicationReferenceMetricTable; /** * @author peng-yongsheng */ public class ApplicationReferenceMinuteMetricPersistenceWorker extends PersistenceWorker { - public ApplicationReferenceMinuteMetricPersistenceWorker(ModuleManager moduleManager) { + private ApplicationReferenceMinuteMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class ApplicationReferenceMinuteMetricPersistenceWorker extends Persisten return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/" + ApplicationReferenceMetricTable.TABLE + "/minute") + @Override protected void onWork(ApplicationReferenceMetric input) { + super.onWork(input); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/refmetric/ApplicationReferenceMinuteMetricRemoteWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/refmetric/ApplicationReferenceMinuteMetricRemoteWorker.java index a39bd7ad0a..d11329fc6d 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/refmetric/ApplicationReferenceMinuteMetricRemoteWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/refmetric/ApplicationReferenceMinuteMetricRemoteWorker.java @@ -21,7 +21,6 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.appl import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractRemoteWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractRemoteWorkerProvider; -import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerException; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.remote.service.RemoteSenderService; import org.apache.skywalking.apm.collector.remote.service.Selector; @@ -32,7 +31,7 @@ import org.apache.skywalking.apm.collector.storage.table.application.Application */ public class ApplicationReferenceMinuteMetricRemoteWorker extends AbstractRemoteWorker { - ApplicationReferenceMinuteMetricRemoteWorker(ModuleManager moduleManager) { + private ApplicationReferenceMinuteMetricRemoteWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -40,7 +39,7 @@ public class ApplicationReferenceMinuteMetricRemoteWorker extends AbstractRemote return MetricWorkerIdDefine.APPLICATION_REFERENCE_MINUTE_METRIC_REMOTE_WORKER_ID; } - @Override protected void onWork(ApplicationReferenceMetric applicationReferenceMetric) throws WorkerException { + @Override protected void onWork(ApplicationReferenceMetric applicationReferenceMetric) { onNext(applicationReferenceMetric); } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/refmetric/ApplicationReferenceMonthMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/refmetric/ApplicationReferenceMonthMetricPersistenceWorker.java index ac6f3b52ab..7c5e4c92a0 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/refmetric/ApplicationReferenceMonthMetricPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/refmetric/ApplicationReferenceMonthMetricPersistenceWorker.java @@ -21,18 +21,20 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.appl import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.armp.IApplicationReferenceMonthMetricPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationReferenceMetric; +import org.apache.skywalking.apm.collector.storage.table.application.ApplicationReferenceMetricTable; /** * @author peng-yongsheng */ public class ApplicationReferenceMonthMetricPersistenceWorker extends PersistenceWorker { - public ApplicationReferenceMonthMetricPersistenceWorker(ModuleManager moduleManager) { + private ApplicationReferenceMonthMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class ApplicationReferenceMonthMetricPersistenceWorker extends Persistenc return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/" + ApplicationReferenceMetricTable.TABLE + "/month") + @Override protected void onWork(ApplicationReferenceMetric input) { + super.onWork(input); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/global/GlobalTracePersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/global/GlobalTracePersistenceWorker.java index bb4bd6472c..d3c66a891c 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/global/GlobalTracePersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/global/GlobalTracePersistenceWorker.java @@ -21,18 +21,20 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.glob import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.IGlobalTracePersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.global.GlobalTrace; +import org.apache.skywalking.apm.collector.storage.table.global.GlobalTraceTable; /** * @author peng-yongsheng */ public class GlobalTracePersistenceWorker extends PersistenceWorker { - public GlobalTracePersistenceWorker(ModuleManager moduleManager) { + private GlobalTracePersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class GlobalTracePersistenceWorker extends PersistenceWorker return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/" + GlobalTraceTable.TABLE) + @Override protected void onWork(GlobalTrace input) { + super.onWork(input); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/heartbeat/InstHeartBeatPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/heartbeat/InstHeartBeatPersistenceWorker.java index d157d0a9ad..e7bb00be6e 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/heartbeat/InstHeartBeatPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/heartbeat/InstHeartBeatPersistenceWorker.java @@ -21,6 +21,7 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.inst import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; @@ -32,7 +33,7 @@ import org.apache.skywalking.apm.collector.storage.table.register.Instance; */ public class InstHeartBeatPersistenceWorker extends PersistenceWorker { - public InstHeartBeatPersistenceWorker(ModuleManager moduleManager) { + private InstHeartBeatPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +65,9 @@ public class InstHeartBeatPersistenceWorker extends PersistenceWorker return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/instance/heartbeat") + @Override protected void onWork(Instance input) { + super.onWork(input); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/mapping/InstanceMappingDayPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/mapping/InstanceMappingDayPersistenceWorker.java index d0f31f981a..94c379010c 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/mapping/InstanceMappingDayPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/mapping/InstanceMappingDayPersistenceWorker.java @@ -21,18 +21,20 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.inst import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.impp.IInstanceMappingDayPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.instance.InstanceMapping; +import org.apache.skywalking.apm.collector.storage.table.instance.InstanceMappingTable; /** * @author peng-yongsheng */ public class InstanceMappingDayPersistenceWorker extends PersistenceWorker { - InstanceMappingDayPersistenceWorker(ModuleManager moduleManager) { + private InstanceMappingDayPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class InstanceMappingDayPersistenceWorker extends PersistenceWorker { - InstanceMappingHourPersistenceWorker(ModuleManager moduleManager) { + private InstanceMappingHourPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class InstanceMappingHourPersistenceWorker extends PersistenceWorker { - InstanceMappingMinuteAggregationWorker(ModuleManager moduleManager) { + private InstanceMappingMinuteAggregationWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -52,4 +55,9 @@ public class InstanceMappingMinuteAggregationWorker extends AggregationWorker { - InstanceMappingMinutePersistenceWorker(ModuleManager moduleManager) { + private InstanceMappingMinutePersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class InstanceMappingMinutePersistenceWorker extends PersistenceWorker { - InstanceMappingMinuteRemoteWorker(ModuleManager moduleManager) { + private InstanceMappingMinuteRemoteWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -40,7 +39,7 @@ public class InstanceMappingMinuteRemoteWorker extends AbstractRemoteWorker { - InstanceMappingMonthPersistenceWorker(ModuleManager moduleManager) { + private InstanceMappingMonthPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class InstanceMappingMonthPersistenceWorker extends PersistenceWorker { - public InstanceDayMetricPersistenceWorker(ModuleManager moduleManager) { + private InstanceDayMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class InstanceDayMetricPersistenceWorker extends PersistenceWorker { - public InstanceHourMetricPersistenceWorker(ModuleManager moduleManager) { + private InstanceHourMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class InstanceHourMetricPersistenceWorker extends PersistenceWorker { - public InstanceMinuteMetricAggregationWorker(ModuleManager moduleManager) { + private InstanceMinuteMetricAggregationWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -85,4 +88,9 @@ public class InstanceMinuteMetricAggregationWorker extends AggregationWorker { - public InstanceMinuteMetricPersistenceWorker(ModuleManager moduleManager) { + private InstanceMinuteMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class InstanceMinuteMetricPersistenceWorker extends PersistenceWorker { - public InstanceMinuteMetricRemoteWorker(ModuleManager moduleManager) { + private InstanceMinuteMetricRemoteWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -44,7 +43,7 @@ public class InstanceMinuteMetricRemoteWorker extends AbstractRemoteWorker { - public InstanceMonthMetricPersistenceWorker(ModuleManager moduleManager) { + private InstanceMonthMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class InstanceMonthMetricPersistenceWorker extends PersistenceWorker { - public InstanceReferenceDayMetricPersistenceWorker(ModuleManager moduleManager) { + private InstanceReferenceDayMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class InstanceReferenceDayMetricPersistenceWorker extends PersistenceWork return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/" + InstanceReferenceMetricTable.TABLE + "/day") + @Override protected void onWork(InstanceReferenceMetric input) { + super.onWork(input); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/refmetric/InstanceReferenceHourMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/refmetric/InstanceReferenceHourMetricPersistenceWorker.java index f5b26726a5..621c593982 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/refmetric/InstanceReferenceHourMetricPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/refmetric/InstanceReferenceHourMetricPersistenceWorker.java @@ -21,18 +21,20 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.inst import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.irmp.IInstanceReferenceHourMetricPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.instance.InstanceReferenceMetric; +import org.apache.skywalking.apm.collector.storage.table.instance.InstanceReferenceMetricTable; /** * @author peng-yongsheng */ public class InstanceReferenceHourMetricPersistenceWorker extends PersistenceWorker { - public InstanceReferenceHourMetricPersistenceWorker(ModuleManager moduleManager) { + private InstanceReferenceHourMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class InstanceReferenceHourMetricPersistenceWorker extends PersistenceWor return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/" + InstanceReferenceMetricTable.TABLE + "/hour") + @Override protected void onWork(InstanceReferenceMetric input) { + super.onWork(input); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/refmetric/InstanceReferenceMinuteMetricAggregationWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/refmetric/InstanceReferenceMinuteMetricAggregationWorker.java index 04b6238f31..408c70ce69 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/refmetric/InstanceReferenceMinuteMetricAggregationWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/refmetric/InstanceReferenceMinuteMetricAggregationWorker.java @@ -20,10 +20,13 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.inst import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider; +import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerException; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.AggregationWorker; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.core.util.Const; import org.apache.skywalking.apm.collector.storage.table.instance.InstanceReferenceMetric; +import org.apache.skywalking.apm.collector.storage.table.instance.InstanceReferenceMetricTable; import org.apache.skywalking.apm.collector.storage.table.service.ServiceReferenceMetric; /** @@ -31,7 +34,7 @@ import org.apache.skywalking.apm.collector.storage.table.service.ServiceReferenc */ public class InstanceReferenceMinuteMetricAggregationWorker extends AggregationWorker { - public InstanceReferenceMinuteMetricAggregationWorker(ModuleManager moduleManager) { + private InstanceReferenceMinuteMetricAggregationWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -90,4 +93,9 @@ public class InstanceReferenceMinuteMetricAggregationWorker extends AggregationW return 1024; } } + + @GraphComputingMetric(name = "/aggregate/onWork/" + InstanceReferenceMetricTable.TABLE) + @Override protected void onWork(ServiceReferenceMetric message) throws WorkerException { + super.onWork(message); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/refmetric/InstanceReferenceMinuteMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/refmetric/InstanceReferenceMinuteMetricPersistenceWorker.java index c38aa3d27d..b2980ae05c 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/refmetric/InstanceReferenceMinuteMetricPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/refmetric/InstanceReferenceMinuteMetricPersistenceWorker.java @@ -21,18 +21,20 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.inst import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.irmp.IInstanceReferenceMinuteMetricPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.instance.InstanceReferenceMetric; +import org.apache.skywalking.apm.collector.storage.table.instance.InstanceReferenceMetricTable; /** * @author peng-yongsheng */ public class InstanceReferenceMinuteMetricPersistenceWorker extends PersistenceWorker { - public InstanceReferenceMinuteMetricPersistenceWorker(ModuleManager moduleManager) { + private InstanceReferenceMinuteMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class InstanceReferenceMinuteMetricPersistenceWorker extends PersistenceW return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/" + InstanceReferenceMetricTable.TABLE + "/minute") + @Override protected void onWork(InstanceReferenceMetric input) { + super.onWork(input); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/refmetric/InstanceReferenceMinuteMetricRemoteWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/refmetric/InstanceReferenceMinuteMetricRemoteWorker.java index 0ee660948e..3d528d55a9 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/refmetric/InstanceReferenceMinuteMetricRemoteWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/refmetric/InstanceReferenceMinuteMetricRemoteWorker.java @@ -21,7 +21,6 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.inst import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractRemoteWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractRemoteWorkerProvider; -import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerException; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.remote.service.RemoteSenderService; import org.apache.skywalking.apm.collector.remote.service.Selector; @@ -32,7 +31,7 @@ import org.apache.skywalking.apm.collector.storage.table.instance.InstanceRefere */ public class InstanceReferenceMinuteMetricRemoteWorker extends AbstractRemoteWorker { - public InstanceReferenceMinuteMetricRemoteWorker(ModuleManager moduleManager) { + private InstanceReferenceMinuteMetricRemoteWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -44,7 +43,7 @@ public class InstanceReferenceMinuteMetricRemoteWorker extends AbstractRemoteWor return Selector.HashCode; } - @Override protected void onWork(InstanceReferenceMetric instanceReferenceMetric) throws WorkerException { + @Override protected void onWork(InstanceReferenceMetric instanceReferenceMetric) { onNext(instanceReferenceMetric); } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/refmetric/InstanceReferenceMonthMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/refmetric/InstanceReferenceMonthMetricPersistenceWorker.java index 03972af004..28d4841772 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/refmetric/InstanceReferenceMonthMetricPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/refmetric/InstanceReferenceMonthMetricPersistenceWorker.java @@ -21,18 +21,20 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.inst import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.irmp.IInstanceReferenceMonthMetricPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.instance.InstanceReferenceMetric; +import org.apache.skywalking.apm.collector.storage.table.instance.InstanceReferenceMetricTable; /** * @author peng-yongsheng */ public class InstanceReferenceMonthMetricPersistenceWorker extends PersistenceWorker { - public InstanceReferenceMonthMetricPersistenceWorker(ModuleManager moduleManager) { + private InstanceReferenceMonthMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class InstanceReferenceMonthMetricPersistenceWorker extends PersistenceWo return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/" + InstanceReferenceMetricTable.TABLE + "/month") + @Override protected void onWork(InstanceReferenceMetric input) { + super.onWork(input); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/segment/SegmentDurationPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/segment/SegmentDurationPersistenceWorker.java index 17e9d7798a..ea9a51709b 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/segment/SegmentDurationPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/segment/SegmentDurationPersistenceWorker.java @@ -21,18 +21,20 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.segm import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.ISegmentDurationPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.segment.SegmentDuration; +import org.apache.skywalking.apm.collector.storage.table.segment.SegmentDurationTable; /** * @author peng-yongsheng */ public class SegmentDurationPersistenceWorker extends PersistenceWorker { - SegmentDurationPersistenceWorker(ModuleManager moduleManager) { + private SegmentDurationPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class SegmentDurationPersistenceWorker extends PersistenceWorker { - public ServiceDayMetricPersistenceWorker(ModuleManager moduleManager) { + private ServiceDayMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class ServiceDayMetricPersistenceWorker extends PersistenceWorker { - public ServiceHourMetricPersistenceWorker(ModuleManager moduleManager) { + private ServiceHourMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class ServiceHourMetricPersistenceWorker extends PersistenceWorker { - public ServiceMetricMinuteAggregationWorker(ModuleManager moduleManager) { + private ServiceMetricMinuteAggregationWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -90,4 +93,9 @@ public class ServiceMetricMinuteAggregationWorker extends AggregationWorker { - public ServiceMinuteMetricPersistenceWorker(ModuleManager moduleManager) { + private ServiceMinuteMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class ServiceMinuteMetricPersistenceWorker extends PersistenceWorker { - public ServiceMinuteMetricRemoteWorker(ModuleManager moduleManager) { + private ServiceMinuteMetricRemoteWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -40,7 +39,7 @@ public class ServiceMinuteMetricRemoteWorker extends AbstractRemoteWorker { - public ServiceMonthMetricPersistenceWorker(ModuleManager moduleManager) { + private ServiceMonthMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,9 @@ public class ServiceMonthMetricPersistenceWorker extends PersistenceWorker { - public ServiceReferenceDayMetricPersistenceWorker(ModuleManager moduleManager) { + private ServiceReferenceDayMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,14 @@ public class ServiceReferenceDayMetricPersistenceWorker extends PersistenceWorke return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/" + ServiceReferenceMetricTable.TABLE) + @Override protected void onWork(ServiceReferenceMetric input) { + super.onWork(input); + } + + @GraphComputingMetric(name = "/persistence/flushAndSwitch/" + ServiceReferenceMetricTable.TABLE) + @Override public void flushAndSwitch() { + super.flushAndSwitch(); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceHourMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceHourMetricPersistenceWorker.java index 53b8263d18..35491ded74 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceHourMetricPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceHourMetricPersistenceWorker.java @@ -21,18 +21,20 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.serv import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.srmp.IServiceReferenceHourMetricPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.service.ServiceReferenceMetric; +import org.apache.skywalking.apm.collector.storage.table.service.ServiceReferenceMetricTable; /** * @author peng-yongsheng */ public class ServiceReferenceHourMetricPersistenceWorker extends PersistenceWorker { - public ServiceReferenceHourMetricPersistenceWorker(ModuleManager moduleManager) { + private ServiceReferenceHourMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,14 @@ public class ServiceReferenceHourMetricPersistenceWorker extends PersistenceWork return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/" + ServiceReferenceMetricTable.TABLE + "/hour") + @Override protected void onWork(ServiceReferenceMetric input) { + super.onWork(input); + } + + @GraphComputingMetric(name = "/persistence/flushAndSwitch/" + ServiceReferenceMetricTable.TABLE + "/hour") + @Override public void flushAndSwitch() { + super.flushAndSwitch(); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceMinuteMetricAggregationWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceMinuteMetricAggregationWorker.java index 4ac0d982f9..8a23417ffd 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceMinuteMetricAggregationWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceMinuteMetricAggregationWorker.java @@ -20,16 +20,19 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.serv import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider; +import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerException; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.AggregationWorker; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.table.service.ServiceReferenceMetric; +import org.apache.skywalking.apm.collector.storage.table.service.ServiceReferenceMetricTable; /** * @author peng-yongsheng */ public class ServiceReferenceMinuteMetricAggregationWorker extends AggregationWorker { - public ServiceReferenceMinuteMetricAggregationWorker(ModuleManager moduleManager) { + private ServiceReferenceMinuteMetricAggregationWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -52,4 +55,9 @@ public class ServiceReferenceMinuteMetricAggregationWorker extends AggregationWo return 1024; } } + + @GraphComputingMetric(name = "/aggregate/onWork/" + ServiceReferenceMetricTable.TABLE) + @Override protected void onWork(ServiceReferenceMetric message) throws WorkerException { + super.onWork(message); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceMinuteMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceMinuteMetricPersistenceWorker.java index 1eeef7293a..a9a026c87c 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceMinuteMetricPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceMinuteMetricPersistenceWorker.java @@ -21,18 +21,20 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.serv import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.srmp.IServiceReferenceMinuteMetricPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.service.ServiceReferenceMetric; +import org.apache.skywalking.apm.collector.storage.table.service.ServiceReferenceMetricTable; /** * @author peng-yongsheng */ public class ServiceReferenceMinuteMetricPersistenceWorker extends PersistenceWorker { - public ServiceReferenceMinuteMetricPersistenceWorker(ModuleManager moduleManager) { + private ServiceReferenceMinuteMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,14 @@ public class ServiceReferenceMinuteMetricPersistenceWorker extends PersistenceWo return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/" + ServiceReferenceMetricTable.TABLE + "/minute") + @Override protected void onWork(ServiceReferenceMetric input) { + super.onWork(input); + } + + @GraphComputingMetric(name = "/persistence/flushAndSwitch/" + ServiceReferenceMetricTable.TABLE + "/minute") + @Override public void flushAndSwitch() { + super.flushAndSwitch(); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceMinuteMetricRemoteWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceMinuteMetricRemoteWorker.java index 500d006309..f92e12eda3 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceMinuteMetricRemoteWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceMinuteMetricRemoteWorker.java @@ -21,7 +21,6 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.serv import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractRemoteWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractRemoteWorkerProvider; -import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerException; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.remote.service.RemoteSenderService; import org.apache.skywalking.apm.collector.remote.service.Selector; @@ -32,7 +31,7 @@ import org.apache.skywalking.apm.collector.storage.table.service.ServiceReferenc */ public class ServiceReferenceMinuteMetricRemoteWorker extends AbstractRemoteWorker { - public ServiceReferenceMinuteMetricRemoteWorker(ModuleManager moduleManager) { + private ServiceReferenceMinuteMetricRemoteWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -40,7 +39,7 @@ public class ServiceReferenceMinuteMetricRemoteWorker extends AbstractRemoteWork return MetricWorkerIdDefine.SERVICE_REFERENCE_MINUTE_METRIC_REMOTE_WORKER_ID; } - @Override protected void onWork(ServiceReferenceMetric serviceReferenceMetric) throws WorkerException { + @Override protected void onWork(ServiceReferenceMetric serviceReferenceMetric) { onNext(serviceReferenceMetric); } diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceMonthMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceMonthMetricPersistenceWorker.java index 7135166b66..137f436e6b 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceMonthMetricPersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceMonthMetricPersistenceWorker.java @@ -21,18 +21,20 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.serv import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.apache.skywalking.apm.collector.storage.dao.srmp.IServiceReferenceMonthMetricPersistenceDAO; import org.apache.skywalking.apm.collector.storage.table.service.ServiceReferenceMetric; +import org.apache.skywalking.apm.collector.storage.table.service.ServiceReferenceMetricTable; /** * @author peng-yongsheng */ public class ServiceReferenceMonthMetricPersistenceWorker extends PersistenceWorker { - public ServiceReferenceMonthMetricPersistenceWorker(ModuleManager moduleManager) { + private ServiceReferenceMonthMetricPersistenceWorker(ModuleManager moduleManager) { super(moduleManager); } @@ -64,4 +66,14 @@ public class ServiceReferenceMonthMetricPersistenceWorker extends PersistenceWor return 1024; } } + + @GraphComputingMetric(name = "/persistence/onWork/" + ServiceReferenceMetricTable.TABLE + "/month") + @Override protected void onWork(ServiceReferenceMetric input) { + super.onWork(input); + } + + @GraphComputingMetric(name = "/persistence/flushAndSwitch/" + ServiceReferenceMetricTable.TABLE + "/month") + @Override public void flushAndSwitch() { + super.flushAndSwitch(); + } } diff --git a/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/provider/parser/SegmentParse.java b/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/provider/parser/SegmentParse.java index b8094cb98d..f251740176 100644 --- a/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/provider/parser/SegmentParse.java +++ b/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/provider/parser/SegmentParse.java @@ -74,7 +74,7 @@ public class SegmentParse { try { List traceIds = segment.getGlobalTraceIdsList(); - TraceSegmentObject segmentObject = TraceSegmentObject.parseFrom(segment.getSegment()); + TraceSegmentObject segmentObject = parseBinarySegment(segment); SegmentDecorator segmentDecorator = new SegmentDecorator(segmentObject); @@ -97,6 +97,11 @@ public class SegmentParse { return false; } + @GraphComputingMetric(name = "/segment/parse/parseBinarySegment") + private TraceSegmentObject parseBinarySegment(UpstreamSegment segment) throws InvalidProtocolBufferException { + return TraceSegmentObject.parseFrom(segment.getSegment()); + } + @GraphComputingMetric(name = "/segment/parse/preBuild") private boolean preBuild(List traceIds, SegmentDecorator segmentDecorator) { StringBuilder segmentIdBuilder = new StringBuilder(); diff --git a/apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/model/base/LocalAsyncWorkerRef.java b/apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/model/base/LocalAsyncWorkerRef.java index 8d5e43cd3c..7da4828d86 100644 --- a/apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/model/base/LocalAsyncWorkerRef.java +++ b/apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/model/base/LocalAsyncWorkerRef.java @@ -21,7 +21,6 @@ package org.apache.skywalking.apm.collector.analysis.worker.model.base; import java.util.Iterator; import java.util.List; import org.apache.skywalking.apm.collector.core.annotations.trace.BatchParameter; -import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.data.QueueData; import org.apache.skywalking.apm.collector.core.graph.NodeProcessor; import org.apache.skywalking.apm.collector.core.queue.EndOfBatchContext; @@ -47,7 +46,6 @@ public class LocalAsyncWorkerRef data) { Iterator inputIterator = data.iterator(); diff --git a/apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/model/impl/AggregationWorker.java b/apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/model/impl/AggregationWorker.java index 52fb6c4ccb..e8c259c7b9 100644 --- a/apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/model/impl/AggregationWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/model/impl/AggregationWorker.java @@ -46,7 +46,7 @@ public abstract class AggregationWorker ext this.batchDAO = moduleManager.find(StorageModule.NAME).getService(IBatchDAO.class); } - public final void flushAndSwitch() { + public void flushAndSwitch() { try { if (dataCache.trySwitchPointer()) { dataCache.switchPointer(); @@ -59,7 +59,7 @@ public abstract class PersistenceWorker ext } } - @Override protected final void onWork(INPUT_AND_OUTPUT input) throws WorkerException { + @Override protected void onWork(INPUT_AND_OUTPUT input) { if (dataCache.currentCollectionSize() >= 5000) { try { if (dataCache.trySwitchPointer()) { @@ -75,7 +75,8 @@ public abstract class PersistenceWorker ext aggregate(input); } - public final List buildBatchCollection() throws WorkerException { + @GraphComputingMetric(name = "/persistence/buildBatchCollection/") + public final List buildBatchCollection() { List batchCollection = new LinkedList<>(); try { while (dataCache.getLast().isWriting()) { diff --git a/apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/timer/PersistenceTimer.java b/apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/timer/PersistenceTimer.java index dd7a34252b..94dc461da1 100644 --- a/apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/timer/PersistenceTimer.java +++ b/apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/timer/PersistenceTimer.java @@ -22,7 +22,6 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; -import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerException; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.storage.StorageModule; @@ -55,19 +54,16 @@ public class PersistenceTimer { t -> logger.error("Extract data and save failure.", t)), 1, timeInterval, TimeUnit.SECONDS); } + @SuppressWarnings("unchecked") private void extractDataAndSave(IBatchDAO batchDAO, List persistenceWorkers) { try { List batchAllCollection = new ArrayList<>(); persistenceWorkers.forEach((PersistenceWorker worker) -> { logger.debug("extract {} worker data and save", worker.getClass().getName()); - try { - worker.flushAndSwitch(); - List batchCollection = worker.buildBatchCollection(); - logger.debug("extract {} worker data size: {}", worker.getClass().getName(), batchCollection.size()); - batchAllCollection.addAll(batchCollection); - } catch (WorkerException e) { - logger.error(e.getMessage(), e); - } + worker.flushAndSwitch(); + List batchCollection = worker.buildBatchCollection(); + logger.debug("extract {} worker data size: {}", worker.getClass().getName(), batchCollection.size()); + batchAllCollection.addAll(batchCollection); }); batchDAO.batchPersistence(batchAllCollection); diff --git a/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/CollectorInstrumentAgent.java b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/CollectorInstrumentAgent.java index 53d15531d5..7b90547299 100644 --- a/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/CollectorInstrumentAgent.java +++ b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/CollectorInstrumentAgent.java @@ -41,12 +41,14 @@ import static net.bytebuddy.matcher.ElementMatchers.named; * so I will keep all class loader issue out of concern, * in order to keep the trace and monitor codes as simple as possible. * - * @author wu-sheng + * @author wu-sheng, peng-yongsheng */ public class CollectorInstrumentAgent { private final static Logger logger = LoggerFactory.getLogger(CollectorInstrumentAgent.class); public static void premain(String agentArgs, Instrumentation instrumentation) { + logger.info("Collector performance instrument agent startup"); + new AgentBuilder.Default().type( declaresMethod(isAnnotationedMatch()) ).transform((builder, typeDescription, classLoader, module) -> { @@ -57,19 +59,16 @@ public class CollectorInstrumentAgent { }).with(new AgentBuilder.Listener() { @Override public void onDiscovery(String typeName, ClassLoader classLoader, JavaModule module, boolean loaded) { - } @Override public void onTransformation(TypeDescription typeDescription, ClassLoader classLoader, JavaModule module, boolean loaded, DynamicType dynamicType) { - } @Override public void onIgnored(TypeDescription typeDescription, ClassLoader classLoader, JavaModule module, boolean loaded) { - } @Override public void onError(String typeName, ClassLoader classLoader, JavaModule module, boolean loaded, @@ -79,7 +78,6 @@ public class CollectorInstrumentAgent { @Override public void onComplete(String typeName, ClassLoader classLoader, JavaModule module, boolean loaded) { - } }).installOn(instrumentation); } diff --git a/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/MetricTree.java b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/MetricTree.java index b0b5a77d81..7f03eab25e 100644 --- a/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/MetricTree.java +++ b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/MetricTree.java @@ -24,26 +24,24 @@ import java.util.LinkedList; import java.util.List; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import org.apache.skywalking.apm.collector.core.annotations.trace.BatchParameter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * @author wusheng + * @author wusheng, peng-yongsheng */ public enum MetricTree implements Runnable { INSTANCE; private final Logger logger = LoggerFactory.getLogger(MetricTree.class); - private ScheduledFuture scheduledFuture; private List metrics = new LinkedList<>(); private String lineSeparator = System.getProperty("line.separator"); MetricTree() { ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor(); - scheduledFuture = service.scheduleAtFixedRate(this, 60, 60, TimeUnit.SECONDS); + service.scheduleAtFixedRate(this, 60, 60, TimeUnit.SECONDS); } synchronized MetricNode lookup(String metricName) { @@ -55,34 +53,26 @@ public enum MetricTree implements Runnable { @Override public void run() { try { - metrics.forEach((metric) -> { - metric.exchange(); - }); - - try { - Thread.sleep(5 * 1000); - } catch (InterruptedException e) { - - } + metrics.forEach(MetricNode::exchange); StringBuilder logBuffer = new StringBuilder(); logBuffer.append(lineSeparator); logBuffer.append("##################################################################################################################").append(lineSeparator); logBuffer.append("# Collector Service Report #").append(lineSeparator); logBuffer.append("##################################################################################################################").append(lineSeparator); - metrics.forEach((metric) -> { - metric.toOutput(new ReportWriter() { + metrics.forEach((MetricNode metric) -> metric.toOutput(new ReportWriter() { - @Override public void writeMetricName(String name) { - logBuffer.append(name).append("").append(lineSeparator); - } + @Override public void writeMetricName(String name) { + logBuffer.append(name).append(lineSeparator); + } - @Override public void writeMetric(String metrics) { - logBuffer.append("\t"); - logBuffer.append(metrics).append("").append(lineSeparator); - } - }); - }); + @Override public void writeMetric(String metrics) { + logBuffer.append("\t"); + logBuffer.append(metrics).append(lineSeparator); + } + })); + + metrics.forEach(MetricNode::clear); logger.warn(logBuffer.toString()); } catch (Throwable e) { @@ -91,54 +81,37 @@ public enum MetricTree implements Runnable { } class MetricNode { - private String metricName; + private final String metricName; private volatile ServiceMetric metric; - public MetricNode(String metricName) { + MetricNode(String metricName) { this.metricName = metricName; } - ServiceMetric getMetric(Method targetMethod, Object[] allArguments) { + ServiceMetric getMetric(Method targetMethod) { if (metric == null) { - synchronized (metricName) { - if (metric == null) { - int detectedBatchIndex = -1; - String batchNodeNameSuffix = null; - if (targetMethod != null) { - Annotation[][] annotations = targetMethod.getParameterAnnotations(); - if (annotations != null) { - int index = 0; - for (Annotation[] parameterAnnotation : annotations) { - if (parameterAnnotation != null) { - for (Annotation annotation : parameterAnnotation) { - if (annotation instanceof BatchParameter) { - detectedBatchIndex = index; - break; - } - } - } - if (detectedBatchIndex > -1) { + int detectedBatchIndex = -1; + if (targetMethod != null) { + Annotation[][] annotations = targetMethod.getParameterAnnotations(); + if (annotations != null) { + int index = 0; + for (Annotation[] parameterAnnotation : annotations) { + if (parameterAnnotation != null) { + for (Annotation annotation : parameterAnnotation) { + if (annotation instanceof BatchParameter) { + detectedBatchIndex = index; break; } - index++; - } - if (detectedBatchIndex > -1) { - Object listArgs = allArguments[index]; - - if (listArgs instanceof List) { - List args = (List)listArgs; - batchNodeNameSuffix = "/" + args.get(0).getClass().getSimpleName(); - metricName += batchNodeNameSuffix; - } } } - } - metric = new ServiceMetric(metricName, detectedBatchIndex); - if (batchNodeNameSuffix != null) { - this.metricName += batchNodeNameSuffix; + if (detectedBatchIndex > -1) { + break; + } + index++; } } } + metric = new ServiceMetric(detectedBatchIndex); } return metric; } @@ -149,12 +122,17 @@ public enum MetricTree implements Runnable { } } + void clear() { + if (metric != null) { + metric.clear(); + } + } + void toOutput(ReportWriter writer) { writer.writeMetricName(metricName); if (metric != null) { metric.toOutput(writer); } - } } } diff --git a/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/ReportWriter.java b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/ReportWriter.java index 38f36ebb69..303bcccdef 100644 --- a/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/ReportWriter.java +++ b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/ReportWriter.java @@ -25,5 +25,4 @@ public interface ReportWriter { void writeMetricName(String name); void writeMetric(String metrics); - } diff --git a/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/ServiceMetric.java b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/ServiceMetric.java index afd970aaa7..671e7e8987 100644 --- a/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/ServiceMetric.java +++ b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/ServiceMetric.java @@ -19,43 +19,51 @@ package org.apache.skywalking.apm.collector.instrument; import java.util.List; +import java.util.concurrent.atomic.AtomicBoolean; /** - * @author wusheng + * @author wusheng, peng-yongsheng */ public class ServiceMetric { - private String metricName; private ServiceMetricRecord winA; private ServiceMetricRecord winB; - private volatile boolean isUsingWinA; + private AtomicBoolean isUsingWinA; private volatile int detectedBatchIndex; - ServiceMetric(String metricName, int detectedBatchIndex) { - this.metricName = metricName; + ServiceMetric(int detectedBatchIndex) { winA = detectedBatchIndex > -1 ? new ServiceMetricBatchRecord() : new ServiceMetricRecord(); winB = detectedBatchIndex > -1 ? new ServiceMetricBatchRecord() : new ServiceMetricRecord(); - isUsingWinA = true; + isUsingWinA = new AtomicBoolean(true); this.detectedBatchIndex = detectedBatchIndex; } - public void trace(long nano, boolean occurException, Object[] allArguments) { - ServiceMetricRecord usingRecord = isUsingWinA ? winA : winB; + void trace(long nanoseconds, boolean occurException, Object[] allArguments) { + ServiceMetricRecord usingRecord = isUsingWinA.get() ? winA : winB; if (detectedBatchIndex > -1) { List listArgs = (List)allArguments[detectedBatchIndex]; - ((ServiceMetricBatchRecord)usingRecord).add(nano, occurException, listArgs == null ? 0 : listArgs.size()); + ((ServiceMetricBatchRecord)usingRecord).add(nanoseconds, occurException, listArgs == null ? 0 : listArgs.size()); } else { - usingRecord.add(nano, occurException); + usingRecord.add(nanoseconds, occurException); } } void exchangeWindows() { - isUsingWinA = !isUsingWinA; + isUsingWinA.set(!isUsingWinA.get()); } - public void toOutput(ReportWriter writer) { - /** + void clear() { + if (isUsingWinA.get()) { + winB.clear(); + } else { + winA.clear(); + } + } + + void toOutput(ReportWriter writer) { + + /* * If using A, then B is available and free to output. */ - writer.writeMetric(isUsingWinA ? winB.toString() : winA.toString()); + writer.writeMetric(isUsingWinA.get() ? winB.toString() : winA.toString()); } } diff --git a/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/ServiceMetricBatchRecord.java b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/ServiceMetricBatchRecord.java index a9a0cbd5a4..cbe3f06232 100644 --- a/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/ServiceMetricBatchRecord.java +++ b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/ServiceMetricBatchRecord.java @@ -26,13 +26,13 @@ import java.util.concurrent.atomic.AtomicLong; public class ServiceMetricBatchRecord extends ServiceMetricRecord { private AtomicLong batchRowSize; - public ServiceMetricBatchRecord() { + ServiceMetricBatchRecord() { super(); batchRowSize = new AtomicLong(0); } - void add(long nano, boolean occurException, int rowSize) { - super.add(nano, occurException); + void add(long nanoseconds, boolean occurException, int rowSize) { + super.add(nanoseconds, occurException); batchRowSize.addAndGet(rowSize); } @@ -43,9 +43,9 @@ public class ServiceMetricBatchRecord extends ServiceMetricRecord { @Override public String toString() { - if (counter.longValue() == 0) { + if (getMetricRecordCount() == 0) { return "Avg=N/A"; } - return super.toString() + " Rows per call = " + (batchRowSize.get() / counter.get()); + return super.toString() + " Rows per call = " + (batchRowSize.get() / getMetricRecordCount()); } } diff --git a/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/ServiceMetricRecord.java b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/ServiceMetricRecord.java index 31ade89e21..ca8bcb9a8e 100644 --- a/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/ServiceMetricRecord.java +++ b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/ServiceMetricRecord.java @@ -21,38 +21,42 @@ package org.apache.skywalking.apm.collector.instrument; import java.util.concurrent.atomic.AtomicLong; /** - * @author wusheng + * @author wusheng, peng-yongsheng */ public class ServiceMetricRecord { - private AtomicLong totalTimeNano; - protected AtomicLong counter; + private AtomicLong totalNanoseconds; + private AtomicLong counter; private AtomicLong errorCounter; - public ServiceMetricRecord() { - totalTimeNano = new AtomicLong(0); + ServiceMetricRecord() { + totalNanoseconds = new AtomicLong(0); counter = new AtomicLong(0); errorCounter = new AtomicLong(0); } - void add(long nano, boolean occurException) { - totalTimeNano.addAndGet(nano); + void add(long nanoseconds, boolean occurException) { + totalNanoseconds.addAndGet(nanoseconds); counter.incrementAndGet(); if (occurException) errorCounter.incrementAndGet(); } void clear() { - totalTimeNano.set(0); + totalNanoseconds.set(0); counter.set(0); errorCounter.set(0); } + long getMetricRecordCount() { + return counter.get(); + } + @Override public String toString() { if (counter.longValue() == 0) { return "Avg=N/A"; } - return "Avg=" + (totalTimeNano.longValue() / counter.longValue()) + " (nano)" + + return "Avg=" + (totalNanoseconds.longValue() / counter.longValue()) + " (nanosecond)" + ", Success Rate=" + (counter.longValue() - errorCounter.longValue()) * 100 / counter.longValue() + - "%, Calls=" + counter.longValue(); + "%, Calls=" + counter.longValue() + ", Total=" + totalNanoseconds.longValue() + " (nanosecond)"; } } diff --git a/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/ServiceMetricTracing.java b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/ServiceMetricTracing.java index 94629613a3..29b6af9d62 100644 --- a/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/ServiceMetricTracing.java +++ b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/ServiceMetricTracing.java @@ -34,7 +34,7 @@ import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputing public class ServiceMetricTracing { private volatile ConcurrentHashMap metrics = new ConcurrentHashMap<>(); - public ServiceMetricTracing() { + ServiceMetricTracing() { } @RuntimeType @@ -50,23 +50,23 @@ public class ServiceMetricTracing { String metricName = annotation.name(); synchronized (inst) { MetricTree.MetricNode metricNode = MetricTree.INSTANCE.lookup(metricName); - ServiceMetric serviceMetric = metricNode.getMetric(method, allArguments); + ServiceMetric serviceMetric = metricNode.getMetric(method); metrics.put(method, serviceMetric); metric = serviceMetric; } } boolean occurError = false; - long startNano = System.nanoTime(); - long endNano; + long startNanosecond = System.nanoTime(); + long endNanosecond; try { return zuper.call(); } catch (Throwable t) { occurError = true; throw t; } finally { - endNano = System.nanoTime(); + endNanosecond = System.nanoTime(); - metric.trace(endNano - startNano, occurError, allArguments); + metric.trace(endNanosecond - startNanosecond, occurError, allArguments); } } } diff --git a/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/Metric.java b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/Metric.java new file mode 100644 index 0000000000..297c8232c9 --- /dev/null +++ b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/Metric.java @@ -0,0 +1,96 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.apm.collector.instrument.tools; + +/** + * @author peng-yongsheng + */ +public class Metric { + + private String metricName; + private long avg; + private long rate; + private long calls; + private long total; + + String getMetricName() { + return metricName; + } + + void setMetricName(String metricName) { + this.metricName = metricName; + } + + long getAvg() { + return avg; + } + + void setAvg(long avg) { + this.avg = avg; + } + + long getRate() { + return rate; + } + + void setRate(long rate) { + this.rate = rate; + } + + long getCalls() { + return calls; + } + + void setCalls(long calls) { + this.calls = calls; + } + + long getTotal() { + return total; + } + + String getTotalWithUnit() { + return transport(total); + } + + void setTotal(long total) { + this.total = total; + } + + void merge(Metric metric) { + this.total = this.total + metric.getTotal(); + this.calls = this.calls + metric.getCalls(); + this.avg = this.total / this.calls; + } + + private String transport(long nanoseconds) { + long ns2ms = 1000000; + long ns2s = ns2ms * 1000; + long ns2m = ns2s * 60; + + if (ns2ms <= nanoseconds && nanoseconds < ns2s) { + return nanoseconds / ns2ms + "(ms)"; + } else if (ns2s <= nanoseconds && nanoseconds < ns2m) { + return nanoseconds / ns2s + "(s)"; + } else if (nanoseconds >= ns2m) { + return nanoseconds / ns2m + "(m)"; + } + return nanoseconds + "(ns)"; + } +} diff --git a/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/MetricReader.java b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/MetricReader.java new file mode 100644 index 0000000000..c37f2dd79c --- /dev/null +++ b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/MetricReader.java @@ -0,0 +1,79 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.apm.collector.instrument.tools; + +import java.io.BufferedReader; +import java.io.IOException; + +/** + * @author peng-yongsheng + */ +class MetricReader { + + private static final String AVG = "Avg"; + private static final String SUCCESS_RATE = "Success Rate"; + private static final String CALLS = "Calls"; + private static final String TOTAL = "Total"; + + private final BufferedReader bufferedReader; + + MetricReader(BufferedReader bufferedReader) { + this.bufferedReader = bufferedReader; + } + + void read(Metric metric) throws IOException { + String line = bufferedReader.readLine(); + + String[] metrics = line.trim().split(","); + for (String metricStr : metrics) { + String[] keyValue = metricStr.split("="); + + String key = keyValue[0].trim(); + long value = getValue(keyValue[1]); + switch (key) { + case AVG: + metric.setAvg(value); + break; + case SUCCESS_RATE: + metric.setRate(value); + break; + case CALLS: + metric.setCalls(value); + break; + case TOTAL: + metric.setTotal(value); + } + } + } + + private long getValue(String valueStr) { + char[] chars = valueStr.toCharArray(); + char[] value = new char[chars.length]; + + int index = 0; + for (char aChar : chars) { + if (Character.isDigit(aChar)) { + value[index] = aChar; + index++; + } + } + + return Long.valueOf(String.valueOf(value).substring(0, index)); + } +} diff --git a/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/Report.java b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/Report.java new file mode 100644 index 0000000000..bf4dcf4970 --- /dev/null +++ b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/Report.java @@ -0,0 +1,42 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.apm.collector.instrument.tools; + +import java.util.LinkedList; +import java.util.List; + +/** + * @author peng-yongsheng + */ +public class Report { + + private final List metrics; + + Report() { + this.metrics = new LinkedList<>(); + } + + void addMetric(Metric metric) { + this.metrics.add(metric); + } + + List getMetrics() { + return metrics; + } +} diff --git a/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/ReportBufferReader.java b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/ReportBufferReader.java new file mode 100644 index 0000000000..c288c85ccc --- /dev/null +++ b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/ReportBufferReader.java @@ -0,0 +1,62 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.apm.collector.instrument.tools; + +import java.io.BufferedReader; +import java.io.IOException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author peng-yongsheng + */ +class ReportBufferReader { + + private final Logger logger = LoggerFactory.getLogger(ReportBufferReader.class); + + Report read(BufferedReader bufferedReader) throws IOException { + Report report = new Report(); + + String line; + while ((line = bufferedReader.readLine()) != null) { + if (line.startsWith(":end")) { + break; + } + + if (!line.startsWith("/") && !line.startsWith("\t")) { + continue; + } + + Metric metric = new Metric(); + metric.setMetricName(line); + new MetricReader(bufferedReader).read(metric); + + logger.info("metric name: {}, avg: {}, rate: {}, calls: {}, total: {}", + metric.getMetricName(), + metric.getAvg(), + metric.getRate(), + metric.getCalls(), + metric.getTotal()); + + report.addMetric(metric); + } + + return report; + } +} diff --git a/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/ReportFormatRunner.java b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/ReportFormatRunner.java new file mode 100644 index 0000000000..f368dd49b4 --- /dev/null +++ b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/ReportFormatRunner.java @@ -0,0 +1,57 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.apm.collector.instrument.tools; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author peng-yongsheng + */ +public class ReportFormatRunner { + + private final Logger logger = LoggerFactory.getLogger(ReportFormatRunner.class); + + public static void main(String[] args) { + ReportFormatRunner runner = new ReportFormatRunner(); + Report report = runner.readString(); + + ReportFormatter formatter = new ReportFormatter(); + formatter.format(report); + } + + private Report readString() { + BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); + logger.info("Please input the report: "); + + ReportBufferReader reader = new ReportBufferReader(); + try { + Report report = reader.read(bufferedReader); + bufferedReader.close(); + return report; + } catch (IOException e) { + logger.error(e.getMessage(), e); + } + + return null; + } +} diff --git a/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/ReportFormatter.java b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/ReportFormatter.java new file mode 100644 index 0000000000..595b5f1a26 --- /dev/null +++ b/apm-collector/apm-collector-instrument/src/main/java/org/apache/skywalking/apm/collector/instrument/tools/ReportFormatter.java @@ -0,0 +1,66 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.apm.collector.instrument.tools; + +import java.util.LinkedHashMap; +import java.util.Map; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author peng-yongsheng + */ +class ReportFormatter { + + private final Logger logger = LoggerFactory.getLogger(ReportFormatter.class); + + private Map metricMap = new LinkedHashMap<>(); + + void format(Report report) { + logger.info(System.lineSeparator() + "Formatted report: "); + + report.getMetrics().forEach(metric -> { + String[] subMetricNames = metric.getMetricName().split("/"); + + String metricName = ""; + for (String subMetricName : subMetricNames) { + if (subMetricName != null && !subMetricName.equals("")) { + metricName = metricName + "/" + subMetricName; + + if (!metricMap.containsKey(metricName)) { + Metric newMetric = new Metric(); + newMetric.setMetricName(metricName); + metricMap.put(metricName, newMetric); + } + metricMap.get(metricName).merge(metric); + } + } + }); + + logger.info(""); + + metricMap.values().forEach(metric -> + logger.info("metric name: {}, avg: {}, rate: {}, calls: {}, total: {}", + metric.getMetricName(), + metric.getAvg(), + metric.getRate(), + metric.getCalls(), + metric.getTotalWithUnit())); + } +} diff --git a/apm-collector/apm-collector-instrument/src/main/resources/log4j2.xml b/apm-collector/apm-collector-instrument/src/main/resources/log4j2.xml new file mode 100644 index 0000000000..6ec10de16b --- /dev/null +++ b/apm-collector/apm-collector-instrument/src/main/resources/log4j2.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + diff --git a/apm-collector/apm-collector-instrument/src/test/java/org/apache/skywalking/apm/collector/instrument/MetricTreePrintTestCase.java b/apm-collector/apm-collector-instrument/src/test/java/org/apache/skywalking/apm/collector/instrument/MetricTreePrintTestCase.java new file mode 100644 index 0000000000..9988ebf1fe --- /dev/null +++ b/apm-collector/apm-collector-instrument/src/test/java/org/apache/skywalking/apm/collector/instrument/MetricTreePrintTestCase.java @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.apm.collector.instrument; + +import java.util.ArrayList; +import org.junit.Test; + +/** + * @author peng-yongsheng + */ +public class MetricTreePrintTestCase { + + @Test + public void testPrint() { + ServiceMetric table1PersistenceDay = MetricTree.INSTANCE.lookup("/persistence/onWork/table_1/day").getMetric(null); + table1PersistenceDay.trace(1000, false, newArguments()); + + ServiceMetric table1PersistenceHour = MetricTree.INSTANCE.lookup("/persistence/onWork/table_1/hour").getMetric(null); + table1PersistenceHour.trace(2000, false, newArguments()); + + ServiceMetric table1Aggregate = MetricTree.INSTANCE.lookup("/aggregate/onWork/table_1").getMetric(null); + table1Aggregate.trace(3000, false, newArguments()); + + ServiceMetric table2Aggregate = MetricTree.INSTANCE.lookup("/aggregate/onWork/table_2").getMetric(null); + table2Aggregate.trace(4000, false, newArguments()); + + MetricTree.INSTANCE.run(); + } + + private Object[] newArguments() { + Object[] arguments = new Object[1]; + arguments[0] = new ArrayList<>(100); + return arguments; + } +} diff --git a/apm-collector/apm-collector-instrument/src/test/resources/log4j2.xml b/apm-collector/apm-collector-instrument/src/test/resources/log4j2.xml new file mode 100644 index 0000000000..c9eec4f6e2 --- /dev/null +++ b/apm-collector/apm-collector-instrument/src/test/resources/log4j2.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/base/dao/AbstractPersistenceEsDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/base/dao/AbstractPersistenceEsDAO.java index eb22185fbe..9647b97b69 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/base/dao/AbstractPersistenceEsDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/base/dao/AbstractPersistenceEsDAO.java @@ -18,6 +18,7 @@ package org.apache.skywalking.apm.collector.storage.es.base.dao; +import java.util.Map; import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; import org.apache.skywalking.apm.collector.core.data.StreamData; import org.apache.skywalking.apm.collector.core.util.TimeBucketUtils; @@ -30,8 +31,6 @@ import org.elasticsearch.index.reindex.BulkByScrollResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Map; - /** * @author peng-yongsheng */ @@ -48,7 +47,7 @@ public abstract class AbstractPersistenceEsDAO e protected abstract String tableName(); @Override - public final STREAM_DATA get(String id) { + public STREAM_DATA get(String id) { GetResponse getResponse = getClient().prepareGet(tableName(), id).get(); if (getResponse.isExists()) { STREAM_DATA streamData = esDataToStreamData(getResponse.getSource()); @@ -80,9 +79,9 @@ public abstract class AbstractPersistenceEsDAO e long startTimeBucket = TimeBucketUtils.INSTANCE.getMinuteTimeBucket(startTimestamp); long endTimeBucket = TimeBucketUtils.INSTANCE.getMinuteTimeBucket(endTimestamp); BulkByScrollResponse response = getClient().prepareDelete( - QueryBuilders.rangeQuery(timeBucketColumnNameForDelete()).gte(startTimeBucket).lte(endTimeBucket), - tableName()) - .get(); + QueryBuilders.rangeQuery(timeBucketColumnNameForDelete()).gte(startTimeBucket).lte(endTimeBucket), + tableName()) + .get(); long deleted = response.getDeleted(); logger.info("Delete {} rows history from {} index.", deleted, tableName()); diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/base/dao/BatchEsDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/base/dao/BatchEsDAO.java index a006e75361..ffcc77d4e0 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/base/dao/BatchEsDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/base/dao/BatchEsDAO.java @@ -20,6 +20,8 @@ package org.apache.skywalking.apm.collector.storage.es.base.dao; import java.util.List; import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; +import org.apache.skywalking.apm.collector.core.annotations.trace.BatchParameter; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.util.CollectionUtils; import org.apache.skywalking.apm.collector.storage.base.dao.IBatchDAO; import org.elasticsearch.action.bulk.BulkItemResponse; @@ -41,7 +43,8 @@ public class BatchEsDAO extends EsDAO implements IBatchDAO { super(client); } - @Override public void batchPersistence(List batchCollection) { + @GraphComputingMetric(name = "/persistence/batchPersistence/") + @Override public void batchPersistence(@BatchParameter List batchCollection) { BulkRequestBuilder bulkRequest = getClient().prepareBulk(); logger.debug("bulk data size: {}", batchCollection.size()); diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/InstanceHeartBeatEsPersistenceDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/InstanceHeartBeatEsPersistenceDAO.java index c17ec3a6ed..5aaf8c2dee 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/InstanceHeartBeatEsPersistenceDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/InstanceHeartBeatEsPersistenceDAO.java @@ -22,6 +22,7 @@ import java.util.HashMap; import java.util.Map; import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; import org.apache.skywalking.apm.collector.core.UnexpectedException; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.storage.dao.IInstanceHeartBeatPersistenceDAO; import org.apache.skywalking.apm.collector.storage.es.base.dao.EsDAO; import org.apache.skywalking.apm.collector.storage.table.register.Instance; @@ -43,6 +44,7 @@ public class InstanceHeartBeatEsPersistenceDAO extends EsDAO implements IInstanc super(client); } + @GraphComputingMetric(name = "/persistence/get/" + InstanceTable.TABLE + "/heartbeat") @Override public Instance get(String id) { GetResponse getResponse = getClient().prepareGet(InstanceTable.TABLE, id).get(); if (getResponse.isExists()) { diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/acp/AbstractApplicationComponentEsPersistenceDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/acp/AbstractApplicationComponentEsPersistenceDAO.java index 1842447d43..e15e0fc0a6 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/acp/AbstractApplicationComponentEsPersistenceDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/acp/AbstractApplicationComponentEsPersistenceDAO.java @@ -21,6 +21,7 @@ package org.apache.skywalking.apm.collector.storage.es.dao.acp; import java.util.HashMap; import java.util.Map; import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.storage.es.base.dao.AbstractPersistenceEsDAO; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationComponent; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationComponentTable; @@ -58,4 +59,9 @@ public abstract class AbstractApplicationComponentEsPersistenceDAO extends Abstr return source; } + + @GraphComputingMetric(name = "/persistence/get/" + ApplicationComponentTable.TABLE) + @Override public final ApplicationComponent get(String id) { + return super.get(id); + } } diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/acp/ApplicationComponentDayEsPersistenceDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/acp/ApplicationComponentDayEsPersistenceDAO.java index 1f1b7ca2c8..487e4fb065 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/acp/ApplicationComponentDayEsPersistenceDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/acp/ApplicationComponentDayEsPersistenceDAO.java @@ -26,16 +26,12 @@ import org.apache.skywalking.apm.collector.storage.table.application.Application import org.apache.skywalking.apm.collector.storage.table.application.ApplicationComponentTable; import org.elasticsearch.action.index.IndexRequestBuilder; import org.elasticsearch.action.update.UpdateRequestBuilder; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** * @author peng-yongsheng */ public class ApplicationComponentDayEsPersistenceDAO extends AbstractApplicationComponentEsPersistenceDAO implements IApplicationComponentDayPersistenceDAO { - private final Logger logger = LoggerFactory.getLogger(ApplicationComponentDayEsPersistenceDAO.class); - public ApplicationComponentDayEsPersistenceDAO(ElasticSearchClient client) { super(client); } diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/amp/AbstractApplicationMetricEsPersistenceDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/amp/AbstractApplicationMetricEsPersistenceDAO.java index 8a74debb5b..388f6dab3d 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/amp/AbstractApplicationMetricEsPersistenceDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/amp/AbstractApplicationMetricEsPersistenceDAO.java @@ -21,6 +21,7 @@ package org.apache.skywalking.apm.collector.storage.es.dao.amp; import java.util.HashMap; import java.util.Map; import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.storage.es.base.dao.AbstractPersistenceEsDAO; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationMetric; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationMetricTable; @@ -103,4 +104,9 @@ public abstract class AbstractApplicationMetricEsPersistenceDAO extends Abstract return source; } + + @GraphComputingMetric(name = "/persistence/get/" + ApplicationMetricTable.TABLE) + @Override public final ApplicationMetric get(String id) { + return super.get(id); + } } diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/ampp/AbstractApplicationMappingEsPersistenceDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/ampp/AbstractApplicationMappingEsPersistenceDAO.java index 080b0f5a80..53604d3524 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/ampp/AbstractApplicationMappingEsPersistenceDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/ampp/AbstractApplicationMappingEsPersistenceDAO.java @@ -21,6 +21,7 @@ package org.apache.skywalking.apm.collector.storage.es.dao.ampp; import java.util.HashMap; import java.util.Map; import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.storage.es.base.dao.AbstractPersistenceEsDAO; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationMapping; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationMappingTable; @@ -58,4 +59,9 @@ public abstract class AbstractApplicationMappingEsPersistenceDAO extends Abstrac return source; } + + @GraphComputingMetric(name = "/persistence/get/" + ApplicationMappingTable.TABLE) + @Override public final ApplicationMapping get(String id) { + return super.get(id); + } } diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/armp/AbstractApplicationReferenceMetricEsPersistenceDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/armp/AbstractApplicationReferenceMetricEsPersistenceDAO.java index 4b5bd28d02..714f6ef377 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/armp/AbstractApplicationReferenceMetricEsPersistenceDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/armp/AbstractApplicationReferenceMetricEsPersistenceDAO.java @@ -21,6 +21,7 @@ package org.apache.skywalking.apm.collector.storage.es.dao.armp; import java.util.HashMap; import java.util.Map; import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.storage.es.base.dao.AbstractPersistenceEsDAO; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationReferenceMetric; import org.apache.skywalking.apm.collector.storage.table.application.ApplicationReferenceMetricTable; @@ -106,4 +107,9 @@ public abstract class AbstractApplicationReferenceMetricEsPersistenceDAO extends return source; } + + @GraphComputingMetric(name = "/persistence/get/" + ApplicationReferenceMetricTable.TABLE) + @Override public final ApplicationReferenceMetric get(String id) { + return super.get(id); + } } diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/cpu/AbstractCpuMetricEsPersistenceDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/cpu/AbstractCpuMetricEsPersistenceDAO.java index 9f191f31cb..420edea3a3 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/cpu/AbstractCpuMetricEsPersistenceDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/cpu/AbstractCpuMetricEsPersistenceDAO.java @@ -21,6 +21,7 @@ package org.apache.skywalking.apm.collector.storage.es.dao.cpu; import java.util.HashMap; import java.util.Map; import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.storage.es.base.dao.AbstractPersistenceEsDAO; import org.apache.skywalking.apm.collector.storage.table.jvm.CpuMetric; import org.apache.skywalking.apm.collector.storage.table.jvm.CpuMetricTable; @@ -62,4 +63,9 @@ public abstract class AbstractCpuMetricEsPersistenceDAO extends AbstractPersiste return source; } + + @GraphComputingMetric(name = "/persistence/get/" + CpuMetricTable.TABLE) + @Override public final CpuMetric get(String id) { + return super.get(id); + } } diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/gc/AbstractGCMetricEsPersistenceDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/gc/AbstractGCMetricEsPersistenceDAO.java index e6f1159e68..53c615292f 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/gc/AbstractGCMetricEsPersistenceDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/gc/AbstractGCMetricEsPersistenceDAO.java @@ -21,6 +21,7 @@ package org.apache.skywalking.apm.collector.storage.es.dao.gc; import java.util.HashMap; import java.util.Map; import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.storage.es.base.dao.AbstractPersistenceEsDAO; import org.apache.skywalking.apm.collector.storage.table.jvm.GCMetric; import org.apache.skywalking.apm.collector.storage.table.jvm.GCMetricTable; @@ -65,4 +66,9 @@ public abstract class AbstractGCMetricEsPersistenceDAO extends AbstractPersisten return source; } + + @GraphComputingMetric(name = "/persistence/get/" + GCMetricTable.TABLE) + @Override public final GCMetric get(String id) { + return super.get(id); + } } diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/imp/AbstractInstanceMetricEsPersistenceDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/imp/AbstractInstanceMetricEsPersistenceDAO.java index 811740b331..f85c3be4a8 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/imp/AbstractInstanceMetricEsPersistenceDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/imp/AbstractInstanceMetricEsPersistenceDAO.java @@ -21,6 +21,7 @@ package org.apache.skywalking.apm.collector.storage.es.dao.imp; import java.util.HashMap; import java.util.Map; import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.storage.es.base.dao.AbstractPersistenceEsDAO; import org.apache.skywalking.apm.collector.storage.table.instance.InstanceMetric; import org.apache.skywalking.apm.collector.storage.table.instance.InstanceMetricTable; @@ -71,9 +72,6 @@ public abstract class AbstractInstanceMetricEsPersistenceDAO extends AbstractPer @Override protected final Map esStreamDataToEsData(InstanceMetric streamData) { Map source = new HashMap<>(); source.put(InstanceMetricTable.COLUMN_METRIC_ID, streamData.getMetricId()); - - source.put(InstanceMetricTable.COLUMN_METRIC_ID, streamData.getMetricId()); - source.put(InstanceMetricTable.COLUMN_APPLICATION_ID, streamData.getApplicationId()); source.put(InstanceMetricTable.COLUMN_INSTANCE_ID, streamData.getInstanceId()); source.put(InstanceMetricTable.COLUMN_SOURCE_VALUE, streamData.getSourceValue()); @@ -100,4 +98,9 @@ public abstract class AbstractInstanceMetricEsPersistenceDAO extends AbstractPer return source; } + + @GraphComputingMetric(name = "/persistence/get/" + InstanceMetricTable.TABLE) + @Override public final InstanceMetric get(String id) { + return super.get(id); + } } diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/impp/AbstractInstanceMappingEsPersistenceDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/impp/AbstractInstanceMappingEsPersistenceDAO.java index d35baec533..8a47fa6900 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/impp/AbstractInstanceMappingEsPersistenceDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/impp/AbstractInstanceMappingEsPersistenceDAO.java @@ -21,6 +21,7 @@ package org.apache.skywalking.apm.collector.storage.es.dao.impp; import java.util.HashMap; import java.util.Map; import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.storage.es.base.dao.AbstractPersistenceEsDAO; import org.apache.skywalking.apm.collector.storage.table.instance.InstanceMapping; import org.apache.skywalking.apm.collector.storage.table.instance.InstanceMappingTable; @@ -60,4 +61,9 @@ public abstract class AbstractInstanceMappingEsPersistenceDAO extends AbstractPe return source; } + + @GraphComputingMetric(name = "/persistence/get/" + InstanceMappingTable.TABLE) + @Override public final InstanceMapping get(String id) { + return super.get(id); + } } diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/irmp/AbstractInstanceReferenceMetricEsPersistenceDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/irmp/AbstractInstanceReferenceMetricEsPersistenceDAO.java index ea6a3edaf8..f30e096a43 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/irmp/AbstractInstanceReferenceMetricEsPersistenceDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/irmp/AbstractInstanceReferenceMetricEsPersistenceDAO.java @@ -21,6 +21,7 @@ package org.apache.skywalking.apm.collector.storage.es.dao.irmp; import java.util.HashMap; import java.util.Map; import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.storage.es.base.dao.AbstractPersistenceEsDAO; import org.apache.skywalking.apm.collector.storage.table.instance.InstanceReferenceMetric; import org.apache.skywalking.apm.collector.storage.table.instance.InstanceReferenceMetricTable; @@ -102,4 +103,9 @@ public abstract class AbstractInstanceReferenceMetricEsPersistenceDAO extends Ab return source; } + + @GraphComputingMetric(name = "/persistence/get/" + InstanceReferenceMetricTable.TABLE) + @Override public final InstanceReferenceMetric get(String id) { + return super.get(id); + } } diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/memory/AbstractMemoryMetricEsPersistenceDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/memory/AbstractMemoryMetricEsPersistenceDAO.java index 298200e6f9..406dbffd08 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/memory/AbstractMemoryMetricEsPersistenceDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/memory/AbstractMemoryMetricEsPersistenceDAO.java @@ -21,6 +21,7 @@ package org.apache.skywalking.apm.collector.storage.es.dao.memory; import java.util.HashMap; import java.util.Map; import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.storage.es.base.dao.AbstractPersistenceEsDAO; import org.apache.skywalking.apm.collector.storage.table.jvm.MemoryMetric; import org.apache.skywalking.apm.collector.storage.table.jvm.MemoryMetricTable; @@ -70,4 +71,9 @@ public abstract class AbstractMemoryMetricEsPersistenceDAO extends AbstractPersi return source; } + + @GraphComputingMetric(name = "/persistence/get/" + MemoryMetricTable.TABLE) + @Override public final MemoryMetric get(String id) { + return super.get(id); + } } diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/mpool/AbstractMemoryPoolMetricEsPersistenceDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/mpool/AbstractMemoryPoolMetricEsPersistenceDAO.java index 4741f2e08c..98b8ab1c0b 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/mpool/AbstractMemoryPoolMetricEsPersistenceDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/mpool/AbstractMemoryPoolMetricEsPersistenceDAO.java @@ -18,14 +18,14 @@ package org.apache.skywalking.apm.collector.storage.es.dao.mpool; +import java.util.HashMap; +import java.util.Map; import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.storage.es.base.dao.AbstractPersistenceEsDAO; import org.apache.skywalking.apm.collector.storage.table.jvm.MemoryPoolMetric; import org.apache.skywalking.apm.collector.storage.table.jvm.MemoryPoolMetricTable; -import java.util.HashMap; -import java.util.Map; - /** * @author peng-yongsheng */ @@ -43,18 +43,18 @@ public abstract class AbstractMemoryPoolMetricEsPersistenceDAO extends AbstractP @Override protected final MemoryPoolMetric esDataToStreamData(Map source) { MemoryPoolMetric memoryPoolMetric = new MemoryPoolMetric(); - memoryPoolMetric.setMetricId((String) source.get(MemoryPoolMetricTable.COLUMN_METRIC_ID)); + memoryPoolMetric.setMetricId((String)source.get(MemoryPoolMetricTable.COLUMN_METRIC_ID)); - memoryPoolMetric.setInstanceId(((Number) source.get(MemoryPoolMetricTable.COLUMN_INSTANCE_ID)).intValue()); - memoryPoolMetric.setPoolType(((Number) source.get(MemoryPoolMetricTable.COLUMN_POOL_TYPE)).intValue()); + memoryPoolMetric.setInstanceId(((Number)source.get(MemoryPoolMetricTable.COLUMN_INSTANCE_ID)).intValue()); + memoryPoolMetric.setPoolType(((Number)source.get(MemoryPoolMetricTable.COLUMN_POOL_TYPE)).intValue()); - memoryPoolMetric.setInit(((Number) source.get(MemoryPoolMetricTable.COLUMN_INIT)).longValue()); - memoryPoolMetric.setMax(((Number) source.get(MemoryPoolMetricTable.COLUMN_MAX)).longValue()); - memoryPoolMetric.setUsed(((Number) source.get(MemoryPoolMetricTable.COLUMN_USED)).longValue()); - memoryPoolMetric.setCommitted(((Number) source.get(MemoryPoolMetricTable.COLUMN_COMMITTED)).longValue()); - memoryPoolMetric.setTimes(((Number) source.get(MemoryPoolMetricTable.COLUMN_TIMES)).longValue()); + memoryPoolMetric.setInit(((Number)source.get(MemoryPoolMetricTable.COLUMN_INIT)).longValue()); + memoryPoolMetric.setMax(((Number)source.get(MemoryPoolMetricTable.COLUMN_MAX)).longValue()); + memoryPoolMetric.setUsed(((Number)source.get(MemoryPoolMetricTable.COLUMN_USED)).longValue()); + memoryPoolMetric.setCommitted(((Number)source.get(MemoryPoolMetricTable.COLUMN_COMMITTED)).longValue()); + memoryPoolMetric.setTimes(((Number)source.get(MemoryPoolMetricTable.COLUMN_TIMES)).longValue()); - memoryPoolMetric.setTimeBucket(((Number) source.get(MemoryPoolMetricTable.COLUMN_TIME_BUCKET)).longValue()); + memoryPoolMetric.setTimeBucket(((Number)source.get(MemoryPoolMetricTable.COLUMN_TIME_BUCKET)).longValue()); return memoryPoolMetric; } @@ -74,4 +74,9 @@ public abstract class AbstractMemoryPoolMetricEsPersistenceDAO extends AbstractP return source; } + + @GraphComputingMetric(name = "/persistence/get/" + MemoryPoolMetricTable.TABLE) + @Override public final MemoryPoolMetric get(String id) { + return super.get(id); + } } diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/smp/AbstractServiceMetricEsPersistenceDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/smp/AbstractServiceMetricEsPersistenceDAO.java index 4aa384170a..52a2f0e6cc 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/smp/AbstractServiceMetricEsPersistenceDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/smp/AbstractServiceMetricEsPersistenceDAO.java @@ -21,6 +21,7 @@ package org.apache.skywalking.apm.collector.storage.es.dao.smp; import java.util.HashMap; import java.util.Map; import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.storage.es.base.dao.AbstractPersistenceEsDAO; import org.apache.skywalking.apm.collector.storage.table.service.ServiceMetric; import org.apache.skywalking.apm.collector.storage.table.service.ServiceMetricTable; @@ -100,4 +101,9 @@ public abstract class AbstractServiceMetricEsPersistenceDAO extends AbstractPers return source; } + + @GraphComputingMetric(name = "/persistence/get/" + ServiceMetricTable.TABLE) + @Override public final ServiceMetric get(String id) { + return super.get(id); + } } diff --git a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/srmp/AbstractServiceReferenceMetricEsPersistenceDAO.java b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/srmp/AbstractServiceReferenceMetricEsPersistenceDAO.java index b4953152c9..6753ac8f01 100644 --- a/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/srmp/AbstractServiceReferenceMetricEsPersistenceDAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/srmp/AbstractServiceReferenceMetricEsPersistenceDAO.java @@ -21,6 +21,7 @@ package org.apache.skywalking.apm.collector.storage.es.dao.srmp; import java.util.HashMap; import java.util.Map; import org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; +import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.storage.es.base.dao.AbstractPersistenceEsDAO; import org.apache.skywalking.apm.collector.storage.table.service.ServiceReferenceMetric; import org.apache.skywalking.apm.collector.storage.table.service.ServiceReferenceMetricTable; @@ -106,4 +107,9 @@ public abstract class AbstractServiceReferenceMetricEsPersistenceDAO extends Abs return source; } + + @GraphComputingMetric(name = "/persistence/get/" + ServiceReferenceMetricTable.TABLE) + @Override public final ServiceReferenceMetric get(String id) { + return super.get(id); + } } diff --git a/apm-collector/pom.xml b/apm-collector/pom.xml index b696c5fdca..21d581a897 100644 --- a/apm-collector/pom.xml +++ b/apm-collector/pom.xml @@ -30,6 +30,7 @@ pom + apm-collector-instrument apm-collector-boot apm-collector-ui apm-collector-core @@ -41,7 +42,6 @@ apm-collector-grpc-manager apm-collector-jetty-manager apm-collector-remote - apm-collector-instrument apm-collector-configuration apm-collector-agent apm-collector-analysis -- GitLab