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);
 }