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

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


The following commit(s) were added to refs/heads/master by this push:
     new f7bca6a  New script, new sum, cpm and count indicator
f7bca6a is described below

commit f7bca6a0ebba6727fe639ca8368f2cb44ff7f86b
Author: Wu Sheng <[email protected]>
AuthorDate: Sun Sep 16 22:49:29 2018 +0800

    New script, new sum, cpm and count indicator
---
 .../skywalking/oap/server/core/Indicators.java     | 19 ++++-
 .../{SumIndicator.java => CPMIndicator.java}       | 16 +++--
 .../{SumIndicator.java => CountIndicator.java}     | 14 ++--
 .../core/analysis/indicator/SumIndicator.java      | 16 +++--
 oal-parser/src/test/resources/oal_test.oal         | 83 +++++++++++++---------
 5 files changed, 95 insertions(+), 53 deletions(-)

diff --git 
a/oal-parser/src/main/java/org/apache/skywalking/oap/server/core/Indicators.java
 
b/oal-parser/src/main/java/org/apache/skywalking/oap/server/core/Indicators.java
index 4be82c9..55f1d3b 100644
--- 
a/oal-parser/src/main/java/org/apache/skywalking/oap/server/core/Indicators.java
+++ 
b/oal-parser/src/main/java/org/apache/skywalking/oap/server/core/Indicators.java
@@ -18,8 +18,21 @@
 
 package org.apache.skywalking.oap.server.core;
 
