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