You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@skywalking.apache.org by wu...@apache.org on 2018/09/12 07:12:38 UTC

[incubator-skywalking] branch timebucket updated (a402889 -> 26e8e4b)

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

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


    from a402889  Add transfer time bucket methods.
     new f42c1fd  prepare to merge
     add 1936d38  Support ThermodynamicIndicator (#1659)
     new 26e8e4b  Merge commit '1936d38d163998762e66bbd3af8114a267bc1964' into timebucket

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../core/analysis/generated/all/AllDispatcher.java |   9 ++
 ...lP90Indicator.java => AllHeatmapIndicator.java} |  67 +++++++++----
 .../analysis/generated/all/AllP50Indicator.java    |  35 ++++++-
 .../analysis/generated/all/AllP75Indicator.java    |  35 ++++++-
 .../analysis/generated/all/AllP90Indicator.java    |  35 ++++++-
 .../analysis/generated/all/AllP95Indicator.java    |  35 ++++++-
 .../analysis/generated/all/AllP99Indicator.java    |  35 ++++++-
 .../generated/endpoint/EndpointAvgIndicator.java   |  44 +++++++++
 .../endpoint/EndpointPercentIndicator.java         |  44 +++++++++
 .../EndpointRelationAvgIndicator.java              |  53 ++++++++++
 .../generated/service/ServiceAvgIndicator.java     |  38 +++++++
 .../service/ServiceCallsSumIndicator.java          |  41 +++++++-
 .../generated/service/ServiceDispatcher.java       |   2 +-
 .../ServiceInstanceRespTimeIndicator.java          |  41 ++++++++
 .../InstanceJvmCpuIndicator.java                   |  41 ++++++++
 .../InstanceJvmYoungGcTimeIndicator.java           |  41 ++++++++
 .../InstanceJvmMemoryMaxIndicator.java             |  41 ++++++++
 .../InstanceJvmMemoryPoolMaxIndicator.java         |  41 ++++++++
 .../ServiceInstanceRelationAvgIndicator.java       |  47 +++++++++
 .../ServiceRelationAvgIndicator.java               |  50 +++++++++-
 .../ServiceRelationClientCallsSumIndicator.java    |  44 ++++++++-
 .../servicerelation/ServiceRelationDispatcher.java |   3 +-
 .../ServiceRelationServerCallsSumIndicator.java    |  44 ++++++++-
 .../server/core/analysis/indicator/Indicator.java  |   8 +-
 ...xIndicator.java => ThermodynamicIndicator.java} |  79 ++++++++-------
 .../indicator/ThermodynamicIndicatorTest.java      | 109 +++++++++++++++++++++
 26 files changed, 981 insertions(+), 81 deletions(-)
 copy oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/{AllP90Indicator.java => AllHeatmapIndicator.java} (58%)
 copy oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/{PxxIndicator.java => ThermodynamicIndicator.java} (61%)
 create mode 100644 oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/ThermodynamicIndicatorTest.java


[incubator-skywalking] 01/02: prepare to merge

Posted by wu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit f42c1fdb854f9103b4899628c1dc16ca19a52287
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Wed Sep 12 15:06:23 2018 +0800

    prepare to merge
---
 .../core/analysis/generated/all/AllDispatcher.java |  9 +++
 ...lP95Indicator.java => AllHeatmapIndicator.java} | 65 ++++++++++++++++------
 .../analysis/generated/all/AllP50Indicator.java    | 33 +++++++++++
 .../analysis/generated/all/AllP75Indicator.java    | 33 +++++++++++
 .../analysis/generated/all/AllP90Indicator.java    | 33 +++++++++++
 .../analysis/generated/all/AllP95Indicator.java    | 33 +++++++++++
 .../analysis/generated/all/AllP99Indicator.java    | 33 +++++++++++
 .../generated/endpoint/EndpointAvgIndicator.java   | 44 +++++++++++++++
 .../endpoint/EndpointPercentIndicator.java         | 44 +++++++++++++++
 .../EndpointRelationAvgIndicator.java              | 53 ++++++++++++++++++
 .../generated/service/ServiceAvgIndicator.java     | 38 +++++++++++++
 .../service/ServiceCallsSumIndicator.java          | 41 ++++++++++++--
 .../generated/service/ServiceDispatcher.java       |  2 +-
 .../ServiceInstanceRespTimeIndicator.java          | 41 ++++++++++++++
 .../InstanceJvmCpuIndicator.java                   | 41 ++++++++++++++
 .../InstanceJvmYoungGcTimeIndicator.java           | 41 ++++++++++++++
 .../InstanceJvmMemoryMaxIndicator.java             | 41 ++++++++++++++
 .../InstanceJvmMemoryPoolMaxIndicator.java         | 41 ++++++++++++++
 .../ServiceInstanceRelationAvgIndicator.java       | 47 ++++++++++++++++
 .../ServiceRelationAvgIndicator.java               | 50 +++++++++++++++--
 .../ServiceRelationClientCallsSumIndicator.java    | 44 +++++++++++++--
 .../servicerelation/ServiceRelationDispatcher.java |  3 +-
 .../ServiceRelationServerCallsSumIndicator.java    | 44 +++++++++++++--
 .../server/core/analysis/indicator/Indicator.java  |  8 ++-
 24 files changed, 827 insertions(+), 35 deletions(-)

diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllDispatcher.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllDispatcher.java
index 486e518..2e3dabb 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllDispatcher.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllDispatcher.java
@@ -35,6 +35,7 @@ public class AllDispatcher implements SourceDispatcher<All> {
         doAllP90(source);
         doAllP75(source);
         doAllP50(source);
+        doAllHeatmap(source);
     }
 
     private void doAllP99(All source) {
@@ -77,4 +78,12 @@ public class AllDispatcher implements SourceDispatcher<All> {
         indicator.combine(source.getLatency(), 10);
         IndicatorProcess.INSTANCE.in(indicator);
     }
+    private void doAllHeatmap(All source) {
+        AllHeatmapIndicator indicator = new AllHeatmapIndicator();
+
+
+        indicator.setTimeBucket(source.getTimeBucket());
+        indicator.combine(source.getLatency(), 100, 20);
+        IndicatorProcess.INSTANCE.in(indicator);
+    }
 }
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP95Indicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllHeatmapIndicator.java
similarity index 59%
copy from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP95Indicator.java
copy to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllHeatmapIndicator.java
index 4f6598a..855fdf8 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP95Indicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllHeatmapIndicator.java
@@ -36,8 +36,8 @@ import org.apache.skywalking.oap.server.core.source.Scope;
  */
 @IndicatorType
 @StreamData
