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 2018/10/12 04:29:28 UTC

[incubator-skywalking] branch master updated: Set the function attribute for indicator and use AVG function to be the default value. (#1757)

This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-skywalking.git


The following commit(s) were added to refs/heads/master by this push:
     new a81b992  Set the function attribute for indicator and use AVG function to be the default value. (#1757)
a81b992 is described below

commit a81b9920cde18a999bd4c374bedc004a1cfd199c
Author: 彭勇升 pengys <80...@qq.com>
AuthorDate: Fri Oct 12 12:29:22 2018 +0800

    Set the function attribute for indicator and use AVG function to be the default value. (#1757)
---
 .../oap/server/core/analysis/indicator/CPMIndicator.java       | 10 ++++------
 .../oap/server/core/analysis/indicator/CountIndicator.java     |  3 ++-
 .../oap/server/core/analysis/indicator/DoubleAvgIndicator.java |  3 ++-
 .../oap/server/core/analysis/indicator/PercentIndicator.java   |  3 ++-
 .../oap/server/core/analysis/indicator/PxxIndicator.java       |  3 ++-
 .../oap/server/core/analysis/indicator/SumIndicator.java       | 10 ++++------
 .../storage/plugin/elasticsearch/query/MetricQueryEsDAO.java   |  7 +++++++
 7 files changed, 23 insertions(+), 16 deletions(-)

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 5767232..9f956b8 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 d9aa44a..53db0af 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 341029b..0f32d98 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 4000cc3..1a049a3 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 7dab015..48b7145 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 9f062f0..39fbe39 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 de50486..f460f2f 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;
         }
     }