You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2019/03/15 09:55:18 UTC
[incubator-skywalking] branch exporter updated: Finish the base of
exporter.
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch exporter
in repository https://gitbox.apache.org/repos/asf/incubator-skywalking.git
The following commit(s) were added to refs/heads/exporter by this push:
new 076be13 Finish the base of exporter.
076be13 is described below
commit 076be13d82844ad2221f1c6995c2706d00669001
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Fri Mar 15 17:55:08 2019 +0800
Finish the base of exporter.
---
.../server/core/analysis/indicator/IndicatorMetaInfo.java | 8 ++++++++
.../oap/server/core/analysis/worker/ExportWorker.java | 13 +++++++++++--
.../oap/server/core/analysis/worker/IndicatorProcess.java | 2 +-
.../skywalking/oap/server/core/exporter/ExporterModule.java | 2 +-
.../oap/server/core/exporter/MetricValuesExportService.java | 4 +++-
5 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/IndicatorMetaInfo.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/IndicatorMetaInfo.java
index 39bb4ae..1251791 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/IndicatorMetaInfo.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/IndicatorMetaInfo.java
@@ -48,4 +48,12 @@ public class IndicatorMetaInfo {
public void setId(String id) {
this.id = id;
}
+
+ @Override public String toString() {
+ return "IndicatorMetaInfo{" +
+ "indicatorName='" + indicatorName + '\'' +
+ ", scope=" + scope +
+ ", id='" + id + '\'' +
+ '}';
+ }
}
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/ExportWorker.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/ExportWorker.java
index f1fda9c..21ab3ab 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/ExportWorker.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/ExportWorker.java
@@ -18,7 +18,8 @@
package org.apache.skywalking.oap.server.core.analysis.worker;
-import org.apache.skywalking.oap.server.core.analysis.indicator.Indicator;
+import org.apache.skywalking.oap.server.core.analysis.indicator.*;
+import org.apache.skywalking.oap.server.core.exporter.*;
import org.apache.skywalking.oap.server.core.worker.AbstractWorker;
import org.apache.skywalking.oap.server.library.module.ModuleManager;
@@ -27,6 +28,7 @@ import org.apache.skywalking.oap.server.library.module.ModuleManager;
*/
public class ExportWorker extends AbstractWorker<Indicator> {
private ModuleManager moduleManager;
+ private MetricValuesExportService exportService;
public ExportWorker(int workerId, ModuleManager moduleManager) {
super(workerId);
@@ -34,6 +36,13 @@ public class ExportWorker extends AbstractWorker<Indicator> {
}
@Override public void in(Indicator indicator) {
-
+ if (exportService != null || moduleManager.has(ExporterModule.NAME)) {
+ if (indicator instanceof WithMetadata) {
+ if (exportService == null) {
+ exportService = moduleManager.find(ExporterModule.NAME).provider().getService(MetricValuesExportService.class);
+ }
+ exportService.export(((WithMetadata)indicator).getMeta(), indicator);
+ }
+ }
}
}
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/IndicatorProcess.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/IndicatorProcess.java
index 599e6fa..ecbdc5b 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/IndicatorProcess.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/IndicatorProcess.java
@@ -75,7 +75,7 @@ public enum IndicatorProcess {
WorkerInstances.INSTANCES.put(alarmNotifyWorker.getWorkerId(), alarmNotifyWorker);
ExportWorker exportWorker = new ExportWorker(WorkerIdGenerator.INSTANCES.generate(), moduleManager);
- WorkerInstances.INSTANCES.put(alarmNotifyWorker.getWorkerId(), alarmNotifyWorker);
+ WorkerInstances.INSTANCES.put(exportWorker.getWorkerId(), exportWorker);
IndicatorPersistentWorker minutePersistentWorker = new IndicatorPersistentWorker(WorkerIdGenerator.INSTANCES.generate(), modelName,
1000, moduleManager, indicatorDAO, alarmNotifyWorker, exportWorker);
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/exporter/ExporterModule.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/exporter/ExporterModule.java
index 660cf16..8669c30 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/exporter/ExporterModule.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/exporter/ExporterModule.java
@@ -31,6 +31,6 @@ public class ExporterModule extends ModuleDefine {
}
@Override public Class[] services() {
- return new Class[0];
+ return new Class[] {MetricValuesExportService.class};
}
}
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/exporter/MetricValuesExportService.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/exporter/MetricValuesExportService.java
index 4da1720..d8f2886 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/exporter/MetricValuesExportService.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/exporter/MetricValuesExportService.java
@@ -18,6 +18,7 @@
package org.apache.skywalking.oap.server.core.exporter;
+import org.apache.skywalking.oap.server.core.analysis.indicator.*;
import org.apache.skywalking.oap.server.library.module.Service;
/**
@@ -25,5 +26,6 @@ import org.apache.skywalking.oap.server.library.module.Service;
*
* @author wusheng
*/
-public class MetricValuesExportService implements Service {
+public interface MetricValuesExportService extends Service {
+ void export(IndicatorMetaInfo meta, Indicator indicator);
}