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 2021/03/15 15:59:56 UTC
[skywalking] 01/01: Remove group concept from AvgHistogramFunction
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch remove
in repository https://gitbox.apache.org/repos/asf/skywalking.git
commit e85f6da7e58b00a1b9c12760be311216b613d46b
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Mon Mar 15 23:58:52 2021 +0800
Remove group concept from AvgHistogramFunction
---
CHANGES.md | 1 +
.../skywalking/oap/meter/analyzer/MetricConvert.java | 18 +++++++++++-------
.../meter/function/avg/AvgHistogramFunction.java | 10 ++--------
3 files changed, 14 insertions(+), 15 deletions(-)
diff --git a/CHANGES.md b/CHANGES.md
index c08c944..58e48f6 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -50,6 +50,7 @@ Release Notes.
* Fix tags store of log and trace on h2/mysql/pg storage.
* Merge indices by Metrics Function and Meter Function in Elasticsearch Storage.
* Fix receiver don't need to get itself when healthCheck
+* Remove group concept from AvgHistogramFunction. Heatmap(function result) doesn't support labels.
#### UI
* Update selector scroller to show in all pages.
diff --git a/oap-server/analyzer/meter-analyzer/src/main/java/org/apache/skywalking/oap/meter/analyzer/MetricConvert.java b/oap-server/analyzer/meter-analyzer/src/main/java/org/apache/skywalking/oap/meter/analyzer/MetricConvert.java
index e87d3e0..599ef09 100644
--- a/oap-server/analyzer/meter-analyzer/src/main/java/org/apache/skywalking/oap/meter/analyzer/MetricConvert.java
+++ b/oap-server/analyzer/meter-analyzer/src/main/java/org/apache/skywalking/oap/meter/analyzer/MetricConvert.java
@@ -21,15 +21,14 @@ package org.apache.skywalking.oap.meter.analyzer;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableMap;
import io.vavr.control.Try;
+import java.util.List;
+import java.util.StringJoiner;
+import java.util.stream.Stream;
import lombok.extern.slf4j.Slf4j;
import org.apache.skywalking.oap.meter.analyzer.dsl.SampleFamily;
import org.apache.skywalking.oap.server.core.analysis.meter.MeterSystem;
import org.elasticsearch.common.Strings;
-import java.util.List;
-import java.util.StringJoiner;
-import java.util.stream.Stream;
-
import static java.util.stream.Collectors.toList;
/**
@@ -49,9 +48,14 @@ public class MetricConvert {
public MetricConvert(MetricRuleConfig rule, MeterSystem service) {
Preconditions.checkState(!Strings.isNullOrEmpty(rule.getMetricPrefix()));
- this.analyzers = rule.getMetricsRules().stream().map(r -> Analyzer.build(formatMetricName(rule, r.getName()),
- Strings.isEmpty(rule.getExpSuffix()) ? r.getExp() : String.format("(%s).%s", r.getExp(), rule.getExpSuffix()), service))
- .collect(toList());
+ this.analyzers = rule.getMetricsRules().stream().map(
+ r -> Analyzer.build(
+ formatMetricName(rule, r.getName()),
+ Strings.isEmpty(rule.getExpSuffix()) ?
+ r.getExp() : String.format("(%s).%s", r.getExp(), rule.getExpSuffix()),
+ service
+ )
+ ).collect(toList());
}
/**
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgHistogramFunction.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgHistogramFunction.java
index 508dc69..2fefde8 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgHistogramFunction.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgHistogramFunction.java
@@ -18,7 +18,6 @@
package org.apache.skywalking.oap.server.core.analysis.meter.function.avg;
-import com.google.common.base.Strings;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
@@ -86,17 +85,12 @@ public abstract class AvgHistogramFunction extends Metrics implements Acceptable
this.entityId = entity.id();
- String template = "%s";
- if (!Strings.isNullOrEmpty(value.getGroup())) {
- template = value.getGroup() + ":%s";
- }
final long[] values = value.getValues();
for (int i = 0; i < values.length; i++) {
long bucket = value.getBuckets()[i];
String bucketName = bucket == Long.MIN_VALUE ? Bucket.INFINITE_NEGATIVE : String.valueOf(bucket);
- String key = String.format(template, bucketName);
- summation.valueAccumulation(key, values[i]);
- count.valueAccumulation(key, 1L);
+ summation.valueAccumulation(bucketName, values[i]);
+ count.valueAccumulation(bucketName, 1L);
}
}