提交 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 @@ ...@@ -18,11 +18,9 @@
package org.apache.skywalking.oap.server.core.analysis.indicator; package org.apache.skywalking.oap.server.core.analysis.indicator;
import lombok.Getter; import lombok.*;
import lombok.Setter; import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.*;
import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.ConstOne; import org.apache.skywalking.oap.server.core.query.sql.Function;
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.storage.annotation.Column; import org.apache.skywalking.oap.server.core.storage.annotation.Column;
/** /**
...@@ -34,7 +32,7 @@ public abstract class CPMIndicator extends Indicator implements LongValueHolder ...@@ -34,7 +32,7 @@ public abstract class CPMIndicator extends Indicator implements LongValueHolder
protected static final String VALUE = "value"; protected static final String VALUE = "value";
protected static final String TOTAL = "total"; 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; @Getter @Setter @Column(columnName = TOTAL) private long total;
@Entrance @Entrance
......
...@@ -20,6 +20,7 @@ package org.apache.skywalking.oap.server.core.analysis.indicator; ...@@ -20,6 +20,7 @@ package org.apache.skywalking.oap.server.core.analysis.indicator;
import lombok.*; import lombok.*;
import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.*; 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; import org.apache.skywalking.oap.server.core.storage.annotation.Column;
/** /**
...@@ -30,7 +31,7 @@ public abstract class CountIndicator extends Indicator implements LongValueHolde ...@@ -30,7 +31,7 @@ public abstract class CountIndicator extends Indicator implements LongValueHolde
protected static final String VALUE = "value"; 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 @Entrance
public final void combine(@ConstOne long count) { public final void combine(@ConstOne long count) {
......
...@@ -20,6 +20,7 @@ package org.apache.skywalking.oap.server.core.analysis.indicator; ...@@ -20,6 +20,7 @@ package org.apache.skywalking.oap.server.core.analysis.indicator;
import lombok.*; import lombok.*;
import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.*; 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; import org.apache.skywalking.oap.server.core.storage.annotation.Column;
/** /**
...@@ -34,7 +35,7 @@ public abstract class DoubleAvgIndicator extends Indicator implements DoubleValu ...@@ -34,7 +35,7 @@ public abstract class DoubleAvgIndicator extends Indicator implements DoubleValu
@Getter @Setter @Column(columnName = SUMMATION) private double summation; @Getter @Setter @Column(columnName = SUMMATION) private double summation;
@Getter @Setter @Column(columnName = COUNT) private int count; @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 @Entrance
public final void combine(@SourceFrom double summation, @ConstOne int count) { public final void combine(@SourceFrom double summation, @ConstOne int count) {
......
...@@ -21,6 +21,7 @@ package org.apache.skywalking.oap.server.core.analysis.indicator; ...@@ -21,6 +21,7 @@ package org.apache.skywalking.oap.server.core.analysis.indicator;
import lombok.*; import lombok.*;
import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.*; 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.analysis.indicator.expression.EqualMatch;
import org.apache.skywalking.oap.server.core.query.sql.Function;
import org.apache.skywalking.oap.server.core.storage.annotation.Column; import org.apache.skywalking.oap.server.core.storage.annotation.Column;
/** /**
...@@ -33,7 +34,7 @@ public abstract class PercentIndicator extends Indicator implements IntValueHold ...@@ -33,7 +34,7 @@ public abstract class PercentIndicator extends Indicator implements IntValueHold
protected static final String PERCENTAGE = "percentage"; protected static final String PERCENTAGE = "percentage";
@Getter @Setter @Column(columnName = TOTAL) private long total; @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; @Getter @Setter @Column(columnName = MATCH) private long match;
@Entrance @Entrance
......
...@@ -21,6 +21,7 @@ package org.apache.skywalking.oap.server.core.analysis.indicator; ...@@ -21,6 +21,7 @@ package org.apache.skywalking.oap.server.core.analysis.indicator;
import java.util.*; import java.util.*;
import lombok.*; import lombok.*;
import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.*; 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; import org.apache.skywalking.oap.server.core.storage.annotation.Column;
/** /**
...@@ -38,7 +39,7 @@ public abstract class PxxIndicator extends Indicator implements IntValueHolder { ...@@ -38,7 +39,7 @@ public abstract class PxxIndicator extends Indicator implements IntValueHolder {
protected static final String VALUE = "value"; protected static final String VALUE = "value";
protected static final String PRECISION = "precision"; 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 = PRECISION) private int precision;
@Getter @Setter @Column(columnName = DETAIL_GROUP) private IntKeyLongValueArray detailGroup; @Getter @Setter @Column(columnName = DETAIL_GROUP) private IntKeyLongValueArray detailGroup;
......
...@@ -18,11 +18,9 @@ ...@@ -18,11 +18,9 @@
package org.apache.skywalking.oap.server.core.analysis.indicator; package org.apache.skywalking.oap.server.core.analysis.indicator;
import lombok.Getter; import lombok.*;
import lombok.Setter; import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.*;
import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.Entrance; import org.apache.skywalking.oap.server.core.query.sql.Function;
import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.IndicatorOperator;
import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.SourceFrom;
import org.apache.skywalking.oap.server.core.storage.annotation.Column; import org.apache.skywalking.oap.server.core.storage.annotation.Column;
/** /**
...@@ -33,7 +31,7 @@ public abstract class SumIndicator extends Indicator implements LongValueHolder ...@@ -33,7 +31,7 @@ public abstract class SumIndicator extends Indicator implements LongValueHolder
protected static final String VALUE = "value"; 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 @Entrance
public final void combine(@SourceFrom long count) { public final void combine(@SourceFrom long count) {
......
...@@ -71,6 +71,10 @@ public class MetricQueryEsDAO extends EsDAO implements IMetricQueryDAO { ...@@ -71,6 +71,10 @@ public class MetricQueryEsDAO extends EsDAO implements IMetricQueryDAO {
Avg avg = idBucket.getAggregations().get(valueCName); Avg avg = idBucket.getAggregations().get(valueCName);
value = (int)avg.getValue(); value = (int)avg.getValue();
break; break;
default:
avg = idBucket.getAggregations().get(valueCName);
value = (int)avg.getValue();
break;
} }
KVInt kvInt = new KVInt(); KVInt kvInt = new KVInt();
...@@ -89,6 +93,9 @@ public class MetricQueryEsDAO extends EsDAO implements IMetricQueryDAO { ...@@ -89,6 +93,9 @@ public class MetricQueryEsDAO extends EsDAO implements IMetricQueryDAO {
case Sum: case Sum:
parentAggBuilder.subAggregation(AggregationBuilders.sum(valueCName).field(valueCName)); parentAggBuilder.subAggregation(AggregationBuilders.sum(valueCName).field(valueCName));
break; 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.
先完成此消息的编辑!
想要评论请 注册