-@StorageEntity(name = "all_p95", builder = AllP95Indicator.Builder.class)
-public class AllP95Indicator extends P95Indicator implements AlarmSupported {
+@StorageEntity(name = "all_heatmap", builder = AllHeatmapIndicator.Builder.class)
+public class AllHeatmapIndicator extends ThermodynamicIndicator implements AlarmSupported {
 
 
     @Override public String id() {
@@ -59,7 +59,7 @@ public class AllP95Indicator extends P95Indicator implements AlarmSupported {
         if (getClass() != obj.getClass())
             return false;
 
-        AllP95Indicator indicator = (AllP95Indicator)obj;
+        AllHeatmapIndicator indicator = (AllHeatmapIndicator)obj;
 
         if (getTimeBucket() != indicator.getTimeBucket())
             return false;
@@ -73,8 +73,8 @@ public class AllP95Indicator extends P95Indicator implements AlarmSupported {
         remoteBuilder.setDataLongs(0, getTimeBucket());
 
 
-        remoteBuilder.setDataIntegers(0, getValue());
-        remoteBuilder.setDataIntegers(1, getPrecision());
+        remoteBuilder.setDataIntegers(0, getStep());
+        remoteBuilder.setDataIntegers(1, getNumOfSteps());
         getDetailGroup().forEach(element -> remoteBuilder.addDataIntLongPairList(element.serialize()));
 
         return remoteBuilder;
@@ -85,8 +85,8 @@ public class AllP95Indicator extends P95Indicator implements AlarmSupported {
         setTimeBucket(remoteData.getDataLongs(0));
 
 
-        setValue(remoteData.getDataIntegers(0));
-        setPrecision(remoteData.getDataIntegers(1));
+        setStep(remoteData.getDataIntegers(0));
+        setNumOfSteps(remoteData.getDataIntegers(1));
 
         setDetailGroup(new ArrayList<>(30));
         remoteData.getDataIntLongPairListList().forEach(element -> {
@@ -96,24 +96,57 @@ public class AllP95Indicator extends P95Indicator implements AlarmSupported {
     }
 
     @Override public AlarmMeta getAlarmMeta() {
-        return new AlarmMeta("All_p95", Scope.All);
+        return new AlarmMeta("All_heatmap", Scope.All);
     }
 
-    public static class Builder implements StorageBuilder<AllP95Indicator> {
+    @Override
+    public Indicator toHour() {
+        AllHeatmapIndicator indicator = new AllHeatmapIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setStep(this.getStep());
+        indicator.setNumOfSteps(this.getNumOfSteps());
+        indicator.setDetailGroup(this.getDetailGroup());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+AllHeatmapIndicator indicator = new AllHeatmapIndicator();
+        indicator.setTimeBucket(toTimeBucketInDay();
+        indicator.setStep(this.getStep());
+        indicator.setNumOfSteps(this.getNumOfSteps());
+        indicator.setDetailGroup(this.getDetailGroup());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toTimeBucketInMonth() {
+AllHeatmapIndicator indicator = new AllHeatmapIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setStep(this.getStep());
+        indicator.setNumOfSteps(this.getNumOfSteps());
+        indicator.setDetailGroup(this.getDetailGroup());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    public static class Builder implements StorageBuilder<AllHeatmapIndicator> {
 
-        @Override public Map<String, Object> data2Map(AllP95Indicator storageData) {
+        @Override public Map<String, Object> data2Map(AllHeatmapIndicator storageData) {
             Map<String, Object> map = new HashMap<>();
-            map.put("value", storageData.getValue());
-            map.put("precision", storageData.getPrecision());
+            map.put("step", storageData.getStep());
+            map.put("num_of_steps", storageData.getNumOfSteps());
             map.put("detail_group", storageData.getDetailGroup());
             map.put("time_bucket", storageData.getTimeBucket());
             return map;
         }
 
-        @Override public AllP95Indicator map2Data(Map<String, Object> dbMap) {
-            AllP95Indicator indicator = new AllP95Indicator();
-            indicator.setValue(((Number)dbMap.get("value")).intValue());
-            indicator.setPrecision(((Number)dbMap.get("precision")).intValue());
+        @Override public AllHeatmapIndicator map2Data(Map<String, Object> dbMap) {
+            AllHeatmapIndicator indicator = new AllHeatmapIndicator();
+            indicator.setStep(((Number)dbMap.get("step")).intValue());
+            indicator.setNumOfSteps(((Number)dbMap.get("num_of_steps")).intValue());
             indicator.setDetailGroup((List)dbMap.get("detail_group"));
             indicator.setTimeBucket(((Number)dbMap.get("time_bucket")).longValue());
             return indicator;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP50Indicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP50Indicator.java
index 6602815..56d2a8f 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP50Indicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP50Indicator.java
@@ -99,6 +99,39 @@ public class AllP50Indicator extends P50Indicator implements AlarmSupported {
         return new AlarmMeta("All_p50", Scope.All);
     }
 
+    @Override
+    public Indicator toHour() {
+        AllP50Indicator indicator = new AllP50Indicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setValue(this.getValue());
+        indicator.setPrecision(this.getPrecision());
+        indicator.setDetailGroup(this.getDetailGroup());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+AllP50Indicator indicator = new AllP50Indicator();
+        indicator.setTimeBucket(toTimeBucketInDay();
+        indicator.setValue(this.getValue());
+        indicator.setPrecision(this.getPrecision());
+        indicator.setDetailGroup(this.getDetailGroup());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toTimeBucketInMonth() {
+AllP50Indicator indicator = new AllP50Indicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setValue(this.getValue());
+        indicator.setPrecision(this.getPrecision());
+        indicator.setDetailGroup(this.getDetailGroup());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<AllP50Indicator> {
 
         @Override public Map<String, Object> data2Map(AllP50Indicator storageData) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP75Indicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP75Indicator.java
index 2a36fa2..17bcd36 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP75Indicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP75Indicator.java
@@ -99,6 +99,39 @@ public class AllP75Indicator extends P75Indicator implements AlarmSupported {
         return new AlarmMeta("All_p75", Scope.All);
     }
 
+    @Override
+    public Indicator toHour() {
+        AllP75Indicator indicator = new AllP75Indicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setValue(this.getValue());
+        indicator.setPrecision(this.getPrecision());
+        indicator.setDetailGroup(this.getDetailGroup());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+AllP75Indicator indicator = new AllP75Indicator();
+        indicator.setTimeBucket(toTimeBucketInDay();
+        indicator.setValue(this.getValue());
+        indicator.setPrecision(this.getPrecision());
+        indicator.setDetailGroup(this.getDetailGroup());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toTimeBucketInMonth() {
+AllP75Indicator indicator = new AllP75Indicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setValue(this.getValue());
+        indicator.setPrecision(this.getPrecision());
+        indicator.setDetailGroup(this.getDetailGroup());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<AllP75Indicator> {
 
         @Override public Map<String, Object> data2Map(AllP75Indicator storageData) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP90Indicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP90Indicator.java
index 1384e35..e87b534 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP90Indicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP90Indicator.java
@@ -99,6 +99,39 @@ public class AllP90Indicator extends P90Indicator implements AlarmSupported {
         return new AlarmMeta("All_p90", Scope.All);
     }
 
+    @Override
+    public Indicator toHour() {
+        AllP90Indicator indicator = new AllP90Indicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setValue(this.getValue());
+        indicator.setPrecision(this.getPrecision());
+        indicator.setDetailGroup(this.getDetailGroup());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+AllP90Indicator indicator = new AllP90Indicator();
+        indicator.setTimeBucket(toTimeBucketInDay();
+        indicator.setValue(this.getValue());
+        indicator.setPrecision(this.getPrecision());
+        indicator.setDetailGroup(this.getDetailGroup());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toTimeBucketInMonth() {
+AllP90Indicator indicator = new AllP90Indicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setValue(this.getValue());
+        indicator.setPrecision(this.getPrecision());
+        indicator.setDetailGroup(this.getDetailGroup());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<AllP90Indicator> {
 
         @Override public Map<String, Object> data2Map(AllP90Indicator storageData) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP95Indicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP95Indicator.java
index 4f6598a..3aff40b 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP95Indicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP95Indicator.java
@@ -99,6 +99,39 @@ public class AllP95Indicator extends P95Indicator implements AlarmSupported {
         return new AlarmMeta("All_p95", Scope.All);
     }
 
+    @Override
+    public Indicator toHour() {
+        AllP95Indicator indicator = new AllP95Indicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setValue(this.getValue());
+        indicator.setPrecision(this.getPrecision());
+        indicator.setDetailGroup(this.getDetailGroup());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+AllP95Indicator indicator = new AllP95Indicator();
+        indicator.setTimeBucket(toTimeBucketInDay();
+        indicator.setValue(this.getValue());
+        indicator.setPrecision(this.getPrecision());
+        indicator.setDetailGroup(this.getDetailGroup());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toTimeBucketInMonth() {
+AllP95Indicator indicator = new AllP95Indicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setValue(this.getValue());
+        indicator.setPrecision(this.getPrecision());
+        indicator.setDetailGroup(this.getDetailGroup());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<AllP95Indicator> {
 
         @Override public Map<String, Object> data2Map(AllP95Indicator storageData) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP99Indicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP99Indicator.java
index 1ed1477..2b88c9b 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP99Indicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP99Indicator.java
@@ -99,6 +99,39 @@ public class AllP99Indicator extends P99Indicator implements AlarmSupported {
         return new AlarmMeta("All_p99", Scope.All);
     }
 
+    @Override
+    public Indicator toHour() {
+        AllP99Indicator indicator = new AllP99Indicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setValue(this.getValue());
+        indicator.setPrecision(this.getPrecision());
+        indicator.setDetailGroup(this.getDetailGroup());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+AllP99Indicator indicator = new AllP99Indicator();
+        indicator.setTimeBucket(toTimeBucketInDay();
+        indicator.setValue(this.getValue());
+        indicator.setPrecision(this.getPrecision());
+        indicator.setDetailGroup(this.getDetailGroup());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toTimeBucketInMonth() {
+AllP99Indicator indicator = new AllP99Indicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setValue(this.getValue());
+        indicator.setPrecision(this.getPrecision());
+        indicator.setDetailGroup(this.getDetailGroup());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<AllP99Indicator> {
 
         @Override public Map<String, Object> data2Map(AllP99Indicator storageData) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointAvgIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointAvgIndicator.java
index 9ec7a6d..1704a62 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointAvgIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointAvgIndicator.java
@@ -103,12 +103,56 @@ public class EndpointAvgIndicator extends LongAvgIndicator implements AlarmSuppo
         setServiceId(remoteData.getDataIntegers(1));
         setServiceInstanceId(remoteData.getDataIntegers(2));
         setCount(remoteData.getDataIntegers(3));
+
+
     }
 
     @Override public AlarmMeta getAlarmMeta() {
         return new AlarmMeta("endpoint_Avg", Scope.Endpoint, id, serviceId, serviceInstanceId);
     }
 
+    @Override
+    public Indicator toHour() {
+        EndpointAvgIndicator indicator = new EndpointAvgIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setId(this.getId());
+        indicator.setServiceId(this.getServiceId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+EndpointAvgIndicator indicator = new EndpointAvgIndicator();
+        indicator.setTimeBucket(toTimeBucketInDay();
+        indicator.setId(this.getId());
+        indicator.setServiceId(this.getServiceId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toTimeBucketInMonth() {
+EndpointAvgIndicator indicator = new EndpointAvgIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setId(this.getId());
+        indicator.setServiceId(this.getServiceId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<EndpointAvgIndicator> {
 
         @Override public Map<String, Object> data2Map(EndpointAvgIndicator storageData) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointPercentIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointPercentIndicator.java
index afd5dbf..5897f61 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointPercentIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointPercentIndicator.java
@@ -103,12 +103,56 @@ public class EndpointPercentIndicator extends PercentIndicator implements AlarmS
         setServiceId(remoteData.getDataIntegers(1));
         setServiceInstanceId(remoteData.getDataIntegers(2));
         setPercentage(remoteData.getDataIntegers(3));
+
+
     }
 
     @Override public AlarmMeta getAlarmMeta() {
         return new AlarmMeta("endpoint_percent", Scope.Endpoint, id, serviceId, serviceInstanceId);
     }
 
+    @Override
+    public Indicator toHour() {
+        EndpointPercentIndicator indicator = new EndpointPercentIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setId(this.getId());
+        indicator.setServiceId(this.getServiceId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setTotal(this.getTotal());
+        indicator.setPercentage(this.getPercentage());
+        indicator.setMatch(this.getMatch());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+EndpointPercentIndicator indicator = new EndpointPercentIndicator();
+        indicator.setTimeBucket(toTimeBucketInDay();
+        indicator.setId(this.getId());
+        indicator.setServiceId(this.getServiceId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setTotal(this.getTotal());
+        indicator.setPercentage(this.getPercentage());
+        indicator.setMatch(this.getMatch());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toTimeBucketInMonth() {
+EndpointPercentIndicator indicator = new EndpointPercentIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setId(this.getId());
+        indicator.setServiceId(this.getServiceId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setTotal(this.getTotal());
+        indicator.setPercentage(this.getPercentage());
+        indicator.setMatch(this.getMatch());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<EndpointPercentIndicator> {
 
         @Override public Map<String, Object> data2Map(EndpointPercentIndicator storageData) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpointrelation/EndpointRelationAvgIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpointrelation/EndpointRelationAvgIndicator.java
index 5b1f424..68e88c9 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpointrelation/EndpointRelationAvgIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpointrelation/EndpointRelationAvgIndicator.java
@@ -116,12 +116,65 @@ public class EndpointRelationAvgIndicator extends LongAvgIndicator implements Al
         setServiceInstanceId(remoteData.getDataIntegers(4));
         setChildServiceInstanceId(remoteData.getDataIntegers(5));
         setCount(remoteData.getDataIntegers(6));
+
+
     }
 
     @Override public AlarmMeta getAlarmMeta() {
         return new AlarmMeta("EndpointRelation_Avg", Scope.EndpointRelation, endpointId, childEndpointId, serviceId, childServiceId, serviceInstanceId, childServiceInstanceId);
     }
 
+    @Override
+    public Indicator toHour() {
+        EndpointRelationAvgIndicator indicator = new EndpointRelationAvgIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setEndpointId(this.getEndpointId());
+        indicator.setChildEndpointId(this.getChildEndpointId());
+        indicator.setServiceId(this.getServiceId());
+        indicator.setChildServiceId(this.getChildServiceId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setChildServiceInstanceId(this.getChildServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+EndpointRelationAvgIndicator indicator = new EndpointRelationAvgIndicator();
+        indicator.setTimeBucket(toTimeBucketInDay();
+        indicator.setEndpointId(this.getEndpointId());
+        indicator.setChildEndpointId(this.getChildEndpointId());
+        indicator.setServiceId(this.getServiceId());
+        indicator.setChildServiceId(this.getChildServiceId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setChildServiceInstanceId(this.getChildServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toTimeBucketInMonth() {
+EndpointRelationAvgIndicator indicator = new EndpointRelationAvgIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setEndpointId(this.getEndpointId());
+        indicator.setChildEndpointId(this.getChildEndpointId());
+        indicator.setServiceId(this.getServiceId());
+        indicator.setChildServiceId(this.getChildServiceId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setChildServiceInstanceId(this.getChildServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<EndpointRelationAvgIndicator> {
 
         @Override public Map<String, Object> data2Map(EndpointRelationAvgIndicator storageData) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceAvgIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceAvgIndicator.java
index e84c439..90e68b4 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceAvgIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceAvgIndicator.java
@@ -97,12 +97,50 @@ public class ServiceAvgIndicator extends LongAvgIndicator implements AlarmSuppor
 
         setId(remoteData.getDataIntegers(0));
         setCount(remoteData.getDataIntegers(1));
+
+
     }
 
     @Override public AlarmMeta getAlarmMeta() {
         return new AlarmMeta("Service_Avg", Scope.Service, id);
     }
 
+    @Override
+    public Indicator toHour() {
+        ServiceAvgIndicator indicator = new ServiceAvgIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setId(this.getId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+ServiceAvgIndicator indicator = new ServiceAvgIndicator();
+        indicator.setTimeBucket(toTimeBucketInDay();
+        indicator.setId(this.getId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toTimeBucketInMonth() {
+ServiceAvgIndicator indicator = new ServiceAvgIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setId(this.getId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<ServiceAvgIndicator> {
 
         @Override public Map<String, Object> data2Map(ServiceAvgIndicator storageData) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceCallsSumIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceCallsSumIndicator.java
index 202b8c8..add7c0c 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceCallsSumIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceCallsSumIndicator.java
@@ -21,14 +21,15 @@ package org.apache.skywalking.oap.server.core.analysis.generated.service;
 import java.util.*;
 import lombok.*;
 import org.apache.skywalking.oap.server.core.Const;
-import org.apache.skywalking.oap.server.core.alarm.*;
-import org.apache.skywalking.oap.server.core.analysis.indicator.SumIndicator;
+import org.apache.skywalking.oap.server.core.alarm.AlarmMeta;
+import org.apache.skywalking.oap.server.core.alarm.AlarmSupported;
+import org.apache.skywalking.oap.server.core.analysis.indicator.*;
 import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.IndicatorType;
 import org.apache.skywalking.oap.server.core.remote.annotation.StreamData;
 import org.apache.skywalking.oap.server.core.remote.grpc.proto.RemoteData;
-import org.apache.skywalking.oap.server.core.source.Scope;
-import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
 import org.apache.skywalking.oap.server.core.storage.annotation.*;
+import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
+import org.apache.skywalking.oap.server.core.source.Scope;
 
 /**
  * This class is auto generated. Please don't change this class manually.
@@ -92,12 +93,44 @@ public class ServiceCallsSumIndicator extends SumIndicator implements AlarmSuppo
 
 
         setId(remoteData.getDataIntegers(0));
+
+
     }
 
     @Override public AlarmMeta getAlarmMeta() {
         return new AlarmMeta("Service_Calls_Sum", Scope.Service, id);
     }
 
+    @Override
+    public Indicator toHour() {
+        ServiceCallsSumIndicator indicator = new ServiceCallsSumIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setId(this.getId());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+ServiceCallsSumIndicator indicator = new ServiceCallsSumIndicator();
+        indicator.setTimeBucket(toTimeBucketInDay();
+        indicator.setId(this.getId());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toTimeBucketInMonth() {
+ServiceCallsSumIndicator indicator = new ServiceCallsSumIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setId(this.getId());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<ServiceCallsSumIndicator> {
 
         @Override public Map<String, Object> data2Map(ServiceCallsSumIndicator storageData) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceDispatcher.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceDispatcher.java
index 80cb30d..65c6e39 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceDispatcher.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceDispatcher.java
@@ -20,7 +20,7 @@ package org.apache.skywalking.oap.server.core.analysis.generated.service;
 
 import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher;
 import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess;
-import org.apache.skywalking.oap.server.core.source.Service;
+import org.apache.skywalking.oap.server.core.source.*;
 
 /**
  * This class is auto generated. Please don't change this class manually.
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstance/ServiceInstanceRespTimeIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstance/ServiceInstanceRespTimeIndicator.java
index ac68e5b..e1f8f53 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstance/ServiceInstanceRespTimeIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstance/ServiceInstanceRespTimeIndicator.java
@@ -100,12 +100,53 @@ public class ServiceInstanceRespTimeIndicator extends LongAvgIndicator implement
         setId(remoteData.getDataIntegers(0));
         setServiceId(remoteData.getDataIntegers(1));
         setCount(remoteData.getDataIntegers(2));
+
+
     }
 
     @Override public AlarmMeta getAlarmMeta() {
         return new AlarmMeta("ServiceInstance_RespTime", Scope.ServiceInstance, id, serviceId);
     }
 
+    @Override
+    public Indicator toHour() {
+        ServiceInstanceRespTimeIndicator indicator = new ServiceInstanceRespTimeIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setId(this.getId());
+        indicator.setServiceId(this.getServiceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+ServiceInstanceRespTimeIndicator indicator = new ServiceInstanceRespTimeIndicator();
+        indicator.setTimeBucket(toTimeBucketInDay();
+        indicator.setId(this.getId());
+        indicator.setServiceId(this.getServiceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toTimeBucketInMonth() {
+ServiceInstanceRespTimeIndicator indicator = new ServiceInstanceRespTimeIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setId(this.getId());
+        indicator.setServiceId(this.getServiceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<ServiceInstanceRespTimeIndicator> {
 
         @Override public Map<String, Object> data2Map(ServiceInstanceRespTimeIndicator storageData) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmcpu/InstanceJvmCpuIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmcpu/InstanceJvmCpuIndicator.java
index 409051b..e4c9fa9 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmcpu/InstanceJvmCpuIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmcpu/InstanceJvmCpuIndicator.java
@@ -100,12 +100,53 @@ public class InstanceJvmCpuIndicator extends DoubleAvgIndicator implements Alarm
         setId(remoteData.getDataIntegers(0));
         setServiceInstanceId(remoteData.getDataIntegers(1));
         setCount(remoteData.getDataIntegers(2));
+
+
     }
 
     @Override public AlarmMeta getAlarmMeta() {
         return new AlarmMeta("instance_jvm_cpu", Scope.ServiceInstanceJVMCPU, id, serviceInstanceId);
     }
 
+    @Override
+    public Indicator toHour() {
+        InstanceJvmCpuIndicator indicator = new InstanceJvmCpuIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setId(this.getId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+InstanceJvmCpuIndicator indicator = new InstanceJvmCpuIndicator();
+        indicator.setTimeBucket(toTimeBucketInDay();
+        indicator.setId(this.getId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toTimeBucketInMonth() {
+InstanceJvmCpuIndicator indicator = new InstanceJvmCpuIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setId(this.getId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<InstanceJvmCpuIndicator> {
 
         @Override public Map<String, Object> data2Map(InstanceJvmCpuIndicator storageData) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmgc/InstanceJvmYoungGcTimeIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmgc/InstanceJvmYoungGcTimeIndicator.java
index ce27456..73acd33 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmgc/InstanceJvmYoungGcTimeIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmgc/InstanceJvmYoungGcTimeIndicator.java
@@ -100,12 +100,53 @@ public class InstanceJvmYoungGcTimeIndicator extends LongAvgIndicator implements
         setId(remoteData.getDataIntegers(0));
         setServiceInstanceId(remoteData.getDataIntegers(1));
         setCount(remoteData.getDataIntegers(2));
+
+
     }
 
     @Override public AlarmMeta getAlarmMeta() {
         return new AlarmMeta("instance_jvm_young_gc_time", Scope.ServiceInstanceJVMGC, id, serviceInstanceId);
     }
 
+    @Override
+    public Indicator toHour() {
+        InstanceJvmYoungGcTimeIndicator indicator = new InstanceJvmYoungGcTimeIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setId(this.getId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+InstanceJvmYoungGcTimeIndicator indicator = new InstanceJvmYoungGcTimeIndicator();
+        indicator.setTimeBucket(toTimeBucketInDay();
+        indicator.setId(this.getId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toTimeBucketInMonth() {
+InstanceJvmYoungGcTimeIndicator indicator = new InstanceJvmYoungGcTimeIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setId(this.getId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<InstanceJvmYoungGcTimeIndicator> {
 
         @Override public Map<String, Object> data2Map(InstanceJvmYoungGcTimeIndicator storageData) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemory/InstanceJvmMemoryMaxIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemory/InstanceJvmMemoryMaxIndicator.java
index 979b972..6ec9a83 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemory/InstanceJvmMemoryMaxIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemory/InstanceJvmMemoryMaxIndicator.java
@@ -100,12 +100,53 @@ public class InstanceJvmMemoryMaxIndicator extends LongAvgIndicator implements A
         setId(remoteData.getDataIntegers(0));
         setServiceInstanceId(remoteData.getDataIntegers(1));
         setCount(remoteData.getDataIntegers(2));
+
+
     }
 
     @Override public AlarmMeta getAlarmMeta() {
         return new AlarmMeta("instance_jvm_memory_max", Scope.ServiceInstanceJVMMemory, id, serviceInstanceId);
     }
 
+    @Override
+    public Indicator toHour() {
+        InstanceJvmMemoryMaxIndicator indicator = new InstanceJvmMemoryMaxIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setId(this.getId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+InstanceJvmMemoryMaxIndicator indicator = new InstanceJvmMemoryMaxIndicator();
+        indicator.setTimeBucket(toTimeBucketInDay();
+        indicator.setId(this.getId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toTimeBucketInMonth() {
+InstanceJvmMemoryMaxIndicator indicator = new InstanceJvmMemoryMaxIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setId(this.getId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<InstanceJvmMemoryMaxIndicator> {
 
         @Override public Map<String, Object> data2Map(InstanceJvmMemoryMaxIndicator storageData) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemorypool/InstanceJvmMemoryPoolMaxIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemorypool/InstanceJvmMemoryPoolMaxIndicator.java
index 294c707..68770d0 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemorypool/InstanceJvmMemoryPoolMaxIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemorypool/InstanceJvmMemoryPoolMaxIndicator.java
@@ -100,12 +100,53 @@ public class InstanceJvmMemoryPoolMaxIndicator extends LongAvgIndicator implemen
         setId(remoteData.getDataIntegers(0));
         setServiceInstanceId(remoteData.getDataIntegers(1));
         setCount(remoteData.getDataIntegers(2));
+
+
     }
 
     @Override public AlarmMeta getAlarmMeta() {
         return new AlarmMeta("instance_jvm_memory_pool_max", Scope.ServiceInstanceJVMMemoryPool, id, serviceInstanceId);
     }
 
+    @Override
+    public Indicator toHour() {
+        InstanceJvmMemoryPoolMaxIndicator indicator = new InstanceJvmMemoryPoolMaxIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setId(this.getId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+InstanceJvmMemoryPoolMaxIndicator indicator = new InstanceJvmMemoryPoolMaxIndicator();
+        indicator.setTimeBucket(toTimeBucketInDay();
+        indicator.setId(this.getId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toTimeBucketInMonth() {
+InstanceJvmMemoryPoolMaxIndicator indicator = new InstanceJvmMemoryPoolMaxIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setId(this.getId());
+        indicator.setServiceInstanceId(this.getServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<InstanceJvmMemoryPoolMaxIndicator> {
 
         @Override public Map<String, Object> data2Map(InstanceJvmMemoryPoolMaxIndicator storageData) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancerelation/ServiceInstanceRelationAvgIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancerelation/ServiceInstanceRelationAvgIndicator.java
index aea745a..e56114a 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancerelation/ServiceInstanceRelationAvgIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancerelation/ServiceInstanceRelationAvgIndicator.java
@@ -110,12 +110,59 @@ public class ServiceInstanceRelationAvgIndicator extends LongAvgIndicator implem
         setSourceServiceInstanceId(remoteData.getDataIntegers(2));
         setDestServiceInstanceId(remoteData.getDataIntegers(3));
         setCount(remoteData.getDataIntegers(4));
+
+
     }
 
     @Override public AlarmMeta getAlarmMeta() {
         return new AlarmMeta("ServiceInstanceRelation_Avg", Scope.ServiceInstanceRelation, sourceServiceId, destServiceId, sourceServiceInstanceId, destServiceInstanceId);
     }
 
+    @Override
+    public Indicator toHour() {
+        ServiceInstanceRelationAvgIndicator indicator = new ServiceInstanceRelationAvgIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setSourceServiceId(this.getSourceServiceId());
+        indicator.setDestServiceId(this.getDestServiceId());
+        indicator.setSourceServiceInstanceId(this.getSourceServiceInstanceId());
+        indicator.setDestServiceInstanceId(this.getDestServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+ServiceInstanceRelationAvgIndicator indicator = new ServiceInstanceRelationAvgIndicator();
+        indicator.setTimeBucket(toTimeBucketInDay();
+        indicator.setSourceServiceId(this.getSourceServiceId());
+        indicator.setDestServiceId(this.getDestServiceId());
+        indicator.setSourceServiceInstanceId(this.getSourceServiceInstanceId());
+        indicator.setDestServiceInstanceId(this.getDestServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toTimeBucketInMonth() {
+ServiceInstanceRelationAvgIndicator indicator = new ServiceInstanceRelationAvgIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setSourceServiceId(this.getSourceServiceId());
+        indicator.setDestServiceId(this.getDestServiceId());
+        indicator.setSourceServiceInstanceId(this.getSourceServiceInstanceId());
+        indicator.setDestServiceInstanceId(this.getDestServiceInstanceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<ServiceInstanceRelationAvgIndicator> {
 
         @Override public Map<String, Object> data2Map(ServiceInstanceRelationAvgIndicator storageData) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationAvgIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationAvgIndicator.java
index 71be3fc..b0f5897 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationAvgIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationAvgIndicator.java
@@ -21,14 +21,15 @@ package org.apache.skywalking.oap.server.core.analysis.generated.servicerelation
 import java.util.*;
 import lombok.*;
 import org.apache.skywalking.oap.server.core.Const;
-import org.apache.skywalking.oap.server.core.alarm.*;
-import org.apache.skywalking.oap.server.core.analysis.indicator.LongAvgIndicator;
+import org.apache.skywalking.oap.server.core.alarm.AlarmMeta;
+import org.apache.skywalking.oap.server.core.alarm.AlarmSupported;
+import org.apache.skywalking.oap.server.core.analysis.indicator.*;
 import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.IndicatorType;
 import org.apache.skywalking.oap.server.core.remote.annotation.StreamData;
 import org.apache.skywalking.oap.server.core.remote.grpc.proto.RemoteData;
-import org.apache.skywalking.oap.server.core.source.Scope;
-import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
 import org.apache.skywalking.oap.server.core.storage.annotation.*;
+import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
+import org.apache.skywalking.oap.server.core.source.Scope;
 
 /**
  * This class is auto generated. Please don't change this class manually.
@@ -103,12 +104,53 @@ public class ServiceRelationAvgIndicator extends LongAvgIndicator implements Ala
         setSourceServiceId(remoteData.getDataIntegers(0));
         setDestServiceId(remoteData.getDataIntegers(1));
         setCount(remoteData.getDataIntegers(2));
+
+
     }
 
     @Override public AlarmMeta getAlarmMeta() {
         return new AlarmMeta("ServiceRelation_Avg", Scope.ServiceRelation, sourceServiceId, destServiceId);
     }
 
+    @Override
+    public Indicator toHour() {
+        ServiceRelationAvgIndicator indicator = new ServiceRelationAvgIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setSourceServiceId(this.getSourceServiceId());
+        indicator.setDestServiceId(this.getDestServiceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+ServiceRelationAvgIndicator indicator = new ServiceRelationAvgIndicator();
+        indicator.setTimeBucket(toTimeBucketInDay();
+        indicator.setSourceServiceId(this.getSourceServiceId());
+        indicator.setDestServiceId(this.getDestServiceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toTimeBucketInMonth() {
+ServiceRelationAvgIndicator indicator = new ServiceRelationAvgIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setSourceServiceId(this.getSourceServiceId());
+        indicator.setDestServiceId(this.getDestServiceId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<ServiceRelationAvgIndicator> {
 
         @Override public Map<String, Object> data2Map(ServiceRelationAvgIndicator storageData) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationClientCallsSumIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationClientCallsSumIndicator.java
index 0d1f03a..73326c2 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationClientCallsSumIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationClientCallsSumIndicator.java
@@ -21,14 +21,15 @@ package org.apache.skywalking.oap.server.core.analysis.generated.servicerelation
 import java.util.*;
 import lombok.*;
 import org.apache.skywalking.oap.server.core.Const;
-import org.apache.skywalking.oap.server.core.alarm.*;
-import org.apache.skywalking.oap.server.core.analysis.indicator.SumIndicator;
+import org.apache.skywalking.oap.server.core.alarm.AlarmMeta;
+import org.apache.skywalking.oap.server.core.alarm.AlarmSupported;
+import org.apache.skywalking.oap.server.core.analysis.indicator.*;
 import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.IndicatorType;
 import org.apache.skywalking.oap.server.core.remote.annotation.StreamData;
 import org.apache.skywalking.oap.server.core.remote.grpc.proto.RemoteData;
-import org.apache.skywalking.oap.server.core.source.Scope;
-import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
 import org.apache.skywalking.oap.server.core.storage.annotation.*;
+import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
+import org.apache.skywalking.oap.server.core.source.Scope;
 
 /**
  * This class is auto generated. Please don't change this class manually.
@@ -99,12 +100,47 @@ public class ServiceRelationClientCallsSumIndicator extends SumIndicator impleme
 
         setSourceServiceId(remoteData.getDataIntegers(0));
         setDestServiceId(remoteData.getDataIntegers(1));
+
+
     }
 
     @Override public AlarmMeta getAlarmMeta() {
         return new AlarmMeta("Service_Relation_Client_Calls_Sum", Scope.ServiceRelation, sourceServiceId, destServiceId);
     }
 
+    @Override
+    public Indicator toHour() {
+        ServiceRelationClientCallsSumIndicator indicator = new ServiceRelationClientCallsSumIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setSourceServiceId(this.getSourceServiceId());
+        indicator.setDestServiceId(this.getDestServiceId());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+ServiceRelationClientCallsSumIndicator indicator = new ServiceRelationClientCallsSumIndicator();
+        indicator.setTimeBucket(toTimeBucketInDay();
+        indicator.setSourceServiceId(this.getSourceServiceId());
+        indicator.setDestServiceId(this.getDestServiceId());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toTimeBucketInMonth() {
+ServiceRelationClientCallsSumIndicator indicator = new ServiceRelationClientCallsSumIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setSourceServiceId(this.getSourceServiceId());
+        indicator.setDestServiceId(this.getDestServiceId());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<ServiceRelationClientCallsSumIndicator> {
 
         @Override public Map<String, Object> data2Map(ServiceRelationClientCallsSumIndicator storageData) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationDispatcher.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationDispatcher.java
index dcad4d3..cce5f07 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationDispatcher.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationDispatcher.java
@@ -19,8 +19,9 @@
 package org.apache.skywalking.oap.server.core.analysis.generated.servicerelation;
 
 import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher;
-import org.apache.skywalking.oap.server.core.analysis.indicator.expression.EqualMatch;
 import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess;
+import org.apache.skywalking.oap.server.core.analysis.indicator.expression.*;
+import org.apache.skywalking.oap.server.core.analysis.indicator.expression.*;
 import org.apache.skywalking.oap.server.core.source.*;
 
 /**
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationServerCallsSumIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationServerCallsSumIndicator.java
index ced9e3d..08432a1 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationServerCallsSumIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationServerCallsSumIndicator.java
@@ -21,14 +21,15 @@ package org.apache.skywalking.oap.server.core.analysis.generated.servicerelation
 import java.util.*;
 import lombok.*;
 import org.apache.skywalking.oap.server.core.Const;
-import org.apache.skywalking.oap.server.core.alarm.*;
-import org.apache.skywalking.oap.server.core.analysis.indicator.SumIndicator;
+import org.apache.skywalking.oap.server.core.alarm.AlarmMeta;
+import org.apache.skywalking.oap.server.core.alarm.AlarmSupported;
+import org.apache.skywalking.oap.server.core.analysis.indicator.*;
 import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.IndicatorType;
 import org.apache.skywalking.oap.server.core.remote.annotation.StreamData;
 import org.apache.skywalking.oap.server.core.remote.grpc.proto.RemoteData;
-import org.apache.skywalking.oap.server.core.source.Scope;
-import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
 import org.apache.skywalking.oap.server.core.storage.annotation.*;
+import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
+import org.apache.skywalking.oap.server.core.source.Scope;
 
 /**
  * This class is auto generated. Please don't change this class manually.
@@ -99,12 +100,47 @@ public class ServiceRelationServerCallsSumIndicator extends SumIndicator impleme
 
         setSourceServiceId(remoteData.getDataIntegers(0));
         setDestServiceId(remoteData.getDataIntegers(1));
+
+
     }
 
     @Override public AlarmMeta getAlarmMeta() {
         return new AlarmMeta("Service_Relation_Server_Calls_Sum", Scope.ServiceRelation, sourceServiceId, destServiceId);
     }
 
+    @Override
+    public Indicator toHour() {
+        ServiceRelationServerCallsSumIndicator indicator = new ServiceRelationServerCallsSumIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setSourceServiceId(this.getSourceServiceId());
+        indicator.setDestServiceId(this.getDestServiceId());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+ServiceRelationServerCallsSumIndicator indicator = new ServiceRelationServerCallsSumIndicator();
+        indicator.setTimeBucket(toTimeBucketInDay();
+        indicator.setSourceServiceId(this.getSourceServiceId());
+        indicator.setDestServiceId(this.getDestServiceId());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toTimeBucketInMonth() {
+ServiceRelationServerCallsSumIndicator indicator = new ServiceRelationServerCallsSumIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour();
+        indicator.setSourceServiceId(this.getSourceServiceId());
+        indicator.setDestServiceId(this.getDestServiceId());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<ServiceRelationServerCallsSumIndicator> {
 
         @Override public Map<String, Object> data2Map(ServiceRelationServerCallsSumIndicator storageData) {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/Indicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/Indicator.java
index 433e595..018c494 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/Indicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/Indicator.java
@@ -39,6 +39,12 @@ public abstract class Indicator extends StreamData implements StorageData {
 
     public abstract void calculate();
 
+    public abstract Indicator toHour();
+
+    public abstract Indicator toDay();
+
+    public abstract Indicator toMonth();
+
     public long toTimeBucketInHour() {
         /**
          * timeBucket in minute
@@ -70,7 +76,7 @@ public abstract class Indicator extends StreamData implements StorageData {
             return timeBucket / 1000000;
         } else if (timeBucket < 9999999999L && timeBucket > 1000000000L) {
             return timeBucket / 10000;
-        } else if (timeBucket < 99999999L  && timeBucket > 10000000L) {
+        } else if (timeBucket < 99999999L && timeBucket > 10000000L) {
             return timeBucket / 100;
         } else {
             throw new IllegalStateException("Current time bucket is not in minute dimensionality");


[incubator-skywalking] 02/02: Merge commit '1936d38d163998762e66bbd3af8114a267bc1964' into timebucket

Posted by wu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 26e8e4b0969d5c15c9ba96697f668b17946c85f2
Merge: f42c1fd 1936d38
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Wed Sep 12 15:12:29 2018 +0800

    Merge commit '1936d38d163998762e66bbd3af8114a267bc1964' into timebucket
    
    # Conflicts:
    #	oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllDispatcher.java
    #	oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllHeatmapIndicator.java
    
    Support to hour, day, month dimensionalities

 .../generated/all/AllHeatmapIndicator.java         |  14 +--
 .../analysis/generated/all/AllP50Indicator.java    |  14 +--
 .../analysis/generated/all/AllP75Indicator.java    |  14 +--
 .../analysis/generated/all/AllP90Indicator.java    |  14 +--
 .../analysis/generated/all/AllP95Indicator.java    |  14 +--
 .../analysis/generated/all/AllP99Indicator.java    |  14 +--
 .../generated/endpoint/EndpointAvgIndicator.java   |  12 +-
 .../endpoint/EndpointPercentIndicator.java         |  12 +-
 .../EndpointRelationAvgIndicator.java              |  12 +-
 .../generated/service/ServiceAvgIndicator.java     |  12 +-
 .../service/ServiceCallsSumIndicator.java          |  12 +-
 .../ServiceInstanceRespTimeIndicator.java          |  12 +-
 .../InstanceJvmCpuIndicator.java                   |  12 +-
 .../InstanceJvmYoungGcTimeIndicator.java           |  12 +-
 .../InstanceJvmMemoryMaxIndicator.java             |  12 +-
 .../InstanceJvmMemoryPoolMaxIndicator.java         |  12 +-
 .../ServiceInstanceRelationAvgIndicator.java       |  12 +-
 .../ServiceRelationAvgIndicator.java               |  12 +-
 .../ServiceRelationClientCallsSumIndicator.java    |  12 +-
 .../ServiceRelationServerCallsSumIndicator.java    |  12 +-
 .../analysis/indicator/ThermodynamicIndicator.java | 129 +++++++++++++++++++++
 .../indicator/ThermodynamicIndicatorTest.java      | 109 +++++++++++++++++
 22 files changed, 364 insertions(+), 126 deletions(-)

diff --cc oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllHeatmapIndicator.java
index 855fdf8,99909f5..f40a9b6
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllHeatmapIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllHeatmapIndicator.java
@@@ -99,39 -99,6 +99,39 @@@ public class AllHeatmapIndicator extend
          return new AlarmMeta("All_heatmap", Scope.All);
      }
  
 +    @Override
 +    public Indicator toHour() {
 +        AllHeatmapIndicator indicator = new AllHeatmapIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++        indicator.setTimeBucket(toTimeBucketInHour());
 +        indicator.setStep(this.getStep());
 +        indicator.setNumOfSteps(this.getNumOfSteps());
 +        indicator.setDetailGroup(this.getDetailGroup());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
 +    public Indicator toDay() {
- AllHeatmapIndicator indicator = new AllHeatmapIndicator();
-         indicator.setTimeBucket(toTimeBucketInDay();
++        AllHeatmapIndicator indicator = new AllHeatmapIndicator();
++        indicator.setTimeBucket(toTimeBucketInDay());
 +        indicator.setStep(this.getStep());
 +        indicator.setNumOfSteps(this.getNumOfSteps());
 +        indicator.setDetailGroup(this.getDetailGroup());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
-     public Indicator toTimeBucketInMonth() {
- AllHeatmapIndicator indicator = new AllHeatmapIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++    public Indicator toMonth() {
++        AllHeatmapIndicator indicator = new AllHeatmapIndicator();
++        indicator.setTimeBucket(toTimeBucketInMonth());
 +        indicator.setStep(this.getStep());
 +        indicator.setNumOfSteps(this.getNumOfSteps());
 +        indicator.setDetailGroup(this.getDetailGroup());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
      public static class Builder implements StorageBuilder<AllHeatmapIndicator> {
  
          @Override public Map<String, Object> data2Map(AllHeatmapIndicator storageData) {
@@@ -147,7 -114,7 +147,7 @@@
              AllHeatmapIndicator indicator = new AllHeatmapIndicator();
              indicator.setStep(((Number)dbMap.get("step")).intValue());
              indicator.setNumOfSteps(((Number)dbMap.get("num_of_steps")).intValue());
--            indicator.setDetailGroup((List)dbMap.get("detail_group"));
++            indicator.setDetailGroup((java.util.List)dbMap.get("detail_group"));
              indicator.setTimeBucket(((Number)dbMap.get("time_bucket")).longValue());
              return indicator;
          }
diff --cc oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP50Indicator.java
index 56d2a8f,6602815..3906026
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP50Indicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP50Indicator.java
@@@ -99,39 -99,6 +99,39 @@@ public class AllP50Indicator extends P5
          return new AlarmMeta("All_p50", Scope.All);
      }
  
 +    @Override
 +    public Indicator toHour() {
 +        AllP50Indicator indicator = new AllP50Indicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++        indicator.setTimeBucket(toTimeBucketInHour());
 +        indicator.setValue(this.getValue());
 +        indicator.setPrecision(this.getPrecision());
 +        indicator.setDetailGroup(this.getDetailGroup());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
 +    public Indicator toDay() {
- AllP50Indicator indicator = new AllP50Indicator();
-         indicator.setTimeBucket(toTimeBucketInDay();
++        AllP50Indicator indicator = new AllP50Indicator();
++        indicator.setTimeBucket(toTimeBucketInDay());
 +        indicator.setValue(this.getValue());
 +        indicator.setPrecision(this.getPrecision());
 +        indicator.setDetailGroup(this.getDetailGroup());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
-     public Indicator toTimeBucketInMonth() {
- AllP50Indicator indicator = new AllP50Indicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++    public Indicator toMonth() {
++        AllP50Indicator indicator = new AllP50Indicator();
++        indicator.setTimeBucket(toTimeBucketInMonth());
 +        indicator.setValue(this.getValue());
 +        indicator.setPrecision(this.getPrecision());
 +        indicator.setDetailGroup(this.getDetailGroup());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
      public static class Builder implements StorageBuilder<AllP50Indicator> {
  
          @Override public Map<String, Object> data2Map(AllP50Indicator storageData) {
@@@ -147,7 -114,7 +147,7 @@@
              AllP50Indicator indicator = new AllP50Indicator();
              indicator.setValue(((Number)dbMap.get("value")).intValue());
              indicator.setPrecision(((Number)dbMap.get("precision")).intValue());
--            indicator.setDetailGroup((List)dbMap.get("detail_group"));
++            indicator.setDetailGroup((java.util.List)dbMap.get("detail_group"));
              indicator.setTimeBucket(((Number)dbMap.get("time_bucket")).longValue());
              return indicator;
          }
diff --cc oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP75Indicator.java
index 17bcd36,2a36fa2..306ee23
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP75Indicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP75Indicator.java
@@@ -99,39 -99,6 +99,39 @@@ public class AllP75Indicator extends P7
          return new AlarmMeta("All_p75", Scope.All);
      }
  
 +    @Override
 +    public Indicator toHour() {
 +        AllP75Indicator indicator = new AllP75Indicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++        indicator.setTimeBucket(toTimeBucketInHour());
 +        indicator.setValue(this.getValue());
 +        indicator.setPrecision(this.getPrecision());
 +        indicator.setDetailGroup(this.getDetailGroup());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
 +    public Indicator toDay() {
- AllP75Indicator indicator = new AllP75Indicator();
-         indicator.setTimeBucket(toTimeBucketInDay();
++        AllP75Indicator indicator = new AllP75Indicator();
++        indicator.setTimeBucket(toTimeBucketInDay());
 +        indicator.setValue(this.getValue());
 +        indicator.setPrecision(this.getPrecision());
 +        indicator.setDetailGroup(this.getDetailGroup());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
-     public Indicator toTimeBucketInMonth() {
- AllP75Indicator indicator = new AllP75Indicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++    public Indicator toMonth() {
++        AllP75Indicator indicator = new AllP75Indicator();
++        indicator.setTimeBucket(toTimeBucketInMonth());
 +        indicator.setValue(this.getValue());
 +        indicator.setPrecision(this.getPrecision());
 +        indicator.setDetailGroup(this.getDetailGroup());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
      public static class Builder implements StorageBuilder<AllP75Indicator> {
  
          @Override public Map<String, Object> data2Map(AllP75Indicator storageData) {
@@@ -147,7 -114,7 +147,7 @@@
              AllP75Indicator indicator = new AllP75Indicator();
              indicator.setValue(((Number)dbMap.get("value")).intValue());
              indicator.setPrecision(((Number)dbMap.get("precision")).intValue());
--            indicator.setDetailGroup((List)dbMap.get("detail_group"));
++            indicator.setDetailGroup((java.util.List)dbMap.get("detail_group"));
              indicator.setTimeBucket(((Number)dbMap.get("time_bucket")).longValue());
              return indicator;
          }
diff --cc oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP90Indicator.java
index e87b534,1384e35..455fdfe
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP90Indicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP90Indicator.java
@@@ -99,39 -99,6 +99,39 @@@ public class AllP90Indicator extends P9
          return new AlarmMeta("All_p90", Scope.All);
      }
  
 +    @Override
 +    public Indicator toHour() {
 +        AllP90Indicator indicator = new AllP90Indicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++        indicator.setTimeBucket(toTimeBucketInHour());
 +        indicator.setValue(this.getValue());
 +        indicator.setPrecision(this.getPrecision());
 +        indicator.setDetailGroup(this.getDetailGroup());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
 +    public Indicator toDay() {
- AllP90Indicator indicator = new AllP90Indicator();
-         indicator.setTimeBucket(toTimeBucketInDay();
++        AllP90Indicator indicator = new AllP90Indicator();
++        indicator.setTimeBucket(toTimeBucketInDay());
 +        indicator.setValue(this.getValue());
 +        indicator.setPrecision(this.getPrecision());
 +        indicator.setDetailGroup(this.getDetailGroup());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
-     public Indicator toTimeBucketInMonth() {
- AllP90Indicator indicator = new AllP90Indicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++    public Indicator toMonth() {
++        AllP90Indicator indicator = new AllP90Indicator();
++        indicator.setTimeBucket(toTimeBucketInMonth());
 +        indicator.setValue(this.getValue());
 +        indicator.setPrecision(this.getPrecision());
 +        indicator.setDetailGroup(this.getDetailGroup());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
      public static class Builder implements StorageBuilder<AllP90Indicator> {
  
          @Override public Map<String, Object> data2Map(AllP90Indicator storageData) {
@@@ -147,7 -114,7 +147,7 @@@
              AllP90Indicator indicator = new AllP90Indicator();
              indicator.setValue(((Number)dbMap.get("value")).intValue());
              indicator.setPrecision(((Number)dbMap.get("precision")).intValue());
--            indicator.setDetailGroup((List)dbMap.get("detail_group"));
++            indicator.setDetailGroup((java.util.List)dbMap.get("detail_group"));
              indicator.setTimeBucket(((Number)dbMap.get("time_bucket")).longValue());
              return indicator;
          }
diff --cc oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP95Indicator.java
index 3aff40b,4f6598a..8df0ca5
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP95Indicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP95Indicator.java
@@@ -99,39 -99,6 +99,39 @@@ public class AllP95Indicator extends P9
          return new AlarmMeta("All_p95", Scope.All);
      }
  
 +    @Override
 +    public Indicator toHour() {
 +        AllP95Indicator indicator = new AllP95Indicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++        indicator.setTimeBucket(toTimeBucketInHour());
 +        indicator.setValue(this.getValue());
 +        indicator.setPrecision(this.getPrecision());
 +        indicator.setDetailGroup(this.getDetailGroup());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
 +    public Indicator toDay() {
- AllP95Indicator indicator = new AllP95Indicator();
-         indicator.setTimeBucket(toTimeBucketInDay();
++        AllP95Indicator indicator = new AllP95Indicator();
++        indicator.setTimeBucket(toTimeBucketInDay());
 +        indicator.setValue(this.getValue());
 +        indicator.setPrecision(this.getPrecision());
 +        indicator.setDetailGroup(this.getDetailGroup());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
-     public Indicator toTimeBucketInMonth() {
- AllP95Indicator indicator = new AllP95Indicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++    public Indicator toMonth() {
++        AllP95Indicator indicator = new AllP95Indicator();
++        indicator.setTimeBucket(toTimeBucketInMonth());
 +        indicator.setValue(this.getValue());
 +        indicator.setPrecision(this.getPrecision());
 +        indicator.setDetailGroup(this.getDetailGroup());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
      public static class Builder implements StorageBuilder<AllP95Indicator> {
  
          @Override public Map<String, Object> data2Map(AllP95Indicator storageData) {
@@@ -147,7 -114,7 +147,7 @@@
              AllP95Indicator indicator = new AllP95Indicator();
              indicator.setValue(((Number)dbMap.get("value")).intValue());
              indicator.setPrecision(((Number)dbMap.get("precision")).intValue());
--            indicator.setDetailGroup((List)dbMap.get("detail_group"));
++            indicator.setDetailGroup((java.util.List)dbMap.get("detail_group"));
              indicator.setTimeBucket(((Number)dbMap.get("time_bucket")).longValue());
              return indicator;
          }
diff --cc oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP99Indicator.java
index 2b88c9b,1ed1477..880a42b
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP99Indicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP99Indicator.java
@@@ -99,39 -99,6 +99,39 @@@ public class AllP99Indicator extends P9
          return new AlarmMeta("All_p99", Scope.All);
      }
  
 +    @Override
 +    public Indicator toHour() {
 +        AllP99Indicator indicator = new AllP99Indicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++        indicator.setTimeBucket(toTimeBucketInHour());
 +        indicator.setValue(this.getValue());
 +        indicator.setPrecision(this.getPrecision());
 +        indicator.setDetailGroup(this.getDetailGroup());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
 +    public Indicator toDay() {
- AllP99Indicator indicator = new AllP99Indicator();
-         indicator.setTimeBucket(toTimeBucketInDay();
++        AllP99Indicator indicator = new AllP99Indicator();
++        indicator.setTimeBucket(toTimeBucketInDay());
 +        indicator.setValue(this.getValue());
 +        indicator.setPrecision(this.getPrecision());
 +        indicator.setDetailGroup(this.getDetailGroup());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
-     public Indicator toTimeBucketInMonth() {
- AllP99Indicator indicator = new AllP99Indicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++    public Indicator toMonth() {
++        AllP99Indicator indicator = new AllP99Indicator();
++        indicator.setTimeBucket(toTimeBucketInMonth());
 +        indicator.setValue(this.getValue());
 +        indicator.setPrecision(this.getPrecision());
 +        indicator.setDetailGroup(this.getDetailGroup());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
      public static class Builder implements StorageBuilder<AllP99Indicator> {
  
          @Override public Map<String, Object> data2Map(AllP99Indicator storageData) {
@@@ -147,7 -114,7 +147,7 @@@
              AllP99Indicator indicator = new AllP99Indicator();
              indicator.setValue(((Number)dbMap.get("value")).intValue());
              indicator.setPrecision(((Number)dbMap.get("precision")).intValue());
--            indicator.setDetailGroup((List)dbMap.get("detail_group"));
++            indicator.setDetailGroup((java.util.List)dbMap.get("detail_group"));
              indicator.setTimeBucket(((Number)dbMap.get("time_bucket")).longValue());
              return indicator;
          }
diff --cc oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointAvgIndicator.java
index 1704a62,9ec7a6d..e1eb230
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointAvgIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointAvgIndicator.java
@@@ -111,48 -109,6 +111,48 @@@ public class EndpointAvgIndicator exten
          return new AlarmMeta("endpoint_Avg", Scope.Endpoint, id, serviceId, serviceInstanceId);
      }
  
 +    @Override
 +    public Indicator toHour() {
 +        EndpointAvgIndicator indicator = new EndpointAvgIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++        indicator.setTimeBucket(toTimeBucketInHour());
 +        indicator.setId(this.getId());
 +        indicator.setServiceId(this.getServiceId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
 +    public Indicator toDay() {
- EndpointAvgIndicator indicator = new EndpointAvgIndicator();
-         indicator.setTimeBucket(toTimeBucketInDay();
++        EndpointAvgIndicator indicator = new EndpointAvgIndicator();
++        indicator.setTimeBucket(toTimeBucketInDay());
 +        indicator.setId(this.getId());
 +        indicator.setServiceId(this.getServiceId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
-     public Indicator toTimeBucketInMonth() {
- EndpointAvgIndicator indicator = new EndpointAvgIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++    public Indicator toMonth() {
++        EndpointAvgIndicator indicator = new EndpointAvgIndicator();
++        indicator.setTimeBucket(toTimeBucketInMonth());
 +        indicator.setId(this.getId());
 +        indicator.setServiceId(this.getServiceId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
      public static class Builder implements StorageBuilder<EndpointAvgIndicator> {
  
          @Override public Map<String, Object> data2Map(EndpointAvgIndicator storageData) {
diff --cc oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointPercentIndicator.java
index 5897f61,afd5dbf..de0e36b
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointPercentIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointPercentIndicator.java
@@@ -111,48 -109,6 +111,48 @@@ public class EndpointPercentIndicator e
          return new AlarmMeta("endpoint_percent", Scope.Endpoint, id, serviceId, serviceInstanceId);
      }
  
 +    @Override
 +    public Indicator toHour() {
 +        EndpointPercentIndicator indicator = new EndpointPercentIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++        indicator.setTimeBucket(toTimeBucketInHour());
 +        indicator.setId(this.getId());
 +        indicator.setServiceId(this.getServiceId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setTotal(this.getTotal());
 +        indicator.setPercentage(this.getPercentage());
 +        indicator.setMatch(this.getMatch());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
 +    public Indicator toDay() {
- EndpointPercentIndicator indicator = new EndpointPercentIndicator();
-         indicator.setTimeBucket(toTimeBucketInDay();
++        EndpointPercentIndicator indicator = new EndpointPercentIndicator();
++        indicator.setTimeBucket(toTimeBucketInDay());
 +        indicator.setId(this.getId());
 +        indicator.setServiceId(this.getServiceId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setTotal(this.getTotal());
 +        indicator.setPercentage(this.getPercentage());
 +        indicator.setMatch(this.getMatch());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
-     public Indicator toTimeBucketInMonth() {
- EndpointPercentIndicator indicator = new EndpointPercentIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++    public Indicator toMonth() {
++        EndpointPercentIndicator indicator = new EndpointPercentIndicator();
++        indicator.setTimeBucket(toTimeBucketInMonth());
 +        indicator.setId(this.getId());
 +        indicator.setServiceId(this.getServiceId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setTotal(this.getTotal());
 +        indicator.setPercentage(this.getPercentage());
 +        indicator.setMatch(this.getMatch());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
      public static class Builder implements StorageBuilder<EndpointPercentIndicator> {
  
          @Override public Map<String, Object> data2Map(EndpointPercentIndicator storageData) {
diff --cc oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpointrelation/EndpointRelationAvgIndicator.java
index 68e88c9,5b1f424..305739c
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpointrelation/EndpointRelationAvgIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpointrelation/EndpointRelationAvgIndicator.java
@@@ -124,57 -122,6 +124,57 @@@ public class EndpointRelationAvgIndicat
          return new AlarmMeta("EndpointRelation_Avg", Scope.EndpointRelation, endpointId, childEndpointId, serviceId, childServiceId, serviceInstanceId, childServiceInstanceId);
      }
  
 +    @Override
 +    public Indicator toHour() {
 +        EndpointRelationAvgIndicator indicator = new EndpointRelationAvgIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++        indicator.setTimeBucket(toTimeBucketInHour());
 +        indicator.setEndpointId(this.getEndpointId());
 +        indicator.setChildEndpointId(this.getChildEndpointId());
 +        indicator.setServiceId(this.getServiceId());
 +        indicator.setChildServiceId(this.getChildServiceId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setChildServiceInstanceId(this.getChildServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
 +    public Indicator toDay() {
- EndpointRelationAvgIndicator indicator = new EndpointRelationAvgIndicator();
-         indicator.setTimeBucket(toTimeBucketInDay();
++        EndpointRelationAvgIndicator indicator = new EndpointRelationAvgIndicator();
++        indicator.setTimeBucket(toTimeBucketInDay());
 +        indicator.setEndpointId(this.getEndpointId());
 +        indicator.setChildEndpointId(this.getChildEndpointId());
 +        indicator.setServiceId(this.getServiceId());
 +        indicator.setChildServiceId(this.getChildServiceId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setChildServiceInstanceId(this.getChildServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
-     public Indicator toTimeBucketInMonth() {
- EndpointRelationAvgIndicator indicator = new EndpointRelationAvgIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++    public Indicator toMonth() {
++        EndpointRelationAvgIndicator indicator = new EndpointRelationAvgIndicator();
++        indicator.setTimeBucket(toTimeBucketInMonth());
 +        indicator.setEndpointId(this.getEndpointId());
 +        indicator.setChildEndpointId(this.getChildEndpointId());
 +        indicator.setServiceId(this.getServiceId());
 +        indicator.setChildServiceId(this.getChildServiceId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setChildServiceInstanceId(this.getChildServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
      public static class Builder implements StorageBuilder<EndpointRelationAvgIndicator> {
  
          @Override public Map<String, Object> data2Map(EndpointRelationAvgIndicator storageData) {
diff --cc oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceAvgIndicator.java
index 90e68b4,e84c439..775f176
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceAvgIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceAvgIndicator.java
@@@ -105,42 -103,6 +105,42 @@@ public class ServiceAvgIndicator extend
          return new AlarmMeta("Service_Avg", Scope.Service, id);
      }
  
 +    @Override
 +    public Indicator toHour() {
 +        ServiceAvgIndicator indicator = new ServiceAvgIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++        indicator.setTimeBucket(toTimeBucketInHour());
 +        indicator.setId(this.getId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
 +    public Indicator toDay() {
- ServiceAvgIndicator indicator = new ServiceAvgIndicator();
-         indicator.setTimeBucket(toTimeBucketInDay();
++        ServiceAvgIndicator indicator = new ServiceAvgIndicator();
++        indicator.setTimeBucket(toTimeBucketInDay());
 +        indicator.setId(this.getId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
-     public Indicator toTimeBucketInMonth() {
- ServiceAvgIndicator indicator = new ServiceAvgIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++    public Indicator toMonth() {
++        ServiceAvgIndicator indicator = new ServiceAvgIndicator();
++        indicator.setTimeBucket(toTimeBucketInMonth());
 +        indicator.setId(this.getId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
      public static class Builder implements StorageBuilder<ServiceAvgIndicator> {
  
          @Override public Map<String, Object> data2Map(ServiceAvgIndicator storageData) {
diff --cc oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceCallsSumIndicator.java
index add7c0c,202b8c8..fa0c58d
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceCallsSumIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceCallsSumIndicator.java
@@@ -101,36 -98,6 +101,36 @@@ public class ServiceCallsSumIndicator e
          return new AlarmMeta("Service_Calls_Sum", Scope.Service, id);
      }
  
 +    @Override
 +    public Indicator toHour() {
 +        ServiceCallsSumIndicator indicator = new ServiceCallsSumIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++        indicator.setTimeBucket(toTimeBucketInHour());
 +        indicator.setId(this.getId());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
 +    public Indicator toDay() {
- ServiceCallsSumIndicator indicator = new ServiceCallsSumIndicator();
-         indicator.setTimeBucket(toTimeBucketInDay();
++        ServiceCallsSumIndicator indicator = new ServiceCallsSumIndicator();
++        indicator.setTimeBucket(toTimeBucketInDay());
 +        indicator.setId(this.getId());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
-     public Indicator toTimeBucketInMonth() {
- ServiceCallsSumIndicator indicator = new ServiceCallsSumIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++    public Indicator toMonth() {
++        ServiceCallsSumIndicator indicator = new ServiceCallsSumIndicator();
++        indicator.setTimeBucket(toTimeBucketInMonth());
 +        indicator.setId(this.getId());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
      public static class Builder implements StorageBuilder<ServiceCallsSumIndicator> {
  
          @Override public Map<String, Object> data2Map(ServiceCallsSumIndicator storageData) {
diff --cc oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstance/ServiceInstanceRespTimeIndicator.java
index e1f8f53,ac68e5b..099ff36
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstance/ServiceInstanceRespTimeIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstance/ServiceInstanceRespTimeIndicator.java
@@@ -108,45 -106,6 +108,45 @@@ public class ServiceInstanceRespTimeInd
          return new AlarmMeta("ServiceInstance_RespTime", Scope.ServiceInstance, id, serviceId);
      }
  
 +    @Override
 +    public Indicator toHour() {
 +        ServiceInstanceRespTimeIndicator indicator = new ServiceInstanceRespTimeIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++        indicator.setTimeBucket(toTimeBucketInHour());
 +        indicator.setId(this.getId());
 +        indicator.setServiceId(this.getServiceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
 +    public Indicator toDay() {
- ServiceInstanceRespTimeIndicator indicator = new ServiceInstanceRespTimeIndicator();
-         indicator.setTimeBucket(toTimeBucketInDay();
++        ServiceInstanceRespTimeIndicator indicator = new ServiceInstanceRespTimeIndicator();
++        indicator.setTimeBucket(toTimeBucketInDay());
 +        indicator.setId(this.getId());
 +        indicator.setServiceId(this.getServiceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
-     public Indicator toTimeBucketInMonth() {
- ServiceInstanceRespTimeIndicator indicator = new ServiceInstanceRespTimeIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++    public Indicator toMonth() {
++        ServiceInstanceRespTimeIndicator indicator = new ServiceInstanceRespTimeIndicator();
++        indicator.setTimeBucket(toTimeBucketInMonth());
 +        indicator.setId(this.getId());
 +        indicator.setServiceId(this.getServiceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
      public static class Builder implements StorageBuilder<ServiceInstanceRespTimeIndicator> {
  
          @Override public Map<String, Object> data2Map(ServiceInstanceRespTimeIndicator storageData) {
diff --cc oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmcpu/InstanceJvmCpuIndicator.java
index e4c9fa9,409051b..ab53fc9
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmcpu/InstanceJvmCpuIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmcpu/InstanceJvmCpuIndicator.java
@@@ -108,45 -106,6 +108,45 @@@ public class InstanceJvmCpuIndicator ex
          return new AlarmMeta("instance_jvm_cpu", Scope.ServiceInstanceJVMCPU, id, serviceInstanceId);
      }
  
 +    @Override
 +    public Indicator toHour() {
 +        InstanceJvmCpuIndicator indicator = new InstanceJvmCpuIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++        indicator.setTimeBucket(toTimeBucketInHour());
 +        indicator.setId(this.getId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
 +    public Indicator toDay() {
- InstanceJvmCpuIndicator indicator = new InstanceJvmCpuIndicator();
-         indicator.setTimeBucket(toTimeBucketInDay();
++        InstanceJvmCpuIndicator indicator = new InstanceJvmCpuIndicator();
++        indicator.setTimeBucket(toTimeBucketInDay());
 +        indicator.setId(this.getId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
-     public Indicator toTimeBucketInMonth() {
- InstanceJvmCpuIndicator indicator = new InstanceJvmCpuIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++    public Indicator toMonth() {
++        InstanceJvmCpuIndicator indicator = new InstanceJvmCpuIndicator();
++        indicator.setTimeBucket(toTimeBucketInMonth());
 +        indicator.setId(this.getId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
      public static class Builder implements StorageBuilder<InstanceJvmCpuIndicator> {
  
          @Override public Map<String, Object> data2Map(InstanceJvmCpuIndicator storageData) {
diff --cc oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmgc/InstanceJvmYoungGcTimeIndicator.java
index 73acd33,ce27456..a9e3b63
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmgc/InstanceJvmYoungGcTimeIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmgc/InstanceJvmYoungGcTimeIndicator.java
@@@ -108,45 -106,6 +108,45 @@@ public class InstanceJvmYoungGcTimeIndi
          return new AlarmMeta("instance_jvm_young_gc_time", Scope.ServiceInstanceJVMGC, id, serviceInstanceId);
      }
  
 +    @Override
 +    public Indicator toHour() {
 +        InstanceJvmYoungGcTimeIndicator indicator = new InstanceJvmYoungGcTimeIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++        indicator.setTimeBucket(toTimeBucketInHour());
 +        indicator.setId(this.getId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
 +    public Indicator toDay() {
- InstanceJvmYoungGcTimeIndicator indicator = new InstanceJvmYoungGcTimeIndicator();
-         indicator.setTimeBucket(toTimeBucketInDay();
++        InstanceJvmYoungGcTimeIndicator indicator = new InstanceJvmYoungGcTimeIndicator();
++        indicator.setTimeBucket(toTimeBucketInDay());
 +        indicator.setId(this.getId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
-     public Indicator toTimeBucketInMonth() {
- InstanceJvmYoungGcTimeIndicator indicator = new InstanceJvmYoungGcTimeIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++    public Indicator toMonth() {
++        InstanceJvmYoungGcTimeIndicator indicator = new InstanceJvmYoungGcTimeIndicator();
++        indicator.setTimeBucket(toTimeBucketInMonth());
 +        indicator.setId(this.getId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
      public static class Builder implements StorageBuilder<InstanceJvmYoungGcTimeIndicator> {
  
          @Override public Map<String, Object> data2Map(InstanceJvmYoungGcTimeIndicator storageData) {
diff --cc oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemory/InstanceJvmMemoryMaxIndicator.java
index 6ec9a83,979b972..8da59b0
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemory/InstanceJvmMemoryMaxIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemory/InstanceJvmMemoryMaxIndicator.java
@@@ -108,45 -106,6 +108,45 @@@ public class InstanceJvmMemoryMaxIndica
          return new AlarmMeta("instance_jvm_memory_max", Scope.ServiceInstanceJVMMemory, id, serviceInstanceId);
      }
  
 +    @Override
 +    public Indicator toHour() {
 +        InstanceJvmMemoryMaxIndicator indicator = new InstanceJvmMemoryMaxIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++        indicator.setTimeBucket(toTimeBucketInHour());
 +        indicator.setId(this.getId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
 +    public Indicator toDay() {
- InstanceJvmMemoryMaxIndicator indicator = new InstanceJvmMemoryMaxIndicator();
-         indicator.setTimeBucket(toTimeBucketInDay();
++        InstanceJvmMemoryMaxIndicator indicator = new InstanceJvmMemoryMaxIndicator();
++        indicator.setTimeBucket(toTimeBucketInDay());
 +        indicator.setId(this.getId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
-     public Indicator toTimeBucketInMonth() {
- InstanceJvmMemoryMaxIndicator indicator = new InstanceJvmMemoryMaxIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++    public Indicator toMonth() {
++        InstanceJvmMemoryMaxIndicator indicator = new InstanceJvmMemoryMaxIndicator();
++        indicator.setTimeBucket(toTimeBucketInMonth());
 +        indicator.setId(this.getId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
      public static class Builder implements StorageBuilder<InstanceJvmMemoryMaxIndicator> {
  
          @Override public Map<String, Object> data2Map(InstanceJvmMemoryMaxIndicator storageData) {
diff --cc oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemorypool/InstanceJvmMemoryPoolMaxIndicator.java
index 68770d0,294c707..30e0e26
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemorypool/InstanceJvmMemoryPoolMaxIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemorypool/InstanceJvmMemoryPoolMaxIndicator.java
@@@ -108,45 -106,6 +108,45 @@@ public class InstanceJvmMemoryPoolMaxIn
          return new AlarmMeta("instance_jvm_memory_pool_max", Scope.ServiceInstanceJVMMemoryPool, id, serviceInstanceId);
      }
  
 +    @Override
 +    public Indicator toHour() {
 +        InstanceJvmMemoryPoolMaxIndicator indicator = new InstanceJvmMemoryPoolMaxIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++        indicator.setTimeBucket(toTimeBucketInHour());
 +        indicator.setId(this.getId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
 +    public Indicator toDay() {
- InstanceJvmMemoryPoolMaxIndicator indicator = new InstanceJvmMemoryPoolMaxIndicator();
-         indicator.setTimeBucket(toTimeBucketInDay();
++        InstanceJvmMemoryPoolMaxIndicator indicator = new InstanceJvmMemoryPoolMaxIndicator();
++        indicator.setTimeBucket(toTimeBucketInDay());
 +        indicator.setId(this.getId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
-     public Indicator toTimeBucketInMonth() {
- InstanceJvmMemoryPoolMaxIndicator indicator = new InstanceJvmMemoryPoolMaxIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++    public Indicator toMonth() {
++        InstanceJvmMemoryPoolMaxIndicator indicator = new InstanceJvmMemoryPoolMaxIndicator();
++        indicator.setTimeBucket(toTimeBucketInMonth());
 +        indicator.setId(this.getId());
 +        indicator.setServiceInstanceId(this.getServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
      public static class Builder implements StorageBuilder<InstanceJvmMemoryPoolMaxIndicator> {
  
          @Override public Map<String, Object> data2Map(InstanceJvmMemoryPoolMaxIndicator storageData) {
diff --cc oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancerelation/ServiceInstanceRelationAvgIndicator.java
index e56114a,aea745a..f36e1c4
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancerelation/ServiceInstanceRelationAvgIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancerelation/ServiceInstanceRelationAvgIndicator.java
@@@ -118,51 -116,6 +118,51 @@@ public class ServiceInstanceRelationAvg
          return new AlarmMeta("ServiceInstanceRelation_Avg", Scope.ServiceInstanceRelation, sourceServiceId, destServiceId, sourceServiceInstanceId, destServiceInstanceId);
      }
  
 +    @Override
 +    public Indicator toHour() {
 +        ServiceInstanceRelationAvgIndicator indicator = new ServiceInstanceRelationAvgIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++        indicator.setTimeBucket(toTimeBucketInHour());
 +        indicator.setSourceServiceId(this.getSourceServiceId());
 +        indicator.setDestServiceId(this.getDestServiceId());
 +        indicator.setSourceServiceInstanceId(this.getSourceServiceInstanceId());
 +        indicator.setDestServiceInstanceId(this.getDestServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
 +    public Indicator toDay() {
- ServiceInstanceRelationAvgIndicator indicator = new ServiceInstanceRelationAvgIndicator();
-         indicator.setTimeBucket(toTimeBucketInDay();
++        ServiceInstanceRelationAvgIndicator indicator = new ServiceInstanceRelationAvgIndicator();
++        indicator.setTimeBucket(toTimeBucketInDay());
 +        indicator.setSourceServiceId(this.getSourceServiceId());
 +        indicator.setDestServiceId(this.getDestServiceId());
 +        indicator.setSourceServiceInstanceId(this.getSourceServiceInstanceId());
 +        indicator.setDestServiceInstanceId(this.getDestServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
-     public Indicator toTimeBucketInMonth() {
- ServiceInstanceRelationAvgIndicator indicator = new ServiceInstanceRelationAvgIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++    public Indicator toMonth() {
++        ServiceInstanceRelationAvgIndicator indicator = new ServiceInstanceRelationAvgIndicator();
++        indicator.setTimeBucket(toTimeBucketInMonth());
 +        indicator.setSourceServiceId(this.getSourceServiceId());
 +        indicator.setDestServiceId(this.getDestServiceId());
 +        indicator.setSourceServiceInstanceId(this.getSourceServiceInstanceId());
 +        indicator.setDestServiceInstanceId(this.getDestServiceInstanceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
      public static class Builder implements StorageBuilder<ServiceInstanceRelationAvgIndicator> {
  
          @Override public Map<String, Object> data2Map(ServiceInstanceRelationAvgIndicator storageData) {
diff --cc oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationAvgIndicator.java
index b0f5897,71be3fc..3b6b5a3
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationAvgIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationAvgIndicator.java
@@@ -112,45 -109,6 +112,45 @@@ public class ServiceRelationAvgIndicato
          return new AlarmMeta("ServiceRelation_Avg", Scope.ServiceRelation, sourceServiceId, destServiceId);
      }
  
 +    @Override
 +    public Indicator toHour() {
 +        ServiceRelationAvgIndicator indicator = new ServiceRelationAvgIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++        indicator.setTimeBucket(toTimeBucketInHour());
 +        indicator.setSourceServiceId(this.getSourceServiceId());
 +        indicator.setDestServiceId(this.getDestServiceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
 +    public Indicator toDay() {
- ServiceRelationAvgIndicator indicator = new ServiceRelationAvgIndicator();
-         indicator.setTimeBucket(toTimeBucketInDay();
++        ServiceRelationAvgIndicator indicator = new ServiceRelationAvgIndicator();
++        indicator.setTimeBucket(toTimeBucketInDay());
 +        indicator.setSourceServiceId(this.getSourceServiceId());
 +        indicator.setDestServiceId(this.getDestServiceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
-     public Indicator toTimeBucketInMonth() {
- ServiceRelationAvgIndicator indicator = new ServiceRelationAvgIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++    public Indicator toMonth() {
++        ServiceRelationAvgIndicator indicator = new ServiceRelationAvgIndicator();
++        indicator.setTimeBucket(toTimeBucketInMonth());
 +        indicator.setSourceServiceId(this.getSourceServiceId());
 +        indicator.setDestServiceId(this.getDestServiceId());
 +        indicator.setSummation(this.getSummation());
 +        indicator.setCount(this.getCount());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
      public static class Builder implements StorageBuilder<ServiceRelationAvgIndicator> {
  
          @Override public Map<String, Object> data2Map(ServiceRelationAvgIndicator storageData) {
diff --cc oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationClientCallsSumIndicator.java
index 73326c2,0d1f03a..0fa0c21
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationClientCallsSumIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationClientCallsSumIndicator.java
@@@ -108,39 -105,6 +108,39 @@@ public class ServiceRelationClientCalls
          return new AlarmMeta("Service_Relation_Client_Calls_Sum", Scope.ServiceRelation, sourceServiceId, destServiceId);
      }
  
 +    @Override
 +    public Indicator toHour() {
 +        ServiceRelationClientCallsSumIndicator indicator = new ServiceRelationClientCallsSumIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++        indicator.setTimeBucket(toTimeBucketInHour());
 +        indicator.setSourceServiceId(this.getSourceServiceId());
 +        indicator.setDestServiceId(this.getDestServiceId());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
 +    public Indicator toDay() {
- ServiceRelationClientCallsSumIndicator indicator = new ServiceRelationClientCallsSumIndicator();
-         indicator.setTimeBucket(toTimeBucketInDay();
++        ServiceRelationClientCallsSumIndicator indicator = new ServiceRelationClientCallsSumIndicator();
++        indicator.setTimeBucket(toTimeBucketInDay());
 +        indicator.setSourceServiceId(this.getSourceServiceId());
 +        indicator.setDestServiceId(this.getDestServiceId());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
-     public Indicator toTimeBucketInMonth() {
- ServiceRelationClientCallsSumIndicator indicator = new ServiceRelationClientCallsSumIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++    public Indicator toMonth() {
++        ServiceRelationClientCallsSumIndicator indicator = new ServiceRelationClientCallsSumIndicator();
++        indicator.setTimeBucket(toTimeBucketInMonth());
 +        indicator.setSourceServiceId(this.getSourceServiceId());
 +        indicator.setDestServiceId(this.getDestServiceId());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
      public static class Builder implements StorageBuilder<ServiceRelationClientCallsSumIndicator> {
  
          @Override public Map<String, Object> data2Map(ServiceRelationClientCallsSumIndicator storageData) {
diff --cc oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationServerCallsSumIndicator.java
index 08432a1,ced9e3d..a15c43e
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationServerCallsSumIndicator.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationServerCallsSumIndicator.java
@@@ -108,39 -105,6 +108,39 @@@ public class ServiceRelationServerCalls
          return new AlarmMeta("Service_Relation_Server_Calls_Sum", Scope.ServiceRelation, sourceServiceId, destServiceId);
      }
  
 +    @Override
 +    public Indicator toHour() {
 +        ServiceRelationServerCallsSumIndicator indicator = new ServiceRelationServerCallsSumIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++        indicator.setTimeBucket(toTimeBucketInHour());
 +        indicator.setSourceServiceId(this.getSourceServiceId());
 +        indicator.setDestServiceId(this.getDestServiceId());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
 +    public Indicator toDay() {
- ServiceRelationServerCallsSumIndicator indicator = new ServiceRelationServerCallsSumIndicator();
-         indicator.setTimeBucket(toTimeBucketInDay();
++        ServiceRelationServerCallsSumIndicator indicator = new ServiceRelationServerCallsSumIndicator();
++        indicator.setTimeBucket(toTimeBucketInDay());
 +        indicator.setSourceServiceId(this.getSourceServiceId());
 +        indicator.setDestServiceId(this.getDestServiceId());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
 +    @Override
-     public Indicator toTimeBucketInMonth() {
- ServiceRelationServerCallsSumIndicator indicator = new ServiceRelationServerCallsSumIndicator();
-         indicator.setTimeBucket(toTimeBucketInHour();
++    public Indicator toMonth() {
++        ServiceRelationServerCallsSumIndicator indicator = new ServiceRelationServerCallsSumIndicator();
++        indicator.setTimeBucket(toTimeBucketInMonth());
 +        indicator.setSourceServiceId(this.getSourceServiceId());
 +        indicator.setDestServiceId(this.getDestServiceId());
 +        indicator.setValue(this.getValue());
 +        indicator.setTimeBucket(this.getTimeBucket());
 +        return indicator;
 +    }
 +
      public static class Builder implements StorageBuilder<ServiceRelationServerCallsSumIndicator> {
  
          @Override public Map<String, Object> data2Map(ServiceRelationServerCallsSumIndicator storageData) {