diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/CPMIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/CPMIndicator.java index 576723230..9f956b8bb 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/CPMIndicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/CPMIndicator.java @@ -18,11 +18,9 @@ package org.apache.skywalking.oap.server.core.analysis.indicator; -import lombok.Getter; -import lombok.Setter; -import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.ConstOne; -import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.Entrance; -import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.IndicatorOperator; +import lombok.*; +import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.*; +import org.apache.skywalking.oap.server.core.query.sql.Function; import org.apache.skywalking.oap.server.core.storage.annotation.Column; /** @@ -34,7 +32,7 @@ public abstract class CPMIndicator extends Indicator implements LongValueHolder protected static final String VALUE = "value"; protected static final String TOTAL = "total"; - @Getter @Setter @Column(columnName = VALUE, isValue = true) private long value; + @Getter @Setter @Column(columnName = VALUE, isValue = true, function = Function.Avg) private long value; @Getter @Setter @Column(columnName = TOTAL) private long total; @Entrance diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/CountIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/CountIndicator.java index d9aa44a90..53db0af43 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/CountIndicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/CountIndicator.java @@ -20,6 +20,7 @@ package org.apache.skywalking.oap.server.core.analysis.indicator; import lombok.*; import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.*; +import org.apache.skywalking.oap.server.core.query.sql.Function; import org.apache.skywalking.oap.server.core.storage.annotation.Column; /** @@ -30,7 +31,7 @@ public abstract class CountIndicator extends Indicator implements LongValueHolde protected static final String VALUE = "value"; - @Getter @Setter @Column(columnName = VALUE) private long value; + @Getter @Setter @Column(columnName = VALUE, isValue = true, function = Function.Sum) private long value; @Entrance public final void combine(@ConstOne long count) { diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/DoubleAvgIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/DoubleAvgIndicator.java index 341029bad..0f32d9899 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/DoubleAvgIndicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/DoubleAvgIndicator.java @@ -20,6 +20,7 @@ package org.apache.skywalking.oap.server.core.analysis.indicator; import lombok.*; import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.*; +import org.apache.skywalking.oap.server.core.query.sql.Function; import org.apache.skywalking.oap.server.core.storage.annotation.Column; /** @@ -34,7 +35,7 @@ public abstract class DoubleAvgIndicator extends Indicator implements DoubleValu @Getter @Setter @Column(columnName = SUMMATION) private double summation; @Getter @Setter @Column(columnName = COUNT) private int count; - @Getter @Setter @Column(columnName = VALUE) private double value; + @Getter @Setter @Column(columnName = VALUE, isValue = true, function = Function.Avg) private double value; @Entrance public final void combine(@SourceFrom double summation, @ConstOne int count) { diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/PercentIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/PercentIndicator.java index 4000cc326..1a049a333 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/PercentIndicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/PercentIndicator.java @@ -21,6 +21,7 @@ package org.apache.skywalking.oap.server.core.analysis.indicator; import lombok.*; import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.*; import org.apache.skywalking.oap.server.core.analysis.indicator.expression.EqualMatch; +import org.apache.skywalking.oap.server.core.query.sql.Function; import org.apache.skywalking.oap.server.core.storage.annotation.Column; /** @@ -33,7 +34,7 @@ public abstract class PercentIndicator extends Indicator implements IntValueHold protected static final String PERCENTAGE = "percentage"; @Getter @Setter @Column(columnName = TOTAL) private long total; - @Getter @Setter @Column(columnName = PERCENTAGE, isValue = true) private int percentage; + @Getter @Setter @Column(columnName = PERCENTAGE, isValue = true, function = Function.Avg) private int percentage; @Getter @Setter @Column(columnName = MATCH) private long match; @Entrance diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/PxxIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/PxxIndicator.java index 7dab01595..48b714510 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/PxxIndicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/PxxIndicator.java @@ -21,6 +21,7 @@ package org.apache.skywalking.oap.server.core.analysis.indicator; import java.util.*; import lombok.*; import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.*; +import org.apache.skywalking.oap.server.core.query.sql.Function; import org.apache.skywalking.oap.server.core.storage.annotation.Column; /** @@ -38,7 +39,7 @@ public abstract class PxxIndicator extends Indicator implements IntValueHolder { protected static final String VALUE = "value"; protected static final String PRECISION = "precision"; - @Getter @Setter @Column(columnName = VALUE, isValue = true) private int value; + @Getter @Setter @Column(columnName = VALUE, isValue = true, function = Function.Avg) private int value; @Getter @Setter @Column(columnName = PRECISION) private int precision; @Getter @Setter @Column(columnName = DETAIL_GROUP) private IntKeyLongValueArray detailGroup; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/SumIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/SumIndicator.java index 9f062f0b8..39fbe39ee 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/SumIndicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/SumIndicator.java @@ -18,11 +18,9 @@ package org.apache.skywalking.oap.server.core.analysis.indicator; -import lombok.Getter; -import lombok.Setter; -import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.Entrance; -import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.IndicatorOperator; -import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.SourceFrom; +import lombok.*; +import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.*; +import org.apache.skywalking.oap.server.core.query.sql.Function; import org.apache.skywalking.oap.server.core.storage.annotation.Column; /** @@ -33,7 +31,7 @@ public abstract class SumIndicator extends Indicator implements LongValueHolder protected static final String VALUE = "value"; - @Getter @Setter @Column(columnName = VALUE) private long value; + @Getter @Setter @Column(columnName = VALUE, isValue = true, function = Function.Sum) private long value; @Entrance public final void combine(@SourceFrom long count) { diff --git a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetricQueryEsDAO.java b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetricQueryEsDAO.java index de5048608..f460f2ff0 100644 --- a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetricQueryEsDAO.java +++ b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetricQueryEsDAO.java @@ -71,6 +71,10 @@ public class MetricQueryEsDAO extends EsDAO implements IMetricQueryDAO { Avg avg = idBucket.getAggregations().get(valueCName); value = (int)avg.getValue(); break; + default: + avg = idBucket.getAggregations().get(valueCName); + value = (int)avg.getValue(); + break; } KVInt kvInt = new KVInt(); @@ -89,6 +93,9 @@ public class MetricQueryEsDAO extends EsDAO implements IMetricQueryDAO { case Sum: parentAggBuilder.subAggregation(AggregationBuilders.sum(valueCName).field(valueCName)); break; + default: + parentAggBuilder.subAggregation(AggregationBuilders.avg(valueCName).field(valueCName)); + break; } }