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 2020/07/06 05:03:46 UTC

[skywalking] branch master updated: Fix no data bug of oap self observability instance_metrics_second_aggregation metrics. (#5028)

This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git


The following commit(s) were added to refs/heads/master by this push:
     new a3ae7b4  Fix no data bug of oap self observability instance_metrics_second_aggregation metrics. (#5028)
a3ae7b4 is described below

commit a3ae7b4dc60db8f665847fbbd10bf230431df12c
Author: Ax1an <28...@users.noreply.github.com>
AuthorDate: Mon Jul 6 13:03:36 2020 +0800

    Fix no data bug of oap self observability instance_metrics_second_aggregation metrics. (#5028)
---
 docs/en/setup/backend/grafana.json                 |  2 +-
 .../main/resources/fetcher-prom-rules/self.yaml    |  4 ++--
 .../src/main/resources/oc-rules/oap.yaml           |  4 ++--
 .../analysis/worker/MetricsAggregateWorker.java    |  2 +-
 .../analysis/worker/MetricsPersistentWorker.java   | 14 ++++++++++++++
 .../analysis/worker/MetricsStreamProcessor.java    |  2 +-
 .../core/analysis/worker/MetricsTransWorker.java   | 22 ----------------------
 7 files changed, 21 insertions(+), 29 deletions(-)

diff --git a/docs/en/setup/backend/grafana.json b/docs/en/setup/backend/grafana.json
index bba689c..79af549 100644
--- a/docs/en/setup/backend/grafana.json
+++ b/docs/en/setup/backend/grafana.json
@@ -766,7 +766,7 @@
       "steppedLine": false,
       "targets": [
         {
-          "expr": "sum(rate(metrics_aggregation {dimensionality=\"min\"} [1m])) by (level)",
+          "expr": "sum(rate(metrics_aggregation {dimensionality=\"minute\"} [1m])) by (level)",
           "format": "time_series",
           "hide": false,
           "intervalFactor": 1,
diff --git a/oap-server/server-bootstrap/src/main/resources/fetcher-prom-rules/self.yaml b/oap-server/server-bootstrap/src/main/resources/fetcher-prom-rules/self.yaml
index f0f0368..c6d1a53 100644
--- a/oap-server/server-bootstrap/src/main/resources/fetcher-prom-rules/self.yaml
+++ b/oap-server/server-bootstrap/src/main/resources/fetcher-prom-rules/self.yaml
@@ -216,7 +216,7 @@ metricsRules:
         range: PT1M
         labelFilter:
           - key: dimensionality
-            options: ["min"]
+            options: ["minute"]
           - key: level
             options: ["1"]
         relabel:
@@ -233,7 +233,7 @@ metricsRules:
         range: PT1M
         labelFilter:
           - key: dimensionality
-            options: ["min"]
+            options: ["minute"]
           - key: level
             options: ["2"]
         relabel:
diff --git a/oap-server/server-bootstrap/src/main/resources/oc-rules/oap.yaml b/oap-server/server-bootstrap/src/main/resources/oc-rules/oap.yaml
index 610f644..467ff32 100644
--- a/oap-server/server-bootstrap/src/main/resources/oc-rules/oap.yaml
+++ b/oap-server/server-bootstrap/src/main/resources/oc-rules/oap.yaml
@@ -207,7 +207,7 @@ metricsRules:
         range: PT1M
         labelFilter:
           - key: dimensionality
-            options: ["min"]
+            options: ["minute"]
           - key: level
             options: ["1"]
         relabel:
@@ -224,7 +224,7 @@ metricsRules:
         range: PT1M
         labelFilter:
           - key: dimensionality
-            options: ["min"]
+            options: ["minute"]
           - key: level
             options: ["2"]
         relabel:
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsAggregateWorker.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsAggregateWorker.java
index 04f6601..b6fd9b3 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsAggregateWorker.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsAggregateWorker.java
@@ -69,7 +69,7 @@ public class MetricsAggregateWorker extends AbstractWorker<Metrics> {
                                                           .getService(MetricsCreator.class);
         aggregationCounter = metricsCreator.createCounter(
             "metrics_aggregation", "The number of rows in aggregation",
-            new MetricsTag.Keys("metricName", "level", "dimensionality"), new MetricsTag.Values(modelName, "1", "min")
+            new MetricsTag.Keys("metricName", "level", "dimensionality"), new MetricsTag.Values(modelName, "1", "minute")
         );
     }
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsPersistentWorker.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsPersistentWorker.java
index e8fd957..ae68a20 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsPersistentWorker.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsPersistentWorker.java
@@ -41,6 +41,10 @@ import org.apache.skywalking.oap.server.core.storage.model.Model;
 import org.apache.skywalking.oap.server.core.worker.AbstractWorker;
 import org.apache.skywalking.oap.server.library.client.request.PrepareRequest;
 import org.apache.skywalking.oap.server.library.module.ModuleDefineHolder;
+import org.apache.skywalking.oap.server.telemetry.TelemetryModule;
+import org.apache.skywalking.oap.server.telemetry.api.CounterMetrics;
+import org.apache.skywalking.oap.server.telemetry.api.MetricsCreator;
+import org.apache.skywalking.oap.server.telemetry.api.MetricsTag;
 
 /**
  * MetricsPersistentWorker is an extension of {@link PersistenceWorker} and focuses on the Metrics data persistent.
@@ -56,6 +60,7 @@ public class MetricsPersistentWorker extends PersistenceWorker<Metrics> {
     private final Optional<MetricsTransWorker> transWorker;
     private final boolean enableDatabaseSession;
     private final boolean supportUpdate;
+    private CounterMetrics aggregationCounter;
 
     MetricsPersistentWorker(ModuleDefineHolder moduleDefineHolder, Model model, IMetricsDAO metricsDAO,
                             AbstractWorker<Metrics> nextAlarmWorker, AbstractWorker<ExportEvent> nextExportWorker,
@@ -84,6 +89,14 @@ public class MetricsPersistentWorker extends PersistenceWorker<Metrics> {
 
         this.dataCarrier = new DataCarrier<>("MetricsPersistentWorker." + model.getName(), name, 1, 2000);
         this.dataCarrier.consume(ConsumerPoolFactory.INSTANCE.get(name), new PersistentConsumer());
+
+        MetricsCreator metricsCreator = moduleDefineHolder.find(TelemetryModule.NAME)
+                .provider()
+                .getService(MetricsCreator.class);
+        aggregationCounter = metricsCreator.createCounter(
+                "metrics_aggregation", "The number of rows in aggregation",
+                new MetricsTag.Keys("metricName", "level", "dimensionality"), new MetricsTag.Values(model.getName(), "2", model.getDownsampling().getName())
+        );
     }
 
     /**
@@ -102,6 +115,7 @@ public class MetricsPersistentWorker extends PersistenceWorker<Metrics> {
      */
     @Override
     public void in(Metrics metrics) {
+        aggregationCounter.inc();
         dataCarrier.produce(metrics);
     }
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsStreamProcessor.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsStreamProcessor.java
index a9b49b2..e98b776 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsStreamProcessor.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsStreamProcessor.java
@@ -146,7 +146,7 @@ public class MetricsStreamProcessor implements StreamProcessor<Metrics> {
             }
 
             transWorker = new MetricsTransWorker(
-                moduleDefineHolder, stream.getName(), hourPersistentWorker, dayPersistentWorker);
+                moduleDefineHolder, hourPersistentWorker, dayPersistentWorker);
         }
 
         Model model = modelSetter.add(
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsTransWorker.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsTransWorker.java
index 06ad726..20151c5 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsTransWorker.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsTransWorker.java
@@ -22,10 +22,6 @@ import java.util.Objects;
 import org.apache.skywalking.oap.server.core.analysis.metrics.Metrics;
 import org.apache.skywalking.oap.server.core.worker.AbstractWorker;
 import org.apache.skywalking.oap.server.library.module.ModuleDefineHolder;
-import org.apache.skywalking.oap.server.telemetry.TelemetryModule;
-import org.apache.skywalking.oap.server.telemetry.api.CounterMetrics;
-import org.apache.skywalking.oap.server.telemetry.api.MetricsCreator;
-import org.apache.skywalking.oap.server.telemetry.api.MetricsTag;
 
 /**
  * MetricsTransWorker is transferring the metrics for downsampling. All streaming process metrics are in the minute
@@ -36,28 +32,12 @@ public class MetricsTransWorker extends AbstractWorker<Metrics> {
     private final MetricsPersistentWorker hourPersistenceWorker;
     private final MetricsPersistentWorker dayPersistenceWorker;
 
-    private final CounterMetrics aggregationHourCounter;
-    private final CounterMetrics aggregationDayCounter;
-
     public MetricsTransWorker(ModuleDefineHolder moduleDefineHolder,
-                              String modelName,
                               MetricsPersistentWorker hourPersistenceWorker,
                               MetricsPersistentWorker dayPersistenceWorker) {
         super(moduleDefineHolder);
         this.hourPersistenceWorker = hourPersistenceWorker;
         this.dayPersistenceWorker = dayPersistenceWorker;
-
-        MetricsCreator metricsCreator = moduleDefineHolder.find(TelemetryModule.NAME)
-                                                          .provider()
-                                                          .getService(MetricsCreator.class);
-        aggregationHourCounter = metricsCreator.createCounter(
-            "metrics_aggregation", "The number of rows in aggregation", new MetricsTag.Keys("metricName", "level",
-                                                                                            "dimensionality"
-            ), new MetricsTag.Values(modelName, "2", "hour"));
-        aggregationDayCounter = metricsCreator.createCounter(
-            "metrics_aggregation", "The number of rows in aggregation", new MetricsTag.Keys("metricName", "level",
-                                                                                            "dimensionality"
-            ), new MetricsTag.Values(modelName, "2", "day"));
     }
 
     /**
@@ -68,11 +48,9 @@ public class MetricsTransWorker extends AbstractWorker<Metrics> {
     @Override
     public void in(Metrics metrics) {
         if (Objects.nonNull(hourPersistenceWorker)) {
-            aggregationHourCounter.inc();
             hourPersistenceWorker.in(metrics.toHour());
         }
         if (Objects.nonNull(dayPersistenceWorker)) {
-            aggregationDayCounter.inc();
             dayPersistenceWorker.in(metrics.toDay());
         }
     }