From fcf64a217f8ef3d3116700e7ec2f0528cecc1f44 Mon Sep 17 00:00:00 2001 From: mrproliu <741550557@qq.com> Date: Thu, 11 Feb 2021 15:19:32 +0800 Subject: [PATCH] Change the Apdex metric combine calculator (#6363) --- CHANGES.md | 1 + .../oap/server/core/analysis/metrics/ApdexMetrics.java | 4 ++-- .../oap/server/core/analysis/metrics/ApdexMetricsTest.java | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 38e4a52320..91c2f77b69 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -19,6 +19,7 @@ Release Notes. * Add some defensive codes for NPE and bump up Kubernetes client version to expose exception stack trace. * Update the `timestamp` field type for `LogQuery`. * Support Zabbix protocol to receive agent metrics. +* Update the Apdex metric combine calculator. #### UI * Update selector scroller to show in all pages. diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/ApdexMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/ApdexMetrics.java index 4cf4d25d44..14b4750bc8 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/ApdexMetrics.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/ApdexMetrics.java @@ -68,10 +68,10 @@ public abstract class ApdexMetrics extends Metrics implements IntValueHolder { int t = DICT.lookup(name).intValue(); int t4 = t * 4; totalNum++; - if (!status || value >= t4) { + if (!status || value > t4) { return; } - if (value >= t) { + if (value > t) { tNum++; } else { sNum++; diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/metrics/ApdexMetricsTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/metrics/ApdexMetricsTest.java index c9c5c39a09..cd347c5db5 100644 --- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/metrics/ApdexMetricsTest.java +++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/metrics/ApdexMetricsTest.java @@ -47,7 +47,7 @@ public class ApdexMetricsTest { apdex = new ApdexMetricsImpl(); apdex.combine(2000, "foo", true); apdex.calculate(); - assertThat(apdex.getValue(), is(0)); + assertThat(apdex.getValue(), is(5000)); apdex = new ApdexMetricsImpl(); apdex.combine(200, "foo", true); -- GitLab