From 2d44d8a4198ac699e46576d952e5c06ea17bfdd1 Mon Sep 17 00:00:00 2001
From: peng-yongsheng <8082209@qq.com>
Date: Mon, 1 Jan 2018 14:10:08 +0800
Subject: [PATCH] Service metric alarm.
---
.../define/graph/AlarmGraphIdDefine.java | 29 ++++
.../define/graph/AlarmWorkerIdDefine.java | 41 ++++++
.../analysis-alarm/alarm-provider/pom.xml | 10 ++
....java => AnalysisAlarmModuleProvider.java} | 21 ++-
.../provider/worker/AlarmAssertWorker.java | 124 ++++++++++++++++++
...er.java => AlarmAssertWorkerProvider.java} | 19 +--
.../ApplicationMetricTransformGraph.java | 66 ++++++++++
.../ApplicationMetricTransformWorker.java | 83 ++++++++++++
.../worker/InstanceMetricTransformGraph.java | 68 ++++++++++
.../worker/InstanceMetricTransformWorker.java | 84 ++++++++++++
.../ServiceMetricAlarmAssertWorker.java | 86 ++++++++++++
.../service/ServiceMetricAlarmGraph.java | 79 +++++++++++
...rviceMetricAlarmListPersistenceWorker.java | 66 ++++++++++
.../ServiceMetricAlarmPersistenceWorker.java} | 27 ++--
.../ServiceMetricAlarmRemoteWorker.java | 61 +++++++++
...ServiceMetricAlarmToListNodeProcessor.java | 52 ++++++++
...g.apm.collector.core.module.ModuleProvider | 21 +--
.../worker/CpuMetricPersistenceWorker.java | 9 +-
.../worker/GCMetricPersistenceWorker.java | 9 +-
.../InstHeartBeatPersistenceWorker.java | 9 +-
.../worker/MemoryMetricPersistenceWorker.java | 9 +-
.../MemoryPoolMetricPersistenceWorker.java | 9 +-
.../analysis/metric/define}/MetricSource.java | 15 ++-
...IdDefine.java => MetricGraphIdDefine.java} | 2 +-
...dDefine.java => MetricWorkerIdDefine.java} | 2 +-
...ApplicationComponentAggregationWorker.java | 4 +-
.../ApplicationComponentGraph.java | 6 +-
...ApplicationComponentPersistenceWorker.java | 13 +-
.../ApplicationComponentRemoteWorker.java | 4 +-
.../ApplicationComponentSpanListener.java | 4 +-
.../ApplicationMappingAggregationWorker.java | 4 +-
.../application/ApplicationMappingGraph.java | 6 +-
.../ApplicationMappingPersistenceWorker.java | 13 +-
.../ApplicationMappingRemoteWorker.java | 4 +-
.../ApplicationMappingSpanListener.java | 4 +-
.../ApplicationMetricAggregationWorker.java | 4 +-
.../application/ApplicationMetricGraph.java | 6 +-
.../ApplicationMetricPersistenceWorker.java | 13 +-
.../ApplicationMetricRemoteWorker.java | 4 +-
...ationReferenceMetricAggregationWorker.java | 4 +-
.../ApplicationReferenceMetricGraph.java | 14 +-
...ationReferenceMetricPersistenceWorker.java | 13 +-
...pplicationReferenceMetricRemoteWorker.java | 4 +-
.../worker/global/GlobalTraceGraph.java | 4 +-
.../global/GlobalTracePersistenceWorker.java | 13 +-
.../global/GlobalTraceSpanListener.java | 4 +-
.../InstanceMetricAggregationWorker.java | 4 +-
.../worker/instance/InstanceMetricGraph.java | 14 +-
.../InstanceMetricPersistenceWorker.java | 13 +-
.../instance/InstanceMetricRemoteWorker.java | 4 +-
...tanceReferenceMetricAggregationWorker.java | 4 +-
.../InstanceReferenceMetricGraph.java | 14 +-
.../InstanceReferenceMetricRemoteWorker.java | 4 +-
.../InstanceReferencePersistenceWorker.java | 13 +-
.../worker/segment/SegmentCostGraph.java | 4 +-
.../segment/SegmentCostPersistenceWorker.java | 13 +-
.../segment/SegmentCostSpanListener.java | 4 +-
.../ServiceEntryAggregationWorker.java | 4 +-
.../worker/service/ServiceEntryGraph.java | 6 +-
.../ServiceEntryPersistenceWorker.java | 13 +-
.../service/ServiceEntryRemoteWorker.java | 4 +-
.../service/ServiceEntrySpanListener.java | 4 +-
.../ServiceMetricAggregationWorker.java | 4 +-
.../worker/service/ServiceMetricGraph.java | 14 +-
.../ServiceMetricPersistenceWorker.java | 13 +-
.../service/ServiceMetricRemoteWorker.java | 4 +-
...rviceReferenceMetricAggregationWorker.java | 4 +-
.../service/ServiceReferenceMetricGraph.java | 6 +-
...rviceReferenceMetricPersistenceWorker.java | 13 +-
.../ServiceReferenceMetricRemoteWorker.java | 4 +-
.../ServiceReferenceMetricSpanListener.java | 35 +++--
.../parser/SegmentPersistenceWorker.java | 9 +-
.../worker/model/impl/PersistenceWorker.java | 27 ++--
.../model/impl/PersistenceWorkerProvider.java | 33 +++++
.../configuration/ConfigurationModule.java | 4 +-
.../service/IServiceAlarmRuleConfig.java | 34 +++++
.../ConfigurationModuleProvider.java | 8 +-
.../service/ServiceAlarmRuleConfig.java | 41 ++++++
.../core/util/NumberFormatUtils.java | 37 ++++++
.../core/util/NumberFormatUtilsTest.java | 40 ++++++
.../dao/IServiceAlarmListPersistenceDAO.java | 28 ++++
.../dao/IServiceAlarmPersistenceDAO.java | 28 ++++
.../storage/table/CommonMetricTable.java | 4 +-
.../apm/collector/storage/table/Metric.java | 81 ++++++++++++
.../collector/storage/table/alarm/Alarm.java | 41 ++++++
.../storage/table/alarm/AlarmType.java | 36 +++++
.../ServiceAlarm.java} | 87 ++++++------
.../storage/table/alarm/ServiceAlarmList.java | 113 ++++++++++++++++
.../table/alarm/ServiceAlarmListTable.java | 30 +++++
.../ServiceAlarmTable.java} | 17 +--
.../table/application/ApplicationMetric.java | 52 ++++++--
.../ApplicationReferenceMetric.java | 82 ++++++++----
.../table/instance/InstanceMetric.java | 53 ++++++--
.../instance/InstanceReferenceMetric.java | 72 ++++++++--
.../InstanceReferenceMetricTable.java | 3 +-
.../storage/table/service/ServiceMetric.java | 67 +++++++++-
.../table/service/ServiceMetricTable.java | 2 -
.../table/service/ServiceReferenceMetric.java | 75 +++++++----
.../service/ServiceReferenceMetricTable.java | 5 +-
.../es/dao/AlertingListEsPersistenceDAO.java | 4 +-
.../es/define/AlertingListEsTableDefine.java | 2 +-
.../h2/dao/AlertingListH2PersistenceDAO.java | 4 +-
.../h2/define/AlertingListH2TableDefine.java | 2 +-
103 files changed, 2068 insertions(+), 418 deletions(-)
create mode 100644 apm-collector/apm-collector-analysis/analysis-alarm/alarm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/define/graph/AlarmGraphIdDefine.java
create mode 100644 apm-collector/apm-collector-analysis/analysis-alarm/alarm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/define/graph/AlarmWorkerIdDefine.java
rename apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/{AlertingModuleProvider.java => AnalysisAlarmModuleProvider.java} (55%)
create mode 100644 apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/AlarmAssertWorker.java
rename apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/{AlertingListAggregationWorker.java => AlarmAssertWorkerProvider.java} (67%)
create mode 100644 apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/ApplicationMetricTransformGraph.java
create mode 100644 apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/ApplicationMetricTransformWorker.java
create mode 100644 apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/InstanceMetricTransformGraph.java
create mode 100644 apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/InstanceMetricTransformWorker.java
create mode 100644 apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmAssertWorker.java
create mode 100644 apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmGraph.java
create mode 100644 apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmListPersistenceWorker.java
rename apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/{AlertingListPersistenceWorker.java => service/ServiceMetricAlarmPersistenceWorker.java} (62%)
create mode 100644 apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmRemoteWorker.java
create mode 100644 apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmToListNodeProcessor.java
rename apm-collector/apm-collector-analysis/analysis-metric/{metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker => metric-define/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/define}/MetricSource.java (77%)
rename apm-collector/apm-collector-analysis/analysis-metric/metric-define/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/define/graph/{GraphIdDefine.java => MetricGraphIdDefine.java} (97%)
rename apm-collector/apm-collector-analysis/analysis-metric/metric-define/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/define/graph/{WorkerIdDefine.java => MetricWorkerIdDefine.java} (98%)
create mode 100644 apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/model/impl/PersistenceWorkerProvider.java
create mode 100644 apm-collector/apm-collector-configuration/collector-configuration-define/src/main/java/org/apache/skywalking/apm/collector/configuration/service/IServiceAlarmRuleConfig.java
create mode 100644 apm-collector/apm-collector-configuration/collector-configuration-provider/src/main/java/org/apache/skywalking/apm/collector/configuration/service/ServiceAlarmRuleConfig.java
create mode 100644 apm-collector/apm-collector-core/src/main/java/org/apache/skywalking/apm/collector/core/util/NumberFormatUtils.java
create mode 100644 apm-collector/apm-collector-core/src/test/java/org/apache/skywalking/apm/collector/core/util/NumberFormatUtilsTest.java
create mode 100644 apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/apache/skywalking/apm/collector/storage/dao/IServiceAlarmListPersistenceDAO.java
create mode 100644 apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/apache/skywalking/apm/collector/storage/dao/IServiceAlarmPersistenceDAO.java
create mode 100644 apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/apache/skywalking/apm/collector/storage/table/Metric.java
create mode 100644 apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/apache/skywalking/apm/collector/storage/table/alarm/Alarm.java
create mode 100644 apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/apache/skywalking/apm/collector/storage/table/alarm/AlarmType.java
rename apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/apache/skywalking/apm/collector/storage/table/{alerting/AlertingList.java => alarm/ServiceAlarm.java} (52%)
create mode 100644 apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/apache/skywalking/apm/collector/storage/table/alarm/ServiceAlarmList.java
create mode 100644 apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/apache/skywalking/apm/collector/storage/table/alarm/ServiceAlarmListTable.java
rename apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/apache/skywalking/apm/collector/storage/table/{alerting/AlertingListTable.java => alarm/ServiceAlarmTable.java} (60%)
diff --git a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/define/graph/AlarmGraphIdDefine.java b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/define/graph/AlarmGraphIdDefine.java
new file mode 100644
index 000000000..f22d200ae
--- /dev/null
+++ b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/define/graph/AlarmGraphIdDefine.java
@@ -0,0 +1,29 @@
+/*
+ * 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.analysis.alarm.define.graph;
+
+/**
+ * @author peng-yongsheng
+ */
+public class AlarmGraphIdDefine {
+ public static final int SERVICE_METRIC_TRANSFORM_GRAPH_ID = 500;
+ public static final int INSTANCE_METRIC_TRANSFORM_GRAPH_ID = 501;
+ public static final int APPLICATION_METRIC_TRANSFORM_GRAPH_ID = 502;
+ public static final int ALARM_METRIC_AGGREGATION_GRAPH_ID = 503;
+}
diff --git a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/define/graph/AlarmWorkerIdDefine.java b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/define/graph/AlarmWorkerIdDefine.java
new file mode 100644
index 000000000..bc7c8c34b
--- /dev/null
+++ b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-define/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/define/graph/AlarmWorkerIdDefine.java
@@ -0,0 +1,41 @@
+/*
+ * 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.analysis.alarm.define.graph;
+
+/**
+ * @author peng-yongsheng
+ */
+public class AlarmWorkerIdDefine {
+ public static final int SERVICE_METRIC_ALARM_ASSERT_WORKER_ID = 500;
+ public static final int SERVICE_METRIC_TRANSFORM_GRAPH_BRIDGE_WORKER_ID = 501;
+ public static final int SERVICE_METRIC_ALARM_REMOTE_WORKER_ID = 500;
+ public static final int SERVICE_METRIC_ALARM_PERSISTENCE_WORKER_ID = 500;
+ public static final int SERVICE_METRIC_ALARM_LIST_PERSISTENCE_WORKER_ID = 500;
+ public static final int SERVICE_METRIC_ALARM_TO_LIST_NODE_PROCESSOR_ID = 500;
+
+ public static final int INSTANCE_METRIC_TRANSFORM_WORKER_ID = 502;
+ public static final int INSTANCE_METRIC_TRANSFORM_GRAPH_BRIDGE_WORKER_ID = 503;
+ public static final int APPLICATION_METRIC_TRANSFORM_WORKER_ID = 504;
+ public static final int APPLICATION_METRIC_TRANSFORM_GRAPH_BRIDGE_WORKER_ID = 505;
+ public static final int ALARM_METRIC_REMOTE_WORKER_ID = 506;
+ public static final int ALARM_METRIC_APPLICATION_METRIC_TRANSFORM_GRAPH_BRIDGE_WORKER_ID = 507;
+ public static final int ALARM_METRIC_INSTANCE_METRIC_TRANSFORM_GRAPH_BRIDGE_WORKER_ID = 508;
+ public static final int ALARM_METRIC_SERVICE_METRIC_TRANSFORM_GRAPH_BRIDGE_WORKER_ID = 509;
+ public static final int ALARM_METRIC_AGGREGATION_WORKER_ID = 510;
+}
diff --git a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/pom.xml b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/pom.xml
index 6ba73c217..5afb68de9 100644
--- a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/pom.xml
+++ b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/pom.xml
@@ -36,6 +36,16 @@
alarm-define
${project.version}
+
+ org.apache.skywalking
+ metric-define
+ ${project.version}
+
+
+ org.apache.skywalking
+ collector-configuration-define
+ ${project.version}
+
org.apache.skywalking
collector-storage-define
diff --git a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/AlertingModuleProvider.java b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/AnalysisAlarmModuleProvider.java
similarity index 55%
rename from apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/AlertingModuleProvider.java
rename to apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/AnalysisAlarmModuleProvider.java
index 802f5f55a..fb45aac90 100644
--- a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/AlertingModuleProvider.java
+++ b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/AnalysisAlarmModuleProvider.java
@@ -20,14 +20,21 @@ package org.apache.skywalking.apm.collector.analysis.alarm.provider;
import java.util.Properties;
import org.apache.skywalking.apm.collector.analysis.alarm.define.AnalysisAlarmModule;
+import org.apache.skywalking.apm.collector.analysis.alarm.provider.worker.ApplicationMetricTransformGraph;
+import org.apache.skywalking.apm.collector.analysis.alarm.provider.worker.InstanceMetricTransformGraph;
+import org.apache.skywalking.apm.collector.analysis.alarm.provider.worker.service.ServiceMetricAlarmGraph;
+import org.apache.skywalking.apm.collector.analysis.metric.define.AnalysisMetricModule;
+import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerCreateListener;
+import org.apache.skywalking.apm.collector.configuration.ConfigurationModule;
import org.apache.skywalking.apm.collector.core.module.Module;
import org.apache.skywalking.apm.collector.core.module.ModuleProvider;
import org.apache.skywalking.apm.collector.core.module.ServiceNotProvidedException;
+import org.apache.skywalking.apm.collector.remote.RemoteModule;
/**
* @author peng-yongsheng
*/
-public class AlertingModuleProvider extends ModuleProvider {
+public class AnalysisAlarmModuleProvider extends ModuleProvider {
@Override public String name() {
return "default";
@@ -42,6 +49,16 @@ public class AlertingModuleProvider extends ModuleProvider {
}
@Override public void start(Properties config) throws ServiceNotProvidedException {
+ WorkerCreateListener workerCreateListener = new WorkerCreateListener();
+
+ ServiceMetricAlarmGraph serviceMetricAlarmGraph = new ServiceMetricAlarmGraph(getManager(), workerCreateListener);
+ serviceMetricAlarmGraph.create();
+
+ InstanceMetricTransformGraph instanceMetricTransformGraph = new InstanceMetricTransformGraph(getManager(), workerCreateListener);
+ instanceMetricTransformGraph.create();
+
+ ApplicationMetricTransformGraph applicationMetricTransformGraph = new ApplicationMetricTransformGraph(getManager(), workerCreateListener);
+ applicationMetricTransformGraph.create();
}
@@ -50,6 +67,6 @@ public class AlertingModuleProvider extends ModuleProvider {
}
@Override public String[] requiredModules() {
- return new String[0];
+ return new String[] {RemoteModule.NAME, AnalysisMetricModule.NAME, ConfigurationModule.NAME};
}
}
diff --git a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/AlarmAssertWorker.java b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/AlarmAssertWorker.java
new file mode 100644
index 000000000..d3a2dec99
--- /dev/null
+++ b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/AlarmAssertWorker.java
@@ -0,0 +1,124 @@
+/*
+ * 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.analysis.alarm.provider.worker;
+
+import org.apache.skywalking.apm.collector.analysis.metric.define.MetricSource;
+import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorker;
+import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerException;
+import org.apache.skywalking.apm.collector.core.data.Data;
+import org.apache.skywalking.apm.collector.core.module.ModuleManager;
+import org.apache.skywalking.apm.collector.core.util.Const;
+import org.apache.skywalking.apm.collector.core.util.NumberFormatUtils;
+import org.apache.skywalking.apm.collector.storage.table.Metric;
+import org.apache.skywalking.apm.collector.storage.table.alarm.Alarm;
+import org.apache.skywalking.apm.collector.storage.table.alarm.AlarmType;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * @author peng-yongsheng
+ */
+public abstract class AlarmAssertWorker extends AbstractLocalAsyncWorker {
+
+ private final Logger logger = LoggerFactory.getLogger(AlarmAssertWorker.class);
+
+ public AlarmAssertWorker(ModuleManager moduleManager) {
+ super(moduleManager);
+ }
+
+ @Override protected final void onWork(INPUT inputMetric) throws WorkerException {
+ errorRateAlarmAssert(inputMetric);
+ averageResponseTimeAlarmAssert(inputMetric);
+ }
+
+ protected abstract OUTPUT newAlarmObject(String id, INPUT inputMetric);
+
+ protected abstract Double calleeErrorRateThreshold();
+
+ protected abstract Double callerErrorRateThreshold();
+
+ private void errorRateAlarmAssert(INPUT inputMetric) {
+ Double errorRate = Double.valueOf(inputMetric.getTransactionErrorCalls()) / Double.valueOf(inputMetric.getTransactionCalls());
+ errorRate = NumberFormatUtils.rateNumberFormat(errorRate);
+
+ if (inputMetric.getSourceValue().equals(MetricSource.Callee.getValue())) {
+ if (errorRate >= calleeErrorRateThreshold()) {
+ String id = String.valueOf(MetricSource.Callee.getValue()) + Const.ID_SPLIT + AlarmType.ERROR_RATE.getValue();
+ OUTPUT alarm = newAlarmObject(id, inputMetric);
+ alarm.setAlarmType(AlarmType.ERROR_RATE.getValue());
+ alarm.setLastTimeBucket(inputMetric.getTimeBucket());
+ alarm.setSourceValue(MetricSource.Callee.getValue());
+ alarm.setAlarmContent("");
+
+ onNext(alarm);
+ }
+ } else if (inputMetric.getSourceValue().equals(MetricSource.Caller.getValue())) {
+ if (errorRate >= callerErrorRateThreshold()) {
+ String id = String.valueOf(MetricSource.Caller.getValue()) + Const.ID_SPLIT + AlarmType.ERROR_RATE.getValue();
+ OUTPUT alarm = newAlarmObject(id, inputMetric);
+ alarm.setAlarmType(AlarmType.ERROR_RATE.getValue());
+ alarm.setLastTimeBucket(inputMetric.getTimeBucket());
+ alarm.setSourceValue(MetricSource.Caller.getValue());
+ alarm.setAlarmContent("");
+
+ onNext(alarm);
+ }
+ } else {
+ logger.error("Please check the metric source, the value must be {} or {}", MetricSource.Caller.getValue(), MetricSource.Callee.getValue());
+ }
+ }
+
+ protected abstract Double calleeAverageResponseTimeThreshold();
+
+ protected abstract Double callerAverageResponseTimeThreshold();
+
+ private void averageResponseTimeAlarmAssert(INPUT inputMetric) {
+ Long transactionSuccessDurationSum = inputMetric.getTransactionDurationSum() - inputMetric.getTransactionErrorDurationSum();
+ Long transactionSuccessCalls = inputMetric.getTransactionCalls() - inputMetric.getTransactionErrorCalls();
+ Double averageResponseTime = Double.valueOf(transactionSuccessDurationSum) / Double.valueOf(transactionSuccessCalls);
+ averageResponseTime = NumberFormatUtils.rateNumberFormat(averageResponseTime);
+
+ if (inputMetric.getSourceValue().equals(MetricSource.Callee.getValue())) {
+
+ if (averageResponseTime >= calleeAverageResponseTimeThreshold()) {
+ String id = String.valueOf(MetricSource.Callee.getValue()) + Const.ID_SPLIT + AlarmType.SLOW_RTT.getValue();
+ OUTPUT alarm = newAlarmObject(id, inputMetric);
+ alarm.setAlarmType(AlarmType.SLOW_RTT.getValue());
+ alarm.setLastTimeBucket(inputMetric.getTimeBucket());
+ alarm.setSourceValue(MetricSource.Callee.getValue());
+ alarm.setAlarmContent("");
+
+ onNext(alarm);
+ } else if (inputMetric.getSourceValue().equals(MetricSource.Caller.getValue())) {
+ if (averageResponseTime >= callerAverageResponseTimeThreshold()) {
+ String id = String.valueOf(MetricSource.Caller.getValue()) + Const.ID_SPLIT + AlarmType.SLOW_RTT.getValue();
+ OUTPUT alarm = newAlarmObject(id, inputMetric);
+ alarm.setAlarmType(AlarmType.SLOW_RTT.getValue());
+ alarm.setLastTimeBucket(inputMetric.getTimeBucket());
+ alarm.setSourceValue(MetricSource.Caller.getValue());
+ alarm.setAlarmContent("");
+
+ onNext(alarm);
+ }
+ } else {
+ logger.error("Please check the metric source, the value must be {} or {}", MetricSource.Caller.getValue(), MetricSource.Callee.getValue());
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/AlertingListAggregationWorker.java b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/AlarmAssertWorkerProvider.java
similarity index 67%
rename from apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/AlertingListAggregationWorker.java
rename to apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/AlarmAssertWorkerProvider.java
index 6e0f4e602..d0f6d8725 100644
--- a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/AlertingListAggregationWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/AlarmAssertWorkerProvider.java
@@ -18,25 +18,18 @@
package org.apache.skywalking.apm.collector.analysis.alarm.provider.worker;
-import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorker;
-import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerException;
+import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
+import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
-import org.apache.skywalking.apm.collector.storage.table.alerting.AlertingList;
+import org.apache.skywalking.apm.collector.storage.table.Metric;
+import org.apache.skywalking.apm.collector.storage.table.alarm.Alarm;
/**
* @author peng-yongsheng
*/
-public class AlertingListAggregationWorker extends AbstractLocalAsyncWorker {
+public abstract class AlarmAssertWorkerProvider> extends AbstractLocalAsyncWorkerProvider {
- public AlertingListAggregationWorker(ModuleManager moduleManager) {
+ public AlarmAssertWorkerProvider(ModuleManager moduleManager) {
super(moduleManager);
}
-
- @Override public int id() {
- return 0;
- }
-
- @Override protected void onWork(AlertingList message) throws WorkerException {
-
- }
}
diff --git a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/ApplicationMetricTransformGraph.java b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/ApplicationMetricTransformGraph.java
new file mode 100644
index 000000000..84706b1c7
--- /dev/null
+++ b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/ApplicationMetricTransformGraph.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.analysis.alarm.provider.worker;
+
+import org.apache.skywalking.apm.collector.analysis.alarm.define.graph.AlarmGraphIdDefine;
+import org.apache.skywalking.apm.collector.analysis.alarm.define.graph.AlarmWorkerIdDefine;
+import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricGraphIdDefine;
+import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine;
+import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerCreateListener;
+import org.apache.skywalking.apm.collector.core.graph.Graph;
+import org.apache.skywalking.apm.collector.core.graph.GraphManager;
+import org.apache.skywalking.apm.collector.core.graph.Next;
+import org.apache.skywalking.apm.collector.core.graph.NodeProcessor;
+import org.apache.skywalking.apm.collector.core.module.ModuleManager;
+import org.apache.skywalking.apm.collector.storage.table.application.ApplicationMetric;
+
+/**
+ * @author peng-yongsheng
+ */
+public class ApplicationMetricTransformGraph {
+
+ private final ModuleManager moduleManager;
+ private final WorkerCreateListener workerCreateListener;
+
+ public ApplicationMetricTransformGraph(ModuleManager moduleManager, WorkerCreateListener workerCreateListener) {
+ this.moduleManager = moduleManager;
+ this.workerCreateListener = workerCreateListener;
+ }
+
+ public void create() {
+ Graph graph = GraphManager.INSTANCE.createIfAbsent(AlarmGraphIdDefine.APPLICATION_METRIC_TRANSFORM_GRAPH_ID, ApplicationMetric.class);
+ graph.addNode(new ApplicationMetricTransformWorker.Factory(moduleManager).create(workerCreateListener));
+ link(graph);
+ }
+
+ private void link(Graph graph) {
+ GraphManager.INSTANCE.findGraph(MetricGraphIdDefine.APPLICATION_METRIC_GRAPH_ID, ApplicationMetric.class)
+ .toFinder().findNode(MetricWorkerIdDefine.APPLICATION_MAPPING_AGGREGATION_WORKER_ID, ApplicationMetric.class)
+ .addNext(new NodeProcessor() {
+ @Override public int id() {
+ return AlarmWorkerIdDefine.APPLICATION_METRIC_TRANSFORM_GRAPH_BRIDGE_WORKER_ID;
+ }
+
+ @Override public void process(ApplicationMetric applicationMetric,
+ Next next) {
+ graph.start(applicationMetric);
+ }
+ });
+ }
+}
diff --git a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/ApplicationMetricTransformWorker.java b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/ApplicationMetricTransformWorker.java
new file mode 100644
index 000000000..39dab067b
--- /dev/null
+++ b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/ApplicationMetricTransformWorker.java
@@ -0,0 +1,83 @@
+/*
+ * 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.analysis.alarm.provider.worker;
+
+import org.apache.skywalking.apm.collector.analysis.alarm.define.graph.AlarmWorkerIdDefine;
+import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
+import org.apache.skywalking.apm.collector.analysis.worker.model.impl.AggregationWorker;
+import org.apache.skywalking.apm.collector.core.module.ModuleManager;
+import org.apache.skywalking.apm.collector.storage.table.alarm.AlarmMetric;
+import org.apache.skywalking.apm.collector.storage.table.alarm.Layer;
+import org.apache.skywalking.apm.collector.storage.table.application.ApplicationMetric;
+
+/**
+ * @author peng-yongsheng
+ */
+public class ApplicationMetricTransformWorker extends AggregationWorker {
+
+ public ApplicationMetricTransformWorker(ModuleManager moduleManager) {
+ super(moduleManager);
+ }
+
+ @Override public int id() {
+ return AlarmWorkerIdDefine.APPLICATION_METRIC_TRANSFORM_WORKER_ID;
+ }
+
+ @Override protected AlarmMetric transform(ApplicationMetric applicationMetric) {
+ AlarmMetric alarmMetric = new AlarmMetric(String.valueOf(applicationMetric.getApplicationId()));
+ alarmMetric.setLayer(Layer.APPLICATION.getValue());
+ alarmMetric.setObjectId(applicationMetric.getApplicationId());
+ alarmMetric.setApplicationId(applicationMetric.getApplicationId());
+ alarmMetric.setSourceValue(applicationMetric.getSourceValue());
+
+ alarmMetric.setTransactionCalls(applicationMetric.getTransactionCalls());
+ alarmMetric.setTransactionDurationSum(applicationMetric.getTransactionDurationSum());
+ alarmMetric.setTransactionErrorCalls(applicationMetric.getTransactionErrorCalls());
+ alarmMetric.setTransactionErrorDurationSum(applicationMetric.getTransactionErrorDurationSum());
+
+ alarmMetric.setBusinessTransactionCalls(applicationMetric.getBusinessTransactionCalls());
+ alarmMetric.setBusinessTransactionDurationSum(applicationMetric.getBusinessTransactionDurationSum());
+ alarmMetric.setBusinessTransactionErrorCalls(applicationMetric.getBusinessTransactionErrorCalls());
+ alarmMetric.setBusinessTransactionErrorDurationSum(applicationMetric.getBusinessTransactionErrorDurationSum());
+
+ alarmMetric.setMqTransactionCalls(applicationMetric.getMqTransactionCalls());
+ alarmMetric.setMqTransactionDurationSum(applicationMetric.getMqTransactionDurationSum());
+ alarmMetric.setMqTransactionErrorCalls(applicationMetric.getMqTransactionErrorCalls());
+ alarmMetric.setMqTransactionErrorDurationSum(applicationMetric.getMqTransactionErrorDurationSum());
+
+ alarmMetric.setTimeBucket(applicationMetric.getTimeBucket());
+ return alarmMetric;
+ }
+
+ public static class Factory extends AbstractLocalAsyncWorkerProvider {
+
+ public Factory(ModuleManager moduleManager) {
+ super(moduleManager);
+ }
+
+ @Override public ApplicationMetricTransformWorker workerInstance(ModuleManager moduleManager) {
+ return new ApplicationMetricTransformWorker(moduleManager);
+ }
+
+ @Override
+ public int queueSize() {
+ return 1024;
+ }
+ }
+}
diff --git a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/InstanceMetricTransformGraph.java b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/InstanceMetricTransformGraph.java
new file mode 100644
index 000000000..6ee996aee
--- /dev/null
+++ b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/InstanceMetricTransformGraph.java
@@ -0,0 +1,68 @@
+/*
+ * 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.analysis.alarm.provider.worker;
+
+import org.apache.skywalking.apm.collector.analysis.alarm.define.graph.AlarmGraphIdDefine;
+import org.apache.skywalking.apm.collector.analysis.alarm.define.graph.AlarmWorkerIdDefine;
+import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricGraphIdDefine;
+import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine;
+import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerCreateListener;
+import org.apache.skywalking.apm.collector.core.graph.Graph;
+import org.apache.skywalking.apm.collector.core.graph.GraphManager;
+import org.apache.skywalking.apm.collector.core.graph.Next;
+import org.apache.skywalking.apm.collector.core.graph.NodeProcessor;
+import org.apache.skywalking.apm.collector.core.module.ModuleManager;
+import org.apache.skywalking.apm.collector.storage.table.instance.InstanceMetric;
+
+/**
+ * @author peng-yongsheng
+ */
+public class InstanceMetricTransformGraph {
+
+ private final ModuleManager moduleManager;
+ private final WorkerCreateListener workerCreateListener;
+
+ public InstanceMetricTransformGraph(ModuleManager moduleManager, WorkerCreateListener workerCreateListener) {
+ this.moduleManager = moduleManager;
+ this.workerCreateListener = workerCreateListener;
+ }
+
+ public void create() {
+ Graph graph = GraphManager.INSTANCE.createIfAbsent(AlarmGraphIdDefine.INSTANCE_METRIC_TRANSFORM_GRAPH_ID, InstanceMetric.class);
+
+ graph.addNode(new InstanceMetricTransformWorker.Factory(moduleManager).create(workerCreateListener));
+
+ link(graph);
+ }
+
+ private void link(Graph graph) {
+ GraphManager.INSTANCE.findGraph(MetricGraphIdDefine.INSTANCE_METRIC_GRAPH_ID, InstanceMetric.class)
+ .toFinder().findNode(MetricWorkerIdDefine.INSTANCE_METRIC_AGGREGATION_WORKER_ID, InstanceMetric.class)
+ .addNext(new NodeProcessor() {
+ @Override public int id() {
+ return AlarmWorkerIdDefine.INSTANCE_METRIC_TRANSFORM_GRAPH_BRIDGE_WORKER_ID;
+ }
+
+ @Override public void process(InstanceMetric instanceMetric,
+ Next next) {
+ graph.start(instanceMetric);
+ }
+ });
+ }
+}
diff --git a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/InstanceMetricTransformWorker.java b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/InstanceMetricTransformWorker.java
new file mode 100644
index 000000000..8f396ca09
--- /dev/null
+++ b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/InstanceMetricTransformWorker.java
@@ -0,0 +1,84 @@
+/*
+ * 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.analysis.alarm.provider.worker;
+
+import org.apache.skywalking.apm.collector.analysis.alarm.define.graph.AlarmWorkerIdDefine;
+import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
+import org.apache.skywalking.apm.collector.analysis.worker.model.impl.AggregationWorker;
+import org.apache.skywalking.apm.collector.core.module.ModuleManager;
+import org.apache.skywalking.apm.collector.storage.table.alarm.AlarmMetric;
+import org.apache.skywalking.apm.collector.storage.table.alarm.Layer;
+import org.apache.skywalking.apm.collector.storage.table.instance.InstanceMetric;
+
+/**
+ * @author peng-yongsheng
+ */
+public class InstanceMetricTransformWorker extends AggregationWorker {
+
+ public InstanceMetricTransformWorker(ModuleManager moduleManager) {
+ super(moduleManager);
+ }
+
+ @Override public int id() {
+ return AlarmWorkerIdDefine.INSTANCE_METRIC_TRANSFORM_WORKER_ID;
+ }
+
+ @Override protected AlarmMetric transform(InstanceMetric instanceMetric) {
+
+ AlarmMetric alarmMetric = new AlarmMetric(String.valueOf(instanceMetric.getApplicationId()));
+ alarmMetric.setLayer(Layer.INSTANCE.getValue());
+ alarmMetric.setObjectId(instanceMetric.getApplicationId());
+ alarmMetric.setApplicationId(instanceMetric.getApplicationId());
+ alarmMetric.setSourceValue(instanceMetric.getSourceValue());
+
+ alarmMetric.setTransactionCalls(instanceMetric.getTransactionCalls());
+ alarmMetric.setTransactionDurationSum(instanceMetric.getTransactionDurationSum());
+ alarmMetric.setTransactionErrorCalls(instanceMetric.getTransactionErrorCalls());
+ alarmMetric.setTransactionErrorDurationSum(instanceMetric.getTransactionErrorDurationSum());
+
+ alarmMetric.setBusinessTransactionCalls(instanceMetric.getBusinessTransactionCalls());
+ alarmMetric.setBusinessTransactionDurationSum(instanceMetric.getBusinessTransactionDurationSum());
+ alarmMetric.setBusinessTransactionErrorCalls(instanceMetric.getBusinessTransactionErrorCalls());
+ alarmMetric.setBusinessTransactionErrorDurationSum(instanceMetric.getBusinessTransactionErrorDurationSum());
+
+ alarmMetric.setMqTransactionCalls(instanceMetric.getMqTransactionCalls());
+ alarmMetric.setMqTransactionDurationSum(instanceMetric.getMqTransactionDurationSum());
+ alarmMetric.setMqTransactionErrorCalls(instanceMetric.getMqTransactionErrorCalls());
+ alarmMetric.setMqTransactionErrorDurationSum(instanceMetric.getMqTransactionErrorDurationSum());
+
+ alarmMetric.setTimeBucket(instanceMetric.getTimeBucket());
+ return alarmMetric;
+ }
+
+ public static class Factory extends AbstractLocalAsyncWorkerProvider {
+
+ public Factory(ModuleManager moduleManager) {
+ super(moduleManager);
+ }
+
+ @Override public InstanceMetricTransformWorker workerInstance(ModuleManager moduleManager) {
+ return new InstanceMetricTransformWorker(moduleManager);
+ }
+
+ @Override
+ public int queueSize() {
+ return 1024;
+ }
+ }
+}
diff --git a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmAssertWorker.java b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmAssertWorker.java
new file mode 100644
index 000000000..29d06773d
--- /dev/null
+++ b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmAssertWorker.java
@@ -0,0 +1,86 @@
+/*
+ * 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.analysis.alarm.provider.worker.service;
+
+import org.apache.skywalking.apm.collector.analysis.alarm.define.graph.AlarmWorkerIdDefine;
+import org.apache.skywalking.apm.collector.analysis.alarm.provider.worker.AlarmAssertWorker;
+import org.apache.skywalking.apm.collector.analysis.alarm.provider.worker.AlarmAssertWorkerProvider;
+import org.apache.skywalking.apm.collector.configuration.ConfigurationModule;
+import org.apache.skywalking.apm.collector.configuration.service.IServiceAlarmRuleConfig;
+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.alarm.ServiceAlarm;
+import org.apache.skywalking.apm.collector.storage.table.service.ServiceMetric;
+
+/**
+ * @author peng-yongsheng
+ */
+public class ServiceMetricAlarmAssertWorker extends AlarmAssertWorker {
+
+ private final IServiceAlarmRuleConfig serviceAlarmRuleConfig;
+
+ public ServiceMetricAlarmAssertWorker(ModuleManager moduleManager) {
+ super(moduleManager);
+ this.serviceAlarmRuleConfig = moduleManager.find(ConfigurationModule.NAME).getService(IServiceAlarmRuleConfig.class);
+ }
+
+ @Override public int id() {
+ return AlarmWorkerIdDefine.SERVICE_METRIC_ALARM_ASSERT_WORKER_ID;
+ }
+
+ @Override protected ServiceAlarm newAlarmObject(String id, ServiceMetric inputMetric) {
+ ServiceAlarm serviceAlarm = new ServiceAlarm(id + Const.ID_SPLIT + inputMetric.getServiceId());
+ serviceAlarm.setApplicationId(inputMetric.getApplicationId());
+ serviceAlarm.setInstanceId(inputMetric.getInstanceId());
+ serviceAlarm.setServiceId(inputMetric.getServiceId());
+ return serviceAlarm;
+ }
+
+ @Override protected Double calleeErrorRateThreshold() {
+ return serviceAlarmRuleConfig.calleeErrorRateThreshold();
+ }
+
+ @Override protected Double callerErrorRateThreshold() {
+ return serviceAlarmRuleConfig.callerErrorRateThreshold();
+ }
+
+ @Override protected Double calleeAverageResponseTimeThreshold() {
+ return serviceAlarmRuleConfig.calleeAverageResponseTimeThreshold();
+ }
+
+ @Override protected Double callerAverageResponseTimeThreshold() {
+ return serviceAlarmRuleConfig.callerAverageResponseTimeThreshold();
+ }
+
+ public static class Factory extends AlarmAssertWorkerProvider {
+
+ public Factory(ModuleManager moduleManager) {
+ super(moduleManager);
+ }
+
+ @Override public ServiceMetricAlarmAssertWorker workerInstance(ModuleManager moduleManager) {
+ return new ServiceMetricAlarmAssertWorker(moduleManager);
+ }
+
+ @Override
+ public int queueSize() {
+ return 1024;
+ }
+ }
+}
diff --git a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmGraph.java b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmGraph.java
new file mode 100644
index 000000000..acea92fdc
--- /dev/null
+++ b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmGraph.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.analysis.alarm.provider.worker.service;
+
+import org.apache.skywalking.apm.collector.analysis.alarm.define.graph.AlarmGraphIdDefine;
+import org.apache.skywalking.apm.collector.analysis.alarm.define.graph.AlarmWorkerIdDefine;
+import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricGraphIdDefine;
+import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine;
+import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerCreateListener;
+import org.apache.skywalking.apm.collector.core.graph.Graph;
+import org.apache.skywalking.apm.collector.core.graph.GraphManager;
+import org.apache.skywalking.apm.collector.core.graph.Next;
+import org.apache.skywalking.apm.collector.core.graph.NodeProcessor;
+import org.apache.skywalking.apm.collector.core.module.ModuleManager;
+import org.apache.skywalking.apm.collector.remote.RemoteModule;
+import org.apache.skywalking.apm.collector.remote.service.RemoteSenderService;
+import org.apache.skywalking.apm.collector.storage.table.alarm.ServiceAlarm;
+import org.apache.skywalking.apm.collector.storage.table.service.ServiceMetric;
+
+/**
+ * @author peng-yongsheng
+ */
+public class ServiceMetricAlarmGraph {
+
+ private final ModuleManager moduleManager;
+ private final WorkerCreateListener workerCreateListener;
+
+ public ServiceMetricAlarmGraph(ModuleManager moduleManager, WorkerCreateListener workerCreateListener) {
+ this.moduleManager = moduleManager;
+ this.workerCreateListener = workerCreateListener;
+ }
+
+ public void create() {
+ RemoteSenderService remoteSenderService = moduleManager.find(RemoteModule.NAME).getService(RemoteSenderService.class);
+
+ Graph graph = GraphManager.INSTANCE.createIfAbsent(AlarmGraphIdDefine.SERVICE_METRIC_TRANSFORM_GRAPH_ID, ServiceMetric.class);
+
+ graph.addNode(new ServiceMetricAlarmAssertWorker.Factory(moduleManager).create(workerCreateListener))
+ .addNext(new ServiceMetricAlarmRemoteWorker.Factory(moduleManager, remoteSenderService, AlarmGraphIdDefine.SERVICE_METRIC_TRANSFORM_GRAPH_ID).create(workerCreateListener))
+ .addNext(new ServiceMetricAlarmPersistenceWorker.Factory(moduleManager).create(workerCreateListener));
+
+ graph.toFinder().findNode(AlarmWorkerIdDefine.SERVICE_METRIC_ALARM_REMOTE_WORKER_ID, ServiceAlarm.class)
+ .addNext(new ServiceMetricAlarmToListNodeProcessor())
+ .addNext(new ServiceMetricAlarmListPersistenceWorker.Factory(moduleManager).create(workerCreateListener));
+
+ link(graph);
+ }
+
+ private void link(Graph graph) {
+ GraphManager.INSTANCE.findGraph(MetricGraphIdDefine.SERVICE_METRIC_GRAPH_ID, ServiceMetric.class)
+ .toFinder().findNode(MetricWorkerIdDefine.SERVICE_METRIC_PERSISTENCE_WORKER_ID, ServiceMetric.class)
+ .addNext(new NodeProcessor() {
+ @Override public int id() {
+ return AlarmWorkerIdDefine.SERVICE_METRIC_TRANSFORM_GRAPH_BRIDGE_WORKER_ID;
+ }
+
+ @Override public void process(ServiceMetric serviceMetric,
+ Next next) {
+ graph.start(serviceMetric);
+ }
+ });
+ }
+}
diff --git a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmListPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmListPersistenceWorker.java
new file mode 100644
index 000000000..3d16992de
--- /dev/null
+++ b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmListPersistenceWorker.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.analysis.alarm.provider.worker.service;
+
+import org.apache.skywalking.apm.collector.analysis.alarm.define.graph.AlarmWorkerIdDefine;
+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.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.IServiceAlarmListPersistenceDAO;
+import org.apache.skywalking.apm.collector.storage.table.alarm.ServiceAlarmList;
+
+/**
+ * @author peng-yongsheng
+ */
+public class ServiceMetricAlarmListPersistenceWorker extends PersistenceWorker {
+
+ public ServiceMetricAlarmListPersistenceWorker(ModuleManager moduleManager) {
+ super(moduleManager);
+ }
+
+ @Override public int id() {
+ return AlarmWorkerIdDefine.SERVICE_METRIC_ALARM_LIST_PERSISTENCE_WORKER_ID;
+ }
+
+ @Override protected boolean needMergeDBData() {
+ return true;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override protected IPersistenceDAO, ?, ServiceAlarmList> persistenceDAO() {
+ return getModuleManager().find(StorageModule.NAME).getService(IServiceAlarmListPersistenceDAO.class);
+ }
+
+ public static class Factory extends PersistenceWorkerProvider {
+ public Factory(ModuleManager moduleManager) {
+ super(moduleManager);
+ }
+
+ @Override public ServiceMetricAlarmListPersistenceWorker workerInstance(ModuleManager moduleManager) {
+ return new ServiceMetricAlarmListPersistenceWorker(moduleManager);
+ }
+
+ @Override
+ public int queueSize() {
+ return 1024;
+ }
+ }
+}
diff --git a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/AlertingListPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmPersistenceWorker.java
similarity index 62%
rename from apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/AlertingListPersistenceWorker.java
rename to apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmPersistenceWorker.java
index 0546a497d..96f7b6562 100644
--- a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/AlertingListPersistenceWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmPersistenceWorker.java
@@ -16,45 +16,46 @@
*
*/
-package org.apache.skywalking.apm.collector.analysis.alarm.provider.worker;
+package org.apache.skywalking.apm.collector.analysis.alarm.provider.worker.service;
-import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
+import org.apache.skywalking.apm.collector.analysis.alarm.define.graph.AlarmWorkerIdDefine;
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.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.IAlertingListPersistenceDAO;
-import org.apache.skywalking.apm.collector.storage.table.alerting.AlertingList;
+import org.apache.skywalking.apm.collector.storage.dao.IServiceAlarmPersistenceDAO;
+import org.apache.skywalking.apm.collector.storage.table.alarm.ServiceAlarm;
/**
* @author peng-yongsheng
*/
-public class AlertingListPersistenceWorker extends PersistenceWorker {
+public class ServiceMetricAlarmPersistenceWorker extends PersistenceWorker {
- public AlertingListPersistenceWorker(ModuleManager moduleManager) {
+ public ServiceMetricAlarmPersistenceWorker(ModuleManager moduleManager) {
super(moduleManager);
}
@Override public int id() {
- return 114;
+ return AlarmWorkerIdDefine.SERVICE_METRIC_ALARM_PERSISTENCE_WORKER_ID;
}
@Override protected boolean needMergeDBData() {
return true;
}
- @Override protected IPersistenceDAO persistenceDAO() {
- return getModuleManager().find(StorageModule.NAME).getService(IAlertingListPersistenceDAO.class);
+ @SuppressWarnings("unchecked")
+ @Override protected IPersistenceDAO, ?, ServiceAlarm> persistenceDAO() {
+ return getModuleManager().find(StorageModule.NAME).getService(IServiceAlarmPersistenceDAO.class);
}
- public static class Factory extends AbstractLocalAsyncWorkerProvider {
-
+ public static class Factory extends PersistenceWorkerProvider {
public Factory(ModuleManager moduleManager) {
super(moduleManager);
}
- @Override public AlertingListPersistenceWorker workerInstance(ModuleManager moduleManager) {
- return new AlertingListPersistenceWorker(moduleManager);
+ @Override public ServiceMetricAlarmPersistenceWorker workerInstance(ModuleManager moduleManager) {
+ return new ServiceMetricAlarmPersistenceWorker(moduleManager);
}
@Override
diff --git a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmRemoteWorker.java b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmRemoteWorker.java
new file mode 100644
index 000000000..538dd7553
--- /dev/null
+++ b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmRemoteWorker.java
@@ -0,0 +1,61 @@
+/*
+ * 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.analysis.alarm.provider.worker.service;
+
+import org.apache.skywalking.apm.collector.analysis.alarm.define.graph.AlarmWorkerIdDefine;
+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;
+import org.apache.skywalking.apm.collector.storage.table.alarm.ServiceAlarm;
+
+/**
+ * @author peng-yongsheng
+ */
+public class ServiceMetricAlarmRemoteWorker extends AbstractRemoteWorker {
+
+ public ServiceMetricAlarmRemoteWorker(ModuleManager moduleManager) {
+ super(moduleManager);
+ }
+
+ @Override public int id() {
+ return AlarmWorkerIdDefine.SERVICE_METRIC_ALARM_REMOTE_WORKER_ID;
+ }
+
+ @Override public Selector selector() {
+ return Selector.HashCode;
+ }
+
+ @Override protected void onWork(ServiceAlarm message) throws WorkerException {
+ onNext(message);
+ }
+
+ public static class Factory extends AbstractRemoteWorkerProvider {
+
+ public Factory(ModuleManager moduleManager, RemoteSenderService remoteSenderService, int graphId) {
+ super(moduleManager, remoteSenderService, graphId);
+ }
+
+ @Override public ServiceMetricAlarmRemoteWorker workerInstance(ModuleManager moduleManager) {
+ return new ServiceMetricAlarmRemoteWorker(moduleManager);
+ }
+ }
+}
diff --git a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmToListNodeProcessor.java b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmToListNodeProcessor.java
new file mode 100644
index 000000000..64f2a69dd
--- /dev/null
+++ b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/worker/service/ServiceMetricAlarmToListNodeProcessor.java
@@ -0,0 +1,52 @@
+/*
+ * 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.analysis.alarm.provider.worker.service;
+
+import org.apache.skywalking.apm.collector.analysis.alarm.define.graph.AlarmWorkerIdDefine;
+import org.apache.skywalking.apm.collector.core.graph.Next;
+import org.apache.skywalking.apm.collector.core.graph.NodeProcessor;
+import org.apache.skywalking.apm.collector.core.util.Const;
+import org.apache.skywalking.apm.collector.storage.table.alarm.ServiceAlarm;
+import org.apache.skywalking.apm.collector.storage.table.alarm.ServiceAlarmList;
+
+/**
+ * @author peng-yongsheng
+ */
+public class ServiceMetricAlarmToListNodeProcessor implements NodeProcessor {
+
+ @Override public int id() {
+ return AlarmWorkerIdDefine.SERVICE_METRIC_ALARM_TO_LIST_NODE_PROCESSOR_ID;
+ }
+
+ @Override public void process(ServiceAlarm serviceAlarm, Next next) {
+ String id = serviceAlarm.getLastTimeBucket() + Const.ID_SPLIT + serviceAlarm.getSourceValue()
+ + Const.ID_SPLIT + serviceAlarm.getAlarmType()
+ + Const.ID_SPLIT + serviceAlarm.getServiceId();
+
+ ServiceAlarmList serviceAlarmList = new ServiceAlarmList(id);
+ serviceAlarmList.setApplicationId(serviceAlarm.getApplicationId());
+ serviceAlarmList.setInstanceId(serviceAlarm.getInstanceId());
+ serviceAlarmList.setServiceId(serviceAlarm.getServiceId());
+ serviceAlarmList.setSourceValue(serviceAlarm.getSourceValue());
+ serviceAlarmList.setAlarmType(serviceAlarm.getAlarmType());
+ serviceAlarmList.setTimeBucket(serviceAlarm.getLastTimeBucket());
+ serviceAlarmList.setAlarmContent(serviceAlarm.getAlarmContent());
+ next.execute(serviceAlarmList);
+ }
+}
diff --git a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/resources/META-INF/services/org.apache.skywalking.apm.collector.core.module.ModuleProvider b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/resources/META-INF/services/org.apache.skywalking.apm.collector.core.module.ModuleProvider
index 2adafe72c..ec63fccad 100644
--- a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/resources/META-INF/services/org.apache.skywalking.apm.collector.core.module.ModuleProvider
+++ b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/resources/META-INF/services/org.apache.skywalking.apm.collector.core.module.ModuleProvider
@@ -16,23 +16,4 @@
#
#
-#
-# 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.
-#
-#
-
-
-org.apache.skywalking.apm.collector.analysis.alarm.provider.AlertingModuleProvider
+org.apache.skywalking.apm.collector.analysis.alarm.provider.AnalysisAlarmModuleProvider
\ No newline at end of file
diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/CpuMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/CpuMetricPersistenceWorker.java
index 1ec5ae9f8..402d222ee 100644
--- a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/CpuMetricPersistenceWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/CpuMetricPersistenceWorker.java
@@ -19,8 +19,8 @@
package org.apache.skywalking.apm.collector.analysis.jvm.provider.worker;
import org.apache.skywalking.apm.collector.analysis.jvm.define.graph.WorkerIdDefine;
-import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
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.module.ModuleManager;
import org.apache.skywalking.apm.collector.storage.StorageModule;
import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
@@ -30,7 +30,7 @@ import org.apache.skywalking.apm.collector.storage.table.jvm.CpuMetric;
/**
* @author peng-yongsheng
*/
-public class CpuMetricPersistenceWorker extends PersistenceWorker {
+public class CpuMetricPersistenceWorker extends PersistenceWorker {
public CpuMetricPersistenceWorker(ModuleManager moduleManager) {
super(moduleManager);
@@ -44,11 +44,12 @@ public class CpuMetricPersistenceWorker extends PersistenceWorker persistenceDAO() {
return getModuleManager().find(StorageModule.NAME).getService(ICpuMetricPersistenceDAO.class);
}
- public static class Factory extends AbstractLocalAsyncWorkerProvider {
+ public static class Factory extends PersistenceWorkerProvider {
public Factory(ModuleManager moduleManager) {
super(moduleManager);
diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/GCMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/GCMetricPersistenceWorker.java
index 2e08e6677..b19eff2d9 100644
--- a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/GCMetricPersistenceWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/GCMetricPersistenceWorker.java
@@ -19,8 +19,8 @@
package org.apache.skywalking.apm.collector.analysis.jvm.provider.worker;
import org.apache.skywalking.apm.collector.analysis.jvm.define.graph.WorkerIdDefine;
-import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
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.module.ModuleManager;
import org.apache.skywalking.apm.collector.storage.StorageModule;
import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
@@ -30,7 +30,7 @@ import org.apache.skywalking.apm.collector.storage.table.jvm.GCMetric;
/**
* @author peng-yongsheng
*/
-public class GCMetricPersistenceWorker extends PersistenceWorker {
+public class GCMetricPersistenceWorker extends PersistenceWorker {
public GCMetricPersistenceWorker(ModuleManager moduleManager) {
super(moduleManager);
@@ -44,11 +44,12 @@ public class GCMetricPersistenceWorker extends PersistenceWorker persistenceDAO() {
return getModuleManager().find(StorageModule.NAME).getService(IGCMetricPersistenceDAO.class);
}
- public static class Factory extends AbstractLocalAsyncWorkerProvider {
+ public static class Factory extends PersistenceWorkerProvider {
public Factory(ModuleManager moduleManager) {
super(moduleManager);
diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/InstHeartBeatPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/InstHeartBeatPersistenceWorker.java
index 28491e81f..b8bacc2c0 100644
--- a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/InstHeartBeatPersistenceWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/InstHeartBeatPersistenceWorker.java
@@ -19,8 +19,8 @@
package org.apache.skywalking.apm.collector.analysis.jvm.provider.worker;
import org.apache.skywalking.apm.collector.analysis.jvm.define.graph.WorkerIdDefine;
-import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
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.module.ModuleManager;
import org.apache.skywalking.apm.collector.storage.StorageModule;
import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
@@ -30,7 +30,7 @@ import org.apache.skywalking.apm.collector.storage.table.register.Instance;
/**
* @author peng-yongsheng
*/
-public class InstHeartBeatPersistenceWorker extends PersistenceWorker {
+public class InstHeartBeatPersistenceWorker extends PersistenceWorker {
public InstHeartBeatPersistenceWorker(ModuleManager moduleManager) {
super(moduleManager);
@@ -44,11 +44,12 @@ public class InstHeartBeatPersistenceWorker extends PersistenceWorker persistenceDAO() {
return getModuleManager().find(StorageModule.NAME).getService(IInstanceHeartBeatPersistenceDAO.class);
}
- public static class Factory extends AbstractLocalAsyncWorkerProvider {
+ public static class Factory extends PersistenceWorkerProvider {
public Factory(ModuleManager moduleManager) {
super(moduleManager);
diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/MemoryMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/MemoryMetricPersistenceWorker.java
index 3f2cac647..c09a37d07 100644
--- a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/MemoryMetricPersistenceWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/MemoryMetricPersistenceWorker.java
@@ -19,8 +19,8 @@
package org.apache.skywalking.apm.collector.analysis.jvm.provider.worker;
import org.apache.skywalking.apm.collector.analysis.jvm.define.graph.WorkerIdDefine;
-import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
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.module.ModuleManager;
import org.apache.skywalking.apm.collector.storage.StorageModule;
import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
@@ -30,7 +30,7 @@ import org.apache.skywalking.apm.collector.storage.table.jvm.MemoryMetric;
/**
* @author peng-yongsheng
*/
-public class MemoryMetricPersistenceWorker extends PersistenceWorker {
+public class MemoryMetricPersistenceWorker extends PersistenceWorker {
public MemoryMetricPersistenceWorker(ModuleManager moduleManager) {
super(moduleManager);
@@ -44,11 +44,12 @@ public class MemoryMetricPersistenceWorker extends PersistenceWorker persistenceDAO() {
return getModuleManager().find(StorageModule.NAME).getService(IMemoryMetricPersistenceDAO.class);
}
- public static class Factory extends AbstractLocalAsyncWorkerProvider {
+ public static class Factory extends PersistenceWorkerProvider {
public Factory(ModuleManager moduleManager) {
super(moduleManager);
diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/MemoryPoolMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/MemoryPoolMetricPersistenceWorker.java
index 83e5766c5..13e346f09 100644
--- a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/MemoryPoolMetricPersistenceWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/worker/MemoryPoolMetricPersistenceWorker.java
@@ -19,8 +19,8 @@
package org.apache.skywalking.apm.collector.analysis.jvm.provider.worker;
import org.apache.skywalking.apm.collector.analysis.jvm.define.graph.WorkerIdDefine;
-import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
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.module.ModuleManager;
import org.apache.skywalking.apm.collector.storage.StorageModule;
import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
@@ -30,7 +30,7 @@ import org.apache.skywalking.apm.collector.storage.table.jvm.MemoryPoolMetric;
/**
* @author peng-yongsheng
*/
-public class MemoryPoolMetricPersistenceWorker extends PersistenceWorker {
+public class MemoryPoolMetricPersistenceWorker extends PersistenceWorker {
@Override public int id() {
return WorkerIdDefine.MEMORY_POOL_METRIC_PERSISTENCE_WORKER_ID;
@@ -44,11 +44,12 @@ public class MemoryPoolMetricPersistenceWorker extends PersistenceWorker persistenceDAO() {
return getModuleManager().find(StorageModule.NAME).getService(IMemoryPoolMetricPersistenceDAO.class);
}
- public static class Factory extends AbstractLocalAsyncWorkerProvider {
+ public static class Factory extends PersistenceWorkerProvider {
public Factory(ModuleManager moduleManager) {
super(moduleManager);
diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/MetricSource.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-define/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/define/MetricSource.java
similarity index 77%
rename from apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/MetricSource.java
rename to apm-collector/apm-collector-analysis/analysis-metric/metric-define/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/define/MetricSource.java
index f65969627..7757e13ec 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/MetricSource.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-define/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/define/MetricSource.java
@@ -16,12 +16,21 @@
*
*/
-
-package org.apache.skywalking.apm.collector.analysis.metric.provider.worker;
+package org.apache.skywalking.apm.collector.analysis.metric.define;
/**
* @author peng-yongsheng
*/
public enum MetricSource {
- Exit, Entry
+ Caller(0), Callee(1);
+
+ private final int value;
+
+ private MetricSource(int value) {
+ this.value = value;
+ }
+
+ public int getValue() {
+ return value;
+ }
}
diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-define/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/define/graph/GraphIdDefine.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-define/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/define/graph/MetricGraphIdDefine.java
similarity index 97%
rename from apm-collector/apm-collector-analysis/analysis-metric/metric-define/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/define/graph/GraphIdDefine.java
rename to apm-collector/apm-collector-analysis/analysis-metric/metric-define/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/define/graph/MetricGraphIdDefine.java
index 356742db4..887a8c44c 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-define/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/define/graph/GraphIdDefine.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-define/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/define/graph/MetricGraphIdDefine.java
@@ -21,7 +21,7 @@ package org.apache.skywalking.apm.collector.analysis.metric.define.graph;
/**
* @author peng-yongsheng
*/
-public class GraphIdDefine {
+public class MetricGraphIdDefine {
public static final int SERVICE_REFERENCE_METRIC_GRAPH_ID = 400;
public static final int INSTANCE_REFERENCE_METRIC_GRAPH_ID = 401;
public static final int APPLICATION_REFERENCE_METRIC_GRAPH_ID = 402;
diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-define/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/define/graph/WorkerIdDefine.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-define/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/define/graph/MetricWorkerIdDefine.java
similarity index 98%
rename from apm-collector/apm-collector-analysis/analysis-metric/metric-define/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/define/graph/WorkerIdDefine.java
rename to apm-collector/apm-collector-analysis/analysis-metric/metric-define/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/define/graph/MetricWorkerIdDefine.java
index e2877d83a..7ea94d831 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-define/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/define/graph/WorkerIdDefine.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-define/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/define/graph/MetricWorkerIdDefine.java
@@ -21,7 +21,7 @@ package org.apache.skywalking.apm.collector.analysis.metric.define.graph;
/**
* @author peng-yongsheng
*/
-public class WorkerIdDefine {
+public class MetricWorkerIdDefine {
public static final int SERVICE_REFERENCE_METRIC_AGGREGATION_WORKER_ID = 400;
public static final int SERVICE_REFERENCE_METRIC_REMOTE_WORKER_ID = 401;
public static final int SERVICE_REFERENCE_METRIC_PERSISTENCE_WORKER_ID = 402;
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/ApplicationComponentAggregationWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationComponentAggregationWorker.java
index 6dfac7a4e..fb9a22521 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationComponentAggregationWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationComponentAggregationWorker.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.application;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
+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.impl.AggregationWorker;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
@@ -34,7 +34,7 @@ public class ApplicationComponentAggregationWorker extends AggregationWorker {
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/ApplicationComponentGraph.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationComponentGraph.java
index d274a8a0d..faa58e49d 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationComponentGraph.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationComponentGraph.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.application;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.GraphIdDefine;
+import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricGraphIdDefine;
import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerCreateListener;
import org.apache.skywalking.apm.collector.core.graph.GraphManager;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
@@ -42,9 +42,9 @@ public class ApplicationComponentGraph {
public void create() {
RemoteSenderService remoteSenderService = moduleManager.find(RemoteModule.NAME).getService(RemoteSenderService.class);
- GraphManager.INSTANCE.createIfAbsent(GraphIdDefine.APPLICATION_COMPONENT_GRAPH_ID, ApplicationComponent.class)
+ GraphManager.INSTANCE.createIfAbsent(MetricGraphIdDefine.APPLICATION_COMPONENT_GRAPH_ID, ApplicationComponent.class)
.addNode(new ApplicationComponentAggregationWorker.Factory(moduleManager).create(workerCreateListener))
- .addNext(new ApplicationComponentRemoteWorker.Factory(moduleManager, remoteSenderService, GraphIdDefine.APPLICATION_COMPONENT_GRAPH_ID).create(workerCreateListener))
+ .addNext(new ApplicationComponentRemoteWorker.Factory(moduleManager, remoteSenderService, MetricGraphIdDefine.APPLICATION_COMPONENT_GRAPH_ID).create(workerCreateListener))
.addNext(new ApplicationComponentPersistenceWorker.Factory(moduleManager).create(workerCreateListener));
}
}
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/ApplicationComponentPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationComponentPersistenceWorker.java
index a1e23a0c7..d25641126 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationComponentPersistenceWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationComponentPersistenceWorker.java
@@ -18,9 +18,9 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.application;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
-import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
+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.module.ModuleManager;
import org.apache.skywalking.apm.collector.storage.StorageModule;
import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
@@ -30,25 +30,26 @@ import org.apache.skywalking.apm.collector.storage.table.application.Application
/**
* @author peng-yongsheng
*/
-public class ApplicationComponentPersistenceWorker extends PersistenceWorker {
+public class ApplicationComponentPersistenceWorker extends PersistenceWorker {
public ApplicationComponentPersistenceWorker(ModuleManager moduleManager) {
super(moduleManager);
}
@Override public int id() {
- return WorkerIdDefine.APPLICATION_COMPONENT_PERSISTENCE_WORKER_ID;
+ return MetricWorkerIdDefine.APPLICATION_COMPONENT_PERSISTENCE_WORKER_ID;
}
@Override protected boolean needMergeDBData() {
return true;
}
- @Override protected IPersistenceDAO persistenceDAO() {
+ @SuppressWarnings("unchecked")
+ @Override protected IPersistenceDAO, ?, ApplicationComponent> persistenceDAO() {
return getModuleManager().find(StorageModule.NAME).getService(IApplicationComponentPersistenceDAO.class);
}
- public static class Factory extends AbstractLocalAsyncWorkerProvider {
+ public static class Factory extends PersistenceWorkerProvider {
public Factory(ModuleManager moduleManager) {
super(moduleManager);
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/ApplicationComponentRemoteWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationComponentRemoteWorker.java
index 2190876dd..5d3cb9af1 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationComponentRemoteWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationComponentRemoteWorker.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.application;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
+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;
@@ -37,7 +37,7 @@ public class ApplicationComponentRemoteWorker extends AbstractRemoteWorker graph = GraphManager.INSTANCE.findGraph(GraphIdDefine.APPLICATION_COMPONENT_GRAPH_ID, ApplicationComponent.class);
+ Graph graph = GraphManager.INSTANCE.findGraph(MetricGraphIdDefine.APPLICATION_COMPONENT_GRAPH_ID, ApplicationComponent.class);
applicationComponents.forEach(applicationComponent -> {
applicationComponent.setId(timeBucket + Const.ID_SPLIT + applicationComponent.getId());
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/ApplicationMappingAggregationWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationMappingAggregationWorker.java
index b56c99d04..d847e8033 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationMappingAggregationWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationMappingAggregationWorker.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.application;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
+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.impl.AggregationWorker;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
@@ -34,7 +34,7 @@ public class ApplicationMappingAggregationWorker extends AggregationWorker {
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/ApplicationMappingGraph.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationMappingGraph.java
index f87d9cd02..ec93dcaa5 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationMappingGraph.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationMappingGraph.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.application;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.GraphIdDefine;
+import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricGraphIdDefine;
import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerCreateListener;
import org.apache.skywalking.apm.collector.core.graph.GraphManager;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
@@ -42,9 +42,9 @@ public class ApplicationMappingGraph {
public void create() {
RemoteSenderService remoteSenderService = moduleManager.find(RemoteModule.NAME).getService(RemoteSenderService.class);
- GraphManager.INSTANCE.createIfAbsent(GraphIdDefine.APPLICATION_MAPPING_GRAPH_ID, ApplicationMapping.class)
+ GraphManager.INSTANCE.createIfAbsent(MetricGraphIdDefine.APPLICATION_MAPPING_GRAPH_ID, ApplicationMapping.class)
.addNode(new ApplicationMappingAggregationWorker.Factory(moduleManager).create(workerCreateListener))
- .addNext(new ApplicationMappingRemoteWorker.Factory(moduleManager, remoteSenderService, GraphIdDefine.APPLICATION_MAPPING_GRAPH_ID).create(workerCreateListener))
+ .addNext(new ApplicationMappingRemoteWorker.Factory(moduleManager, remoteSenderService, MetricGraphIdDefine.APPLICATION_MAPPING_GRAPH_ID).create(workerCreateListener))
.addNext(new ApplicationMappingPersistenceWorker.Factory(moduleManager).create(workerCreateListener));
}
}
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/ApplicationMappingPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationMappingPersistenceWorker.java
index 8e2d2ced2..07a98d4bf 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationMappingPersistenceWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationMappingPersistenceWorker.java
@@ -18,9 +18,9 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.application;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
-import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
+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.module.ModuleManager;
import org.apache.skywalking.apm.collector.storage.StorageModule;
import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
@@ -30,25 +30,26 @@ import org.apache.skywalking.apm.collector.storage.table.application.Application
/**
* @author peng-yongsheng
*/
-public class ApplicationMappingPersistenceWorker extends PersistenceWorker {
+public class ApplicationMappingPersistenceWorker extends PersistenceWorker {
ApplicationMappingPersistenceWorker(ModuleManager moduleManager) {
super(moduleManager);
}
@Override public int id() {
- return WorkerIdDefine.APPLICATION_MAPPING_PERSISTENCE_WORKER_ID;
+ return MetricWorkerIdDefine.APPLICATION_MAPPING_PERSISTENCE_WORKER_ID;
}
@Override protected boolean needMergeDBData() {
return true;
}
- @Override protected IPersistenceDAO persistenceDAO() {
+ @SuppressWarnings("unchecked")
+ @Override protected IPersistenceDAO, ?, ApplicationMapping> persistenceDAO() {
return getModuleManager().find(StorageModule.NAME).getService(IApplicationMappingPersistenceDAO.class);
}
- public static class Factory extends AbstractLocalAsyncWorkerProvider {
+ public static class Factory extends PersistenceWorkerProvider {
public Factory(ModuleManager moduleManager) {
super(moduleManager);
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/ApplicationMappingRemoteWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationMappingRemoteWorker.java
index 9ac4faeec..90e39eb1e 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationMappingRemoteWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationMappingRemoteWorker.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.application;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
+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;
@@ -37,7 +37,7 @@ public class ApplicationMappingRemoteWorker extends AbstractRemoteWorker graph = GraphManager.INSTANCE.findGraph(GraphIdDefine.APPLICATION_MAPPING_GRAPH_ID, ApplicationMapping.class);
+ Graph graph = GraphManager.INSTANCE.findGraph(MetricGraphIdDefine.APPLICATION_MAPPING_GRAPH_ID, ApplicationMapping.class);
applicationMappings.forEach(applicationMapping -> {
applicationMapping.setId(timeBucket + Const.ID_SPLIT + applicationMapping.getId());
applicationMapping.setTimeBucket(timeBucket);
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/ApplicationMetricAggregationWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationMetricAggregationWorker.java
index 98364e00b..66dc47b50 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationMetricAggregationWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationMetricAggregationWorker.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.application;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
+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.impl.AggregationWorker;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
@@ -36,7 +36,7 @@ public class ApplicationMetricAggregationWorker extends AggregationWorker {
+public class ApplicationMetricPersistenceWorker extends PersistenceWorker {
public ApplicationMetricPersistenceWorker(ModuleManager moduleManager) {
super(moduleManager);
}
@Override public int id() {
- return WorkerIdDefine.APPLICATION_METRIC_PERSISTENCE_WORKER_ID;
+ return MetricWorkerIdDefine.APPLICATION_METRIC_PERSISTENCE_WORKER_ID;
}
- @Override protected IPersistenceDAO persistenceDAO() {
+ @SuppressWarnings("unchecked")
+ @Override protected IPersistenceDAO, ?, ApplicationMetric> persistenceDAO() {
return getModuleManager().find(StorageModule.NAME).getService(IApplicationMetricPersistenceDAO.class);
}
@@ -48,7 +49,7 @@ public class ApplicationMetricPersistenceWorker extends PersistenceWorker {
+ public static class Factory extends PersistenceWorkerProvider {
public Factory(ModuleManager moduleManager) {
super(moduleManager);
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/ApplicationMetricRemoteWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationMetricRemoteWorker.java
index 9748626ae..543d5fbc0 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationMetricRemoteWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationMetricRemoteWorker.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.application;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
+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;
@@ -37,7 +37,7 @@ public class ApplicationMetricRemoteWorker extends AbstractRemoteWorker graph = GraphManager.INSTANCE.createIfAbsent(GraphIdDefine.APPLICATION_REFERENCE_METRIC_GRAPH_ID, InstanceReferenceMetric.class);
+ Graph graph = GraphManager.INSTANCE.createIfAbsent(MetricGraphIdDefine.APPLICATION_REFERENCE_METRIC_GRAPH_ID, InstanceReferenceMetric.class);
graph.addNode(new ApplicationReferenceMetricAggregationWorker.Factory(moduleManager).create(workerCreateListener))
- .addNext(new ApplicationReferenceMetricRemoteWorker.Factory(moduleManager, remoteSenderService, GraphIdDefine.APPLICATION_REFERENCE_METRIC_GRAPH_ID).create(workerCreateListener))
+ .addNext(new ApplicationReferenceMetricRemoteWorker.Factory(moduleManager, remoteSenderService, MetricGraphIdDefine.APPLICATION_REFERENCE_METRIC_GRAPH_ID).create(workerCreateListener))
.addNext(new ApplicationReferenceMetricPersistenceWorker.Factory(moduleManager).create(workerCreateListener));
link(graph);
}
private void link(Graph graph) {
- GraphManager.INSTANCE.findGraph(GraphIdDefine.INSTANCE_REFERENCE_METRIC_GRAPH_ID, InstanceReferenceMetric.class)
- .toFinder().findNode(WorkerIdDefine.INSTANCE_REFERENCE_METRIC_AGGREGATION_WORKER_ID, InstanceReferenceMetric.class)
+ GraphManager.INSTANCE.findGraph(MetricGraphIdDefine.INSTANCE_REFERENCE_METRIC_GRAPH_ID, InstanceReferenceMetric.class)
+ .toFinder().findNode(MetricWorkerIdDefine.INSTANCE_REFERENCE_METRIC_AGGREGATION_WORKER_ID, InstanceReferenceMetric.class)
.addNext(new NodeProcessor() {
@Override public int id() {
- return WorkerIdDefine.APPLICATION_REFERENCE_GRAPH_BRIDGE_WORKER_ID;
+ return MetricWorkerIdDefine.APPLICATION_REFERENCE_GRAPH_BRIDGE_WORKER_ID;
}
@Override public void process(InstanceReferenceMetric 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/application/ApplicationReferenceMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationReferenceMetricPersistenceWorker.java
index faa6127b2..7adf649ac 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationReferenceMetricPersistenceWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationReferenceMetricPersistenceWorker.java
@@ -18,9 +18,9 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.application;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
-import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
+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.module.ModuleManager;
import org.apache.skywalking.apm.collector.storage.StorageModule;
import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
@@ -30,25 +30,26 @@ import org.apache.skywalking.apm.collector.storage.table.application.Application
/**
* @author peng-yongsheng
*/
-public class ApplicationReferenceMetricPersistenceWorker extends PersistenceWorker {
+public class ApplicationReferenceMetricPersistenceWorker extends PersistenceWorker {
public ApplicationReferenceMetricPersistenceWorker(ModuleManager moduleManager) {
super(moduleManager);
}
@Override public int id() {
- return WorkerIdDefine.APPLICATION_REFERENCE_METRIC_PERSISTENCE_WORKER_ID;
+ return MetricWorkerIdDefine.APPLICATION_REFERENCE_METRIC_PERSISTENCE_WORKER_ID;
}
@Override protected boolean needMergeDBData() {
return true;
}
- @Override protected IPersistenceDAO persistenceDAO() {
+ @SuppressWarnings("unchecked")
+ @Override protected IPersistenceDAO, ?, ApplicationReferenceMetric> persistenceDAO() {
return getModuleManager().find(StorageModule.NAME).getService(IApplicationReferenceMetricPersistenceDAO.class);
}
- public static class Factory extends AbstractLocalAsyncWorkerProvider {
+ public static class Factory extends PersistenceWorkerProvider {
public Factory(ModuleManager moduleManager) {
super(moduleManager);
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/ApplicationReferenceMetricRemoteWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationReferenceMetricRemoteWorker.java
index 51994a1ed..ed8f9c80b 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationReferenceMetricRemoteWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/application/ApplicationReferenceMetricRemoteWorker.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.application;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
+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;
@@ -37,7 +37,7 @@ public class ApplicationReferenceMetricRemoteWorker extends AbstractRemoteWorker
}
@Override public int id() {
- return WorkerIdDefine.APPLICATION_REFERENCE_METRIC_REMOTE_WORKER_ID;
+ return MetricWorkerIdDefine.APPLICATION_REFERENCE_METRIC_REMOTE_WORKER_ID;
}
@Override protected void onWork(ApplicationReferenceMetric applicationReferenceMetric) throws WorkerException {
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/GlobalTraceGraph.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/global/GlobalTraceGraph.java
index 2188b1655..d2579ab27 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/global/GlobalTraceGraph.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/global/GlobalTraceGraph.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.global;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.GraphIdDefine;
+import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricGraphIdDefine;
import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerCreateListener;
import org.apache.skywalking.apm.collector.core.graph.GraphManager;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
@@ -38,7 +38,7 @@ public class GlobalTraceGraph {
}
public void create() {
- GraphManager.INSTANCE.createIfAbsent(GraphIdDefine.GLOBAL_TRACE_GRAPH_ID, GlobalTrace.class)
+ GraphManager.INSTANCE.createIfAbsent(MetricGraphIdDefine.GLOBAL_TRACE_GRAPH_ID, GlobalTrace.class)
.addNode(new GlobalTracePersistenceWorker.Factory(moduleManager).create(workerCreateListener));
}
}
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 ad4fdff7d..bb4bd6472 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
@@ -18,9 +18,9 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.global;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
-import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
+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.module.ModuleManager;
import org.apache.skywalking.apm.collector.storage.StorageModule;
import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
@@ -30,25 +30,26 @@ import org.apache.skywalking.apm.collector.storage.table.global.GlobalTrace;
/**
* @author peng-yongsheng
*/
-public class GlobalTracePersistenceWorker extends PersistenceWorker {
+public class GlobalTracePersistenceWorker extends PersistenceWorker {
public GlobalTracePersistenceWorker(ModuleManager moduleManager) {
super(moduleManager);
}
@Override public int id() {
- return WorkerIdDefine.GLOBAL_TRACE_PERSISTENCE_WORKER_ID;
+ return MetricWorkerIdDefine.GLOBAL_TRACE_PERSISTENCE_WORKER_ID;
}
@Override protected boolean needMergeDBData() {
return false;
}
- @Override protected IPersistenceDAO persistenceDAO() {
+ @SuppressWarnings("unchecked")
+ @Override protected IPersistenceDAO, ?, GlobalTrace> persistenceDAO() {
return getModuleManager().find(StorageModule.NAME).getService(IGlobalTracePersistenceDAO.class);
}
- public static class Factory extends AbstractLocalAsyncWorkerProvider {
+ public static class Factory extends PersistenceWorkerProvider {
public Factory(ModuleManager moduleManager) {
super(moduleManager);
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/GlobalTraceSpanListener.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/global/GlobalTraceSpanListener.java
index 1a794e0ca..c5239945f 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/global/GlobalTraceSpanListener.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/global/GlobalTraceSpanListener.java
@@ -20,7 +20,7 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.glob
import java.util.ArrayList;
import java.util.List;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.GraphIdDefine;
+import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricGraphIdDefine;
import org.apache.skywalking.apm.collector.analysis.segment.parser.define.decorator.SpanDecorator;
import org.apache.skywalking.apm.collector.analysis.segment.parser.define.listener.FirstSpanListener;
import org.apache.skywalking.apm.collector.analysis.segment.parser.define.listener.GlobalTraceIdsListener;
@@ -69,7 +69,7 @@ public class GlobalTraceSpanListener implements FirstSpanListener, GlobalTraceId
@Override public void build() {
logger.debug("global trace listener build");
- Graph graph = GraphManager.INSTANCE.findGraph(GraphIdDefine.GLOBAL_TRACE_GRAPH_ID, GlobalTrace.class);
+ Graph graph = GraphManager.INSTANCE.findGraph(MetricGraphIdDefine.GLOBAL_TRACE_GRAPH_ID, GlobalTrace.class);
for (String globalTraceId : globalTraceIds) {
GlobalTrace globalTrace = new GlobalTrace(segmentId + Const.ID_SPLIT + globalTraceId);
globalTrace.setGlobalTraceId(globalTraceId);
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/InstanceMetricAggregationWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/InstanceMetricAggregationWorker.java
index d9c295177..569c97293 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/InstanceMetricAggregationWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/InstanceMetricAggregationWorker.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.instance;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
+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.impl.AggregationWorker;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
@@ -36,7 +36,7 @@ public class InstanceMetricAggregationWorker extends AggregationWorker graph = GraphManager.INSTANCE.createIfAbsent(GraphIdDefine.INSTANCE_METRIC_GRAPH_ID, InstanceReferenceMetric.class);
+ Graph graph = GraphManager.INSTANCE.createIfAbsent(MetricGraphIdDefine.INSTANCE_METRIC_GRAPH_ID, InstanceReferenceMetric.class);
graph.addNode(new InstanceMetricAggregationWorker.Factory(moduleManager).create(workerCreateListener))
- .addNext(new InstanceMetricRemoteWorker.Factory(moduleManager, remoteSenderService, GraphIdDefine.INSTANCE_METRIC_GRAPH_ID).create(workerCreateListener))
+ .addNext(new InstanceMetricRemoteWorker.Factory(moduleManager, remoteSenderService, MetricGraphIdDefine.INSTANCE_METRIC_GRAPH_ID).create(workerCreateListener))
.addNext(new InstanceMetricPersistenceWorker.Factory(moduleManager).create(workerCreateListener));
link(graph);
}
private void link(Graph graph) {
- GraphManager.INSTANCE.findGraph(GraphIdDefine.INSTANCE_REFERENCE_METRIC_GRAPH_ID, InstanceReferenceMetric.class)
- .toFinder().findNode(WorkerIdDefine.INSTANCE_REFERENCE_METRIC_AGGREGATION_WORKER_ID, InstanceReferenceMetric.class)
+ GraphManager.INSTANCE.findGraph(MetricGraphIdDefine.INSTANCE_REFERENCE_METRIC_GRAPH_ID, InstanceReferenceMetric.class)
+ .toFinder().findNode(MetricWorkerIdDefine.INSTANCE_REFERENCE_METRIC_AGGREGATION_WORKER_ID, InstanceReferenceMetric.class)
.addNext(new NodeProcessor() {
@Override public int id() {
- return WorkerIdDefine.INSTANCE_METRIC_GRAPH_BRIDGE_WORKER_ID;
+ return MetricWorkerIdDefine.INSTANCE_METRIC_GRAPH_BRIDGE_WORKER_ID;
}
@Override
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/InstanceMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/InstanceMetricPersistenceWorker.java
index 7f154df42..7aad31f3b 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/InstanceMetricPersistenceWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/InstanceMetricPersistenceWorker.java
@@ -18,9 +18,9 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.instance;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
-import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
+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.module.ModuleManager;
import org.apache.skywalking.apm.collector.storage.StorageModule;
import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
@@ -30,25 +30,26 @@ import org.apache.skywalking.apm.collector.storage.table.instance.InstanceMetric
/**
* @author peng-yongsheng
*/
-public class InstanceMetricPersistenceWorker extends PersistenceWorker {
+public class InstanceMetricPersistenceWorker extends PersistenceWorker {
public InstanceMetricPersistenceWorker(ModuleManager moduleManager) {
super(moduleManager);
}
@Override public int id() {
- return WorkerIdDefine.INSTANCE_METRIC_PERSISTENCE_WORKER_ID;
+ return MetricWorkerIdDefine.INSTANCE_METRIC_PERSISTENCE_WORKER_ID;
}
@Override protected boolean needMergeDBData() {
return true;
}
- @Override protected IPersistenceDAO persistenceDAO() {
+ @SuppressWarnings("unchecked")
+ @Override protected IPersistenceDAO, ?, InstanceMetric> persistenceDAO() {
return getModuleManager().find(StorageModule.NAME).getService(IInstanceMetricPersistenceDAO.class);
}
- public static class Factory extends AbstractLocalAsyncWorkerProvider {
+ public static class Factory extends PersistenceWorkerProvider {
public Factory(ModuleManager moduleManager) {
super(moduleManager);
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/InstanceMetricRemoteWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/InstanceMetricRemoteWorker.java
index bd500340f..c91a96f40 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/InstanceMetricRemoteWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/InstanceMetricRemoteWorker.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.instance;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
+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;
@@ -37,7 +37,7 @@ public class InstanceMetricRemoteWorker extends AbstractRemoteWorker graph = GraphManager.INSTANCE.createIfAbsent(GraphIdDefine.INSTANCE_REFERENCE_METRIC_GRAPH_ID, ServiceReferenceMetric.class);
+ Graph graph = GraphManager.INSTANCE.createIfAbsent(MetricGraphIdDefine.INSTANCE_REFERENCE_METRIC_GRAPH_ID, ServiceReferenceMetric.class);
graph.addNode(new InstanceReferenceMetricAggregationWorker.Factory(moduleManager).create(workerCreateListener))
- .addNext(new InstanceReferenceMetricRemoteWorker.Factory(moduleManager, remoteSenderService, GraphIdDefine.INSTANCE_REFERENCE_METRIC_GRAPH_ID).create(workerCreateListener))
+ .addNext(new InstanceReferenceMetricRemoteWorker.Factory(moduleManager, remoteSenderService, MetricGraphIdDefine.INSTANCE_REFERENCE_METRIC_GRAPH_ID).create(workerCreateListener))
.addNext(new InstanceReferencePersistenceWorker.Factory(moduleManager).create(workerCreateListener));
link(graph);
}
private void link(Graph graph) {
- GraphManager.INSTANCE.findGraph(GraphIdDefine.SERVICE_REFERENCE_METRIC_GRAPH_ID, ServiceReferenceMetric.class)
- .toFinder().findNode(WorkerIdDefine.SERVICE_REFERENCE_METRIC_AGGREGATION_WORKER_ID, ServiceReferenceMetric.class)
+ GraphManager.INSTANCE.findGraph(MetricGraphIdDefine.SERVICE_REFERENCE_METRIC_GRAPH_ID, ServiceReferenceMetric.class)
+ .toFinder().findNode(MetricWorkerIdDefine.SERVICE_REFERENCE_METRIC_AGGREGATION_WORKER_ID, ServiceReferenceMetric.class)
.addNext(new NodeProcessor() {
@Override public int id() {
- return WorkerIdDefine.INSTANCE_REFERENCE_GRAPH_BRIDGE_WORKER_ID;
+ return MetricWorkerIdDefine.INSTANCE_REFERENCE_GRAPH_BRIDGE_WORKER_ID;
}
@Override
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/InstanceReferenceMetricRemoteWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/InstanceReferenceMetricRemoteWorker.java
index d21f44b6b..dce688579 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/InstanceReferenceMetricRemoteWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/instance/InstanceReferenceMetricRemoteWorker.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.instance;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
+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;
@@ -37,7 +37,7 @@ public class InstanceReferenceMetricRemoteWorker extends AbstractRemoteWorker {
+public class InstanceReferencePersistenceWorker extends PersistenceWorker {
public InstanceReferencePersistenceWorker(ModuleManager moduleManager) {
super(moduleManager);
}
@Override public int id() {
- return WorkerIdDefine.INSTANCE_REFERENCE_METRIC_PERSISTENCE_WORKER_ID;
+ return MetricWorkerIdDefine.INSTANCE_REFERENCE_METRIC_PERSISTENCE_WORKER_ID;
}
- @Override protected IPersistenceDAO persistenceDAO() {
+ @SuppressWarnings("unchecked")
+ @Override protected IPersistenceDAO, ?, InstanceReferenceMetric> persistenceDAO() {
return getModuleManager().find(StorageModule.NAME).getService(IInstanceReferenceMetricPersistenceDAO.class);
}
@@ -48,7 +49,7 @@ public class InstanceReferencePersistenceWorker extends PersistenceWorker {
+ public static class Factory extends PersistenceWorkerProvider {
public Factory(ModuleManager moduleManager) {
super(moduleManager);
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/SegmentCostGraph.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/segment/SegmentCostGraph.java
index f40c80234..badd115a0 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/segment/SegmentCostGraph.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/segment/SegmentCostGraph.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.segment;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.GraphIdDefine;
+import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricGraphIdDefine;
import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerCreateListener;
import org.apache.skywalking.apm.collector.core.graph.GraphManager;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
@@ -38,7 +38,7 @@ public class SegmentCostGraph {
}
public void create() {
- GraphManager.INSTANCE.createIfAbsent(GraphIdDefine.SEGMENT_COST_GRAPH_ID, SegmentCost.class)
+ GraphManager.INSTANCE.createIfAbsent(MetricGraphIdDefine.SEGMENT_COST_GRAPH_ID, SegmentCost.class)
.addNode(new SegmentCostPersistenceWorker.Factory(moduleManager).create(workerCreateListener));
}
}
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/SegmentCostPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/segment/SegmentCostPersistenceWorker.java
index a58565462..aa6093627 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/segment/SegmentCostPersistenceWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/segment/SegmentCostPersistenceWorker.java
@@ -18,9 +18,9 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.segment;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
-import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
+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.module.ModuleManager;
import org.apache.skywalking.apm.collector.storage.StorageModule;
import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
@@ -30,25 +30,26 @@ import org.apache.skywalking.apm.collector.storage.table.segment.SegmentCost;
/**
* @author peng-yongsheng
*/
-public class SegmentCostPersistenceWorker extends PersistenceWorker {
+public class SegmentCostPersistenceWorker extends PersistenceWorker {
public SegmentCostPersistenceWorker(ModuleManager moduleManager) {
super(moduleManager);
}
@Override public int id() {
- return WorkerIdDefine.SEGMENT_COST_PERSISTENCE_WORKER_ID;
+ return MetricWorkerIdDefine.SEGMENT_COST_PERSISTENCE_WORKER_ID;
}
@Override protected boolean needMergeDBData() {
return false;
}
- @Override protected IPersistenceDAO persistenceDAO() {
+ @SuppressWarnings("unchecked")
+ @Override protected IPersistenceDAO, ?, SegmentCost> persistenceDAO() {
return getModuleManager().find(StorageModule.NAME).getService(ISegmentCostPersistenceDAO.class);
}
- public static class Factory extends AbstractLocalAsyncWorkerProvider {
+ public static class Factory extends PersistenceWorkerProvider {
public Factory(ModuleManager moduleManager) {
super(moduleManager);
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/SegmentCostSpanListener.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/segment/SegmentCostSpanListener.java
index 03b5aa94b..d6c95715f 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/segment/SegmentCostSpanListener.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/segment/SegmentCostSpanListener.java
@@ -20,7 +20,7 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.segm
import java.util.ArrayList;
import java.util.List;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.GraphIdDefine;
+import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricGraphIdDefine;
import org.apache.skywalking.apm.collector.analysis.segment.parser.define.decorator.SpanDecorator;
import org.apache.skywalking.apm.collector.analysis.segment.parser.define.listener.EntrySpanListener;
import org.apache.skywalking.apm.collector.analysis.segment.parser.define.listener.ExitSpanListener;
@@ -96,7 +96,7 @@ public class SegmentCostSpanListener implements EntrySpanListener, ExitSpanListe
}
@Override public void build() {
- Graph graph = GraphManager.INSTANCE.findGraph(GraphIdDefine.SEGMENT_COST_GRAPH_ID, SegmentCost.class);
+ Graph graph = GraphManager.INSTANCE.findGraph(MetricGraphIdDefine.SEGMENT_COST_GRAPH_ID, SegmentCost.class);
logger.debug("segment cost listener build");
for (SegmentCost segmentCost : segmentCosts) {
segmentCost.setIsError(isError);
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/ServiceEntryAggregationWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceEntryAggregationWorker.java
index 3296dad7c..57bab09b8 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceEntryAggregationWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceEntryAggregationWorker.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.service;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
+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.impl.AggregationWorker;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
@@ -34,7 +34,7 @@ public class ServiceEntryAggregationWorker extends AggregationWorker {
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/ServiceEntryGraph.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceEntryGraph.java
index 86c57a065..cb53ce833 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceEntryGraph.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceEntryGraph.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.service;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.GraphIdDefine;
+import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricGraphIdDefine;
import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerCreateListener;
import org.apache.skywalking.apm.collector.core.graph.GraphManager;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
@@ -42,9 +42,9 @@ public class ServiceEntryGraph {
public void create() {
RemoteSenderService remoteSenderService = moduleManager.find(RemoteModule.NAME).getService(RemoteSenderService.class);
- GraphManager.INSTANCE.createIfAbsent(GraphIdDefine.SERVICE_ENTRY_GRAPH_ID, ServiceEntry.class)
+ GraphManager.INSTANCE.createIfAbsent(MetricGraphIdDefine.SERVICE_ENTRY_GRAPH_ID, ServiceEntry.class)
.addNode(new ServiceEntryAggregationWorker.Factory(moduleManager).create(workerCreateListener))
- .addNext(new ServiceEntryRemoteWorker.Factory(moduleManager, remoteSenderService, GraphIdDefine.SERVICE_ENTRY_GRAPH_ID).create(workerCreateListener))
+ .addNext(new ServiceEntryRemoteWorker.Factory(moduleManager, remoteSenderService, MetricGraphIdDefine.SERVICE_ENTRY_GRAPH_ID).create(workerCreateListener))
.addNext(new ServiceEntryPersistenceWorker.Factory(moduleManager).create(workerCreateListener));
}
}
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/ServiceEntryPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceEntryPersistenceWorker.java
index 419befdc7..d0183aa22 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceEntryPersistenceWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceEntryPersistenceWorker.java
@@ -18,9 +18,9 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.service;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
-import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
+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.module.ModuleManager;
import org.apache.skywalking.apm.collector.storage.StorageModule;
import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
@@ -30,25 +30,26 @@ import org.apache.skywalking.apm.collector.storage.table.service.ServiceEntry;
/**
* @author peng-yongsheng
*/
-public class ServiceEntryPersistenceWorker extends PersistenceWorker {
+public class ServiceEntryPersistenceWorker extends PersistenceWorker {
public ServiceEntryPersistenceWorker(ModuleManager moduleManager) {
super(moduleManager);
}
@Override public int id() {
- return WorkerIdDefine.SERVICE_ENTRY_PERSISTENCE_WORKER_ID;
+ return MetricWorkerIdDefine.SERVICE_ENTRY_PERSISTENCE_WORKER_ID;
}
@Override protected boolean needMergeDBData() {
return true;
}
- @Override protected IPersistenceDAO persistenceDAO() {
+ @SuppressWarnings("unchecked")
+ @Override protected IPersistenceDAO, ?, ServiceEntry> persistenceDAO() {
return getModuleManager().find(StorageModule.NAME).getService(IServiceEntryPersistenceDAO.class);
}
- public static class Factory extends AbstractLocalAsyncWorkerProvider {
+ public static class Factory extends PersistenceWorkerProvider {
public Factory(ModuleManager moduleManager) {
super(moduleManager);
}
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/ServiceEntryRemoteWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceEntryRemoteWorker.java
index e16f4a7bd..aa8f83201 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceEntryRemoteWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceEntryRemoteWorker.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.service;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
+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;
@@ -37,7 +37,7 @@ public class ServiceEntryRemoteWorker extends AbstractRemoteWorker graph = GraphManager.INSTANCE.findGraph(GraphIdDefine.SERVICE_ENTRY_GRAPH_ID, ServiceEntry.class);
+ Graph graph = GraphManager.INSTANCE.findGraph(MetricGraphIdDefine.SERVICE_ENTRY_GRAPH_ID, ServiceEntry.class);
graph.start(serviceEntry);
}
}
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/ServiceMetricAggregationWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceMetricAggregationWorker.java
index a6a090af3..b110005e7 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceMetricAggregationWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceMetricAggregationWorker.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.service;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
+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.impl.AggregationWorker;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
@@ -36,7 +36,7 @@ public class ServiceMetricAggregationWorker extends AggregationWorker graph = GraphManager.INSTANCE.createIfAbsent(GraphIdDefine.SERVICE_METRIC_GRAPH_ID, ServiceReferenceMetric.class);
+ Graph graph = GraphManager.INSTANCE.createIfAbsent(MetricGraphIdDefine.SERVICE_METRIC_GRAPH_ID, ServiceReferenceMetric.class);
graph.addNode(new ServiceMetricAggregationWorker.Factory(moduleManager).create(workerCreateListener))
- .addNext(new ServiceMetricRemoteWorker.Factory(moduleManager, remoteSenderService, GraphIdDefine.SERVICE_METRIC_GRAPH_ID).create(workerCreateListener))
+ .addNext(new ServiceMetricRemoteWorker.Factory(moduleManager, remoteSenderService, MetricGraphIdDefine.SERVICE_METRIC_GRAPH_ID).create(workerCreateListener))
.addNext(new ServiceMetricPersistenceWorker.Factory(moduleManager).create(workerCreateListener));
link(graph);
}
private void link(Graph graph) {
- GraphManager.INSTANCE.findGraph(GraphIdDefine.SERVICE_REFERENCE_METRIC_GRAPH_ID, ServiceReferenceMetric.class)
- .toFinder().findNode(WorkerIdDefine.SERVICE_REFERENCE_METRIC_AGGREGATION_WORKER_ID, ServiceReferenceMetric.class)
+ GraphManager.INSTANCE.findGraph(MetricGraphIdDefine.SERVICE_REFERENCE_METRIC_GRAPH_ID, ServiceReferenceMetric.class)
+ .toFinder().findNode(MetricWorkerIdDefine.SERVICE_REFERENCE_METRIC_AGGREGATION_WORKER_ID, ServiceReferenceMetric.class)
.addNext(new NodeProcessor() {
@Override public int id() {
- return WorkerIdDefine.SERVICE_METRIC_GRAPH_BRIDGE_WORKER_ID;
+ return MetricWorkerIdDefine.SERVICE_METRIC_GRAPH_BRIDGE_WORKER_ID;
}
@Override
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/ServiceMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceMetricPersistenceWorker.java
index d6038a03a..4e8de19ad 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceMetricPersistenceWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceMetricPersistenceWorker.java
@@ -18,9 +18,9 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.service;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
-import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
+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.module.ModuleManager;
import org.apache.skywalking.apm.collector.storage.StorageModule;
import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
@@ -30,17 +30,18 @@ import org.apache.skywalking.apm.collector.storage.table.service.ServiceMetric;
/**
* @author peng-yongsheng
*/
-public class ServiceMetricPersistenceWorker extends PersistenceWorker {
+public class ServiceMetricPersistenceWorker extends PersistenceWorker {
public ServiceMetricPersistenceWorker(ModuleManager moduleManager) {
super(moduleManager);
}
@Override public int id() {
- return WorkerIdDefine.SERVICE_METRIC_PERSISTENCE_WORKER_ID;
+ return MetricWorkerIdDefine.SERVICE_METRIC_PERSISTENCE_WORKER_ID;
}
- @Override protected IPersistenceDAO persistenceDAO() {
+ @SuppressWarnings("unchecked")
+ @Override protected IPersistenceDAO, ?, ServiceMetric> persistenceDAO() {
return getModuleManager().find(StorageModule.NAME).getService(IServiceMetricPersistenceDAO.class);
}
@@ -48,7 +49,7 @@ public class ServiceMetricPersistenceWorker extends PersistenceWorker {
+ public static class Factory extends PersistenceWorkerProvider {
public Factory(ModuleManager moduleManager) {
super(moduleManager);
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/ServiceMetricRemoteWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceMetricRemoteWorker.java
index 4552213c9..60b633343 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceMetricRemoteWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceMetricRemoteWorker.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.service;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
+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;
@@ -37,7 +37,7 @@ public class ServiceMetricRemoteWorker extends AbstractRemoteWorker {
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/ServiceReferenceMetricGraph.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceReferenceMetricGraph.java
index f01e88605..ca5fba218 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceReferenceMetricGraph.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceReferenceMetricGraph.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.service;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.GraphIdDefine;
+import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricGraphIdDefine;
import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerCreateListener;
import org.apache.skywalking.apm.collector.core.graph.GraphManager;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
@@ -42,9 +42,9 @@ public class ServiceReferenceMetricGraph {
public void create() {
RemoteSenderService remoteSenderService = moduleManager.find(RemoteModule.NAME).getService(RemoteSenderService.class);
- GraphManager.INSTANCE.createIfAbsent(GraphIdDefine.SERVICE_REFERENCE_METRIC_GRAPH_ID, ServiceReferenceMetric.class)
+ GraphManager.INSTANCE.createIfAbsent(MetricGraphIdDefine.SERVICE_REFERENCE_METRIC_GRAPH_ID, ServiceReferenceMetric.class)
.addNode(new ServiceReferenceMetricAggregationWorker.Factory(moduleManager).create(workerCreateListener))
- .addNext(new ServiceReferenceMetricRemoteWorker.Factory(moduleManager, remoteSenderService, GraphIdDefine.SERVICE_REFERENCE_METRIC_GRAPH_ID).create(workerCreateListener))
+ .addNext(new ServiceReferenceMetricRemoteWorker.Factory(moduleManager, remoteSenderService, MetricGraphIdDefine.SERVICE_REFERENCE_METRIC_GRAPH_ID).create(workerCreateListener))
.addNext(new ServiceReferenceMetricPersistenceWorker.Factory(moduleManager).create(workerCreateListener));
}
}
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/ServiceReferenceMetricPersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceReferenceMetricPersistenceWorker.java
index 167afe11f..22ceb91ce 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceReferenceMetricPersistenceWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceReferenceMetricPersistenceWorker.java
@@ -18,9 +18,9 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.service;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
-import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
+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.module.ModuleManager;
import org.apache.skywalking.apm.collector.storage.StorageModule;
import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
@@ -30,25 +30,26 @@ import org.apache.skywalking.apm.collector.storage.table.service.ServiceReferenc
/**
* @author peng-yongsheng
*/
-public class ServiceReferenceMetricPersistenceWorker extends PersistenceWorker {
+public class ServiceReferenceMetricPersistenceWorker extends PersistenceWorker {
public ServiceReferenceMetricPersistenceWorker(ModuleManager moduleManager) {
super(moduleManager);
}
@Override public int id() {
- return WorkerIdDefine.SERVICE_REFERENCE_METRIC_PERSISTENCE_WORKER_ID;
+ return MetricWorkerIdDefine.SERVICE_REFERENCE_METRIC_PERSISTENCE_WORKER_ID;
}
@Override protected boolean needMergeDBData() {
return true;
}
- @Override protected IPersistenceDAO persistenceDAO() {
+ @SuppressWarnings("unchecked")
+ @Override protected IPersistenceDAO, ?, ServiceReferenceMetric> persistenceDAO() {
return getModuleManager().find(StorageModule.NAME).getService(IServiceReferenceMetricPersistenceDAO.class);
}
- public static class Factory extends AbstractLocalAsyncWorkerProvider {
+ public static class Factory extends PersistenceWorkerProvider {
public Factory(ModuleManager moduleManager) {
super(moduleManager);
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/ServiceReferenceMetricRemoteWorker.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceReferenceMetricRemoteWorker.java
index c582c8894..d728f83b6 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceReferenceMetricRemoteWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/ServiceReferenceMetricRemoteWorker.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.service;
-import org.apache.skywalking.apm.collector.analysis.metric.define.graph.WorkerIdDefine;
+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;
@@ -37,7 +37,7 @@ public class ServiceReferenceMetricRemoteWorker extends AbstractRemoteWorker graph = GraphManager.INSTANCE.findGraph(GraphIdDefine.SERVICE_REFERENCE_METRIC_GRAPH_ID, ServiceReferenceMetric.class);
+ Graph graph = GraphManager.INSTANCE.findGraph(MetricGraphIdDefine.SERVICE_REFERENCE_METRIC_GRAPH_ID, ServiceReferenceMetric.class);
entryReferenceMetric.forEach(serviceReferenceMetric -> {
String id = timeBucket + Const.ID_SPLIT + serviceReferenceMetric.getEntryServiceId() + Const.ID_SPLIT + serviceReferenceMetric.getFrontServiceId() + Const.ID_SPLIT + serviceReferenceMetric.getBehindServiceId();
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/SegmentPersistenceWorker.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/SegmentPersistenceWorker.java
index 18949ac9e..3ecd508fb 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/SegmentPersistenceWorker.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/SegmentPersistenceWorker.java
@@ -19,8 +19,8 @@
package org.apache.skywalking.apm.collector.analysis.segment.parser.provider.parser;
import org.apache.skywalking.apm.collector.analysis.segment.parser.define.graph.WorkerIdDefine;
-import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
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.module.ModuleManager;
import org.apache.skywalking.apm.collector.storage.StorageModule;
import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
@@ -30,7 +30,7 @@ import org.apache.skywalking.apm.collector.storage.table.segment.Segment;
/**
* @author peng-yongsheng
*/
-public class SegmentPersistenceWorker extends PersistenceWorker {
+public class SegmentPersistenceWorker extends PersistenceWorker {
public SegmentPersistenceWorker(ModuleManager moduleManager) {
super(moduleManager);
@@ -44,11 +44,12 @@ public class SegmentPersistenceWorker extends PersistenceWorker persistenceDAO() {
return getModuleManager().find(StorageModule.NAME).getService(ISegmentPersistenceDAO.class);
}
- public static class Factory extends AbstractLocalAsyncWorkerProvider {
+ public static class Factory extends PersistenceWorkerProvider {
public Factory(ModuleManager moduleManager) {
super(moduleManager);
}
diff --git a/apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/model/impl/PersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/model/impl/PersistenceWorker.java
index 82da9d17f..00252d564 100644
--- a/apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/model/impl/PersistenceWorker.java
+++ b/apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/model/impl/PersistenceWorker.java
@@ -36,11 +36,11 @@ import org.slf4j.LoggerFactory;
/**
* @author peng-yongsheng
*/
-public abstract class PersistenceWorker extends AbstractLocalAsyncWorker {
+public abstract class PersistenceWorker extends AbstractLocalAsyncWorker {
private final Logger logger = LoggerFactory.getLogger(PersistenceWorker.class);
- private final DataCache