-import java.util.*;
-import org.apache.skywalking.oap.server.core.analysis.indicator.*;
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.skywalking.oap.server.core.analysis.indicator.CPMIndicator;
+import org.apache.skywalking.oap.server.core.analysis.indicator.CountIndicator;
+import 
org.apache.skywalking.oap.server.core.analysis.indicator.DoubleAvgIndicator;
+import org.apache.skywalking.oap.server.core.analysis.indicator.Indicator;
+import 
org.apache.skywalking.oap.server.core.analysis.indicator.LongAvgIndicator;
+import org.apache.skywalking.oap.server.core.analysis.indicator.P50Indicator;
+import org.apache.skywalking.oap.server.core.analysis.indicator.P75Indicator;
+import org.apache.skywalking.oap.server.core.analysis.indicator.P90Indicator;
+import org.apache.skywalking.oap.server.core.analysis.indicator.P95Indicator;
+import org.apache.skywalking.oap.server.core.analysis.indicator.P99Indicator;
+import 
org.apache.skywalking.oap.server.core.analysis.indicator.PercentIndicator;
+import org.apache.skywalking.oap.server.core.analysis.indicator.SumIndicator;
+import 
org.apache.skywalking.oap.server.core.analysis.indicator.ThermodynamicIndicator;
 
 public class Indicators {
     private static Map<String, Class<? extends Indicator>> REGISTER = new 
HashMap<>();
@@ -29,6 +42,8 @@ public class Indicators {
         REGISTER.put("doubleAvg", DoubleAvgIndicator.class);
         REGISTER.put("percent", PercentIndicator.class);
         REGISTER.put("sum", SumIndicator.class);
+        REGISTER.put("count", CountIndicator.class);
+        REGISTER.put("cpm", CPMIndicator.class);
         REGISTER.put("p99", P99Indicator.class);
         REGISTER.put("p95", P95Indicator.class);
         REGISTER.put("p90", P90Indicator.class);
diff --git 
a/oal-parser/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/SumIndicator.java
 
b/oal-parser/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/CPMIndicator.java
similarity index 81%
copy from 
oal-parser/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/SumIndicator.java
copy to 
oal-parser/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/CPMIndicator.java
index d5c67d8..8893c87 100644
--- 
a/oal-parser/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/SumIndicator.java
+++ 
b/oal-parser/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/CPMIndicator.java
@@ -18,15 +18,18 @@
 
 package org.apache.skywalking.oap.server.core.analysis.indicator;
 
-import lombok.*;
-import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+import 
org.apache.skywalking.oap.server.core.analysis.indicator.annotation.ConstOne;
+import 
org.apache.skywalking.oap.server.core.analysis.indicator.annotation.Entrance;
+import 
org.apache.skywalking.oap.server.core.analysis.indicator.annotation.IndicatorOperator;
 import org.apache.skywalking.oap.server.core.storage.annotation.Column;
 
 /**
- * @author peng-yongsheng
+ * @author wusheng
  */
 @IndicatorOperator
-public abstract class SumIndicator extends Indicator {
+public abstract class CPMIndicator extends Indicator {
 
     protected static final String VALUE = "value";
 
@@ -38,10 +41,9 @@ public abstract class SumIndicator extends Indicator {
     }
 
     @Override public final void combine(Indicator indicator) {
-        SumIndicator sumIndicator = (SumIndicator)indicator;
-        combine(sumIndicator.value);
     }
 
     @Override public void calculate() {
     }
-}
+
+}
\ No newline at end of file
diff --git 
a/oal-parser/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/SumIndicator.java
 
b/oal-parser/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/CountIndicator.java
similarity index 77%
copy from 
oal-parser/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/SumIndicator.java
copy to 
oal-parser/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/CountIndicator.java
index d5c67d8..d7590a1 100644
--- 
a/oal-parser/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/SumIndicator.java
+++ 
b/oal-parser/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/CountIndicator.java
@@ -18,15 +18,18 @@
 
 package org.apache.skywalking.oap.server.core.analysis.indicator;
 
-import lombok.*;
-import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+import 
org.apache.skywalking.oap.server.core.analysis.indicator.annotation.ConstOne;
+import 
org.apache.skywalking.oap.server.core.analysis.indicator.annotation.Entrance;
+import 
org.apache.skywalking.oap.server.core.analysis.indicator.annotation.IndicatorOperator;
 import org.apache.skywalking.oap.server.core.storage.annotation.Column;
 
 /**
  * @author peng-yongsheng
  */
 @IndicatorOperator
-public abstract class SumIndicator extends Indicator {
+public abstract class CountIndicator extends Indicator {
 
     protected static final String VALUE = "value";
 
@@ -38,10 +41,11 @@ public abstract class SumIndicator extends Indicator {
     }
 
     @Override public final void combine(Indicator indicator) {
-        SumIndicator sumIndicator = (SumIndicator)indicator;
-        combine(sumIndicator.value);
+        CountIndicator countIndicator = (CountIndicator)indicator;
+        combine(countIndicator.value);
     }
 
     @Override public void calculate() {
     }
+
 }
diff --git 
a/oal-parser/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/SumIndicator.java
 
b/oal-parser/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/SumIndicator.java
index d5c67d8..2aa364b 100644
--- 
a/oal-parser/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/SumIndicator.java
+++ 
b/oal-parser/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/SumIndicator.java
@@ -18,12 +18,15 @@
 
 package org.apache.skywalking.oap.server.core.analysis.indicator;
 
-import lombok.*;
-import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+import 
org.apache.skywalking.oap.server.core.analysis.indicator.annotation.Entrance;
+import 
org.apache.skywalking.oap.server.core.analysis.indicator.annotation.IndicatorOperator;
+import 
org.apache.skywalking.oap.server.core.analysis.indicator.annotation.SourceFrom;
 import org.apache.skywalking.oap.server.core.storage.annotation.Column;
 
 /**
- * @author peng-yongsheng
+ * @author wusheng
  */
 @IndicatorOperator
 public abstract class SumIndicator extends Indicator {
@@ -33,15 +36,16 @@ public abstract class SumIndicator extends Indicator {
     @Getter @Setter @Column(columnName = VALUE) private long value;
 
     @Entrance
-    public final void combine(@ConstOne long count) {
+    public final void combine(@SourceFrom long count) {
         this.value += count;
     }
 
     @Override public final void combine(Indicator indicator) {
-        SumIndicator sumIndicator = (SumIndicator)indicator;
-        combine(sumIndicator.value);
+        SumIndicator countIndicator = (SumIndicator)indicator;
+        combine(countIndicator.value);
     }
 
     @Override public void calculate() {
     }
+
 }
diff --git a/oal-parser/src/test/resources/oal_test.oal 
b/oal-parser/src/test/resources/oal_test.oal
index b38b1ae..054e962 100644
--- a/oal-parser/src/test/resources/oal_test.oal
+++ b/oal-parser/src/test/resources/oal_test.oal
@@ -16,40 +16,57 @@
  *
  */
 
-All_p99 = from(All.latency).p99(10);
-All_p95 = from(All.latency).p95(10);
-All_p90 = from(All.latency).p90(10);
-All_p75 = from(All.latency).p75(10);
-All_p50 = from(All.latency).p50(10);
-
-All_heatmap = from(All.latency).thermodynamic(100, 20);
-
-Service_Avg = from(Service.latency).longAvg();
-
-ServiceInstance_RespTime= from(ServiceInstance.latency).longAvg();
-
-Service_Calls_Sum = from(Service.*).sum();
-
-Service_Relation_Client_Calls_Sum = from(ServiceRelation.*).filter(detectPoint 
== DetectPoint.CLIENT).sum();
-
-Service_Relation_Server_Calls_Sum = from(ServiceRelation.*).filter(detectPoint 
== DetectPoint.SERVER).sum();
-
+// All scope metric
+all_p99 = from(All.latency).p99(10);
+all_p95 = from(All.latency).p95(10);
+all_p90 = from(All.latency).p90(10);
+all_p75 = from(All.latency).p75(10);
+all_p50 = from(All.latency).p50(10);
+all_heatmap = from(All.latency).thermodynamic(100, 20);
+
+// Service scope metric
+service_resp_time = from(Service.latency).longAvg();
+service_sla = from(Service.*).percent(status == true);
+service_cpm = from(Service.*).cpm();
+service_p99 = from(Service.latency).p99(10);
+service_p95 = from(Service.latency).p95(10);
+service_p90 = from(Service.latency).p90(10);
+service_p75 = from(Service.latency).p75(10);
+service_p50 = from(Service.latency).p50(10);
+
+// Service relation scope metric for topology
+service_relation_client_cpm = from(ServiceRelation.*).filter(detectPoint == 
DetectPoint.CLIENT).cpm();
+service_relation_server_cpm = from(ServiceRelation.*).filter(detectPoint == 
DetectPoint.SERVER).cpm();
+service_relation_client_call_sla = from(ServiceRelation.*).filter(detectPoint 
== DetectPoint.CLIENT).percent(status == true);
+service_relation_server_call_sla = from(ServiceRelation.*).filter(detectPoint 
== DetectPoint.SERVER).percent(status == true);
+service_relation_client_resp_time = 
from(ServiceRelation.latency).filter(detectPoint == 
DetectPoint.CLIENT).longAvg();
+service_relation_server_resp_time = 
from(ServiceRelation.latency).filter(detectPoint == 
DetectPoint.SERVER).longAvg();
+
+// Service Instance Scope metric
+serviceInstance_resp_time= from(ServiceInstance.latency).longAvg();
+service_instance_cpm = from(ServiceInstance.*).cpm();
+
+// Endpoint scope metric
 endpoint_Avg = from(Endpoint.latency).longAvg();
-
-// endpoint_Avg_for_prod_serv = from(Endpoint.latency).filter(name == 
"/product/service").longAvg();
-
-endpoint_percent = from(Endpoint.*).percent(status == true);
-
-ServiceRelation_Avg = from(ServiceRelation.latency).longAvg();
-
-ServiceInstanceRelation_Avg = from(ServiceInstanceRelation.latency).longAvg();
-
-EndpointRelation_Avg = from(EndpointRelation.rpcLatency).longAvg();
-
+endpoint_sla = from(Endpoint.*).percent(status == true);
+endpoint_p99 = from(Endpoint.latency).p99(10);
+endpoint_p95 = from(Endpoint.latency).p95(10);
+endpoint_p90 = from(Endpoint.latency).p90(10);
+endpoint_p75 = from(Endpoint.latency).p75(10);
+endpoint_p50 = from(Endpoint.latency).p50(10);
+
+// Endpoint relation scope metric
+endpoint_relation_cpm = from(EndpointRelation.*).filter(detectPoint == 
DetectPoint.SERVER).cpm();
+endpoint_relation_resp_time = 
from(EndpointRelation.rpcLatency).filter(detectPoint == 
DetectPoint.SERVER).longAvg();
+
+// JVM instance metric
 instance_jvm_cpu = from(ServiceInstanceJVMCPU.usePercent).doubleAvg();
+instance_jvm_memory_heap = from(ServiceInstanceJVMMemory.max).filter(isHeap == 
true).longAvg();
+instance_jvm_memory_noheap = from(ServiceInstanceJVMMemory.max).filter(isHeap 
== false).longAvg();
+instance_jvm_young_gc_time = from(ServiceInstanceJVMGC.time).filter(phrase == 
GCPhrase.NEW).longAvg();
+instance_jvm_old_gc_time = from(ServiceInstanceJVMGC.time).filter(phrase == 
GCPhrase.OLD).longAvg();
+instance_jvm_young_gc_count = from(ServiceInstanceJVMGC.count).filter(phrase 
== GCPhrase.NEW).sum();
+instance_jvm_old_gc_count = from(ServiceInstanceJVMGC.count).filter(phrase == 
GCPhrase.OLD).sum();
 
-instance_jvm_memory_max = from(ServiceInstanceJVMMemory.max).longAvg();
-
-instance_jvm_memory_pool_max = 
from(ServiceInstanceJVMMemoryPool.max).longAvg();
 
-instance_jvm_young_gc_time = from(ServiceInstanceJVMGC.time).filter(phrase == 
GCPhrase.NEW).longAvg();
\ No newline at end of file
+// endpoint_Avg_for_prod_serv = from(Endpoint.latency).filter(name == 
"/product/service").longAvg();
\ No newline at end of file

Reply via email to