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

This commit is contained in:
彭勇升 pengys 2018-10-12 12:29:22 +08:00 committed by 吴晟 Wu Sheng
parent 474b25e768
commit a81b9920cd
7 changed files with 23 additions and 16 deletions

View File

@ -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

View File

@ -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) {

View File

@ -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) {

View File

@ -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

View File

@ -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;

View File

@ -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) {

View File

@ -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;
}
}