From a21172fdab4d0dd63e14406eeb098d0be75e88cb Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Wed, 6 Oct 2010 11:00:59 -0700 Subject: [PATCH] INT-1496: start optimistically with success rate 100% --- .../monitor/ExponentialMovingAverageRatio.java | 3 ++- .../monitor/ExponentialMovingAverageRatioTests.java | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/spring-integration-jmx/src/main/java/org/springframework/integration/monitor/ExponentialMovingAverageRatio.java b/spring-integration-jmx/src/main/java/org/springframework/integration/monitor/ExponentialMovingAverageRatio.java index 48297f2bb0..6240b6cb96 100644 --- a/spring-integration-jmx/src/main/java/org/springframework/integration/monitor/ExponentialMovingAverageRatio.java +++ b/spring-integration-jmx/src/main/java/org/springframework/integration/monitor/ExponentialMovingAverageRatio.java @@ -92,7 +92,8 @@ public class ExponentialMovingAverageRatio { public double getMean() { int count = cumulative.getCount(); if (count == 0) { - return 0; + // Optimistic to start: success rate is 100% + return 1; } long t = System.currentTimeMillis(); double alpha = Math.exp((t0 - t) * lapse); diff --git a/spring-integration-jmx/src/test/java/org/springframework/integration/monitor/ExponentialMovingAverageRatioTests.java b/spring-integration-jmx/src/test/java/org/springframework/integration/monitor/ExponentialMovingAverageRatioTests.java index acbb8e7e67..09feb9eb72 100644 --- a/spring-integration-jmx/src/test/java/org/springframework/integration/monitor/ExponentialMovingAverageRatioTests.java +++ b/spring-integration-jmx/src/test/java/org/springframework/integration/monitor/ExponentialMovingAverageRatioTests.java @@ -45,14 +45,14 @@ public class ExponentialMovingAverageRatioTests { @Test public void testGetEarlyMean() throws Exception { - assertEquals(0, history.getMean(), 0.01); + assertEquals(1, history.getMean(), 0.01); history.success(); assertEquals(1, history.getMean(), 0.01); } @Test public void testGetEarlyFailure() throws Exception { - assertEquals(0, history.getMean(), 0.01); + assertEquals(1, history.getMean(), 0.01); history.failure(); assertEquals(0, history.getMean(), 0.01); } @@ -66,7 +66,7 @@ public class ExponentialMovingAverageRatioTests { @Test public void testGetMean() throws Exception { - assertEquals(0, history.getMean(), 0.01); + assertEquals(1, history.getMean(), 0.01); history.success(); assertEquals(1, history.getMean(), 0.01); history.success(); @@ -77,7 +77,7 @@ public class ExponentialMovingAverageRatioTests { @Test public void testGetMeanFailuresHighRate() throws Exception { - assertEquals(0, history.getMean(), 0.01); + assertEquals(1, history.getMean(), 0.01); history.success(); assertEquals(average(1), history.getMean(), 0.01); history.failure(); @@ -88,7 +88,7 @@ public class ExponentialMovingAverageRatioTests { @Test public void testGetMeanFailuresLowRate() throws Exception { - assertEquals(0, history.getMean(), 0.01); + assertEquals(1, history.getMean(), 0.01); history.failure(); assertEquals(average(0), history.getMean(), 0.01); history.failure();