提交 a81b9920 编写于 作者: 彭勇升 pengys 提交者: wu-sheng

Set the function attribute for indicator and use AVG function to be the default value. (#1757)

上级 474b25e7
......@@ -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
......
......@@ -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) {
......
......@@ -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) {
......
......@@ -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
......
......@@ -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;
......
......@@ -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) {
......
......@@ -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;
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册