diff --git a/docs/en/setup/backend/grafana.json b/docs/en/setup/backend/grafana.json index bba689cead..79af54955c 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 f0f0368ddd..c6d1a53e79 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 610f6440c8..467ff32200 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 04f6601610..b6fd9b365e 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 { .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 e8fd957871..ae68a2032a 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 { private final Optional transWorker; private final boolean enableDatabaseSession; private final boolean supportUpdate; + private CounterMetrics aggregationCounter; MetricsPersistentWorker(ModuleDefineHolder moduleDefineHolder, Model model, IMetricsDAO metricsDAO, AbstractWorker nextAlarmWorker, AbstractWorker nextExportWorker, @@ -84,6 +89,14 @@ public class MetricsPersistentWorker extends PersistenceWorker { 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 { */ @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 a9b49b2750..e98b776da0 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 { } 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 06ad7264b6..20151c52ca 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 { 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 { @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()); } }