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.sh...@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); }