You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2010/03/11 23:57:59 UTC
svn commit: r922054 -
/jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/Calculator.java
Author: sebb
Date: Thu Mar 11 22:57:58 2010
New Revision: 922054
URL: http://svn.apache.org/viewvc?rev=922054&view=rev
Log:
Correct calculation of min, max and std. deviation for aggregated samples
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/Calculator.java
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/Calculator.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/Calculator.java?rev=922054&r1=922053&r2=922054&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/Calculator.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/Calculator.java Thu Mar 11 22:57:58 2010
@@ -73,11 +73,19 @@ public class Calculator {
private void addValue(long newValue, int sampleCount) {
count += sampleCount;
- minimum=Math.min(newValue, minimum);
- maximum=Math.max(newValue, maximum);
double currentVal = newValue;
sum += currentVal;
- sumOfSquares += currentVal * currentVal;
+ if (sampleCount > 1){
+ minimum=Math.min(newValue/sampleCount, minimum);
+ maximum=Math.max(newValue/sampleCount, maximum);
+ // For n values in an aggregate sample the average value = (val/n)
+ // So need to add n * (val/n) * (val/n) = val * val / n
+ sumOfSquares += (currentVal * currentVal) / (sampleCount);
+ } else {
+ minimum=Math.min(newValue, minimum);
+ maximum=Math.max(newValue, maximum);
+ sumOfSquares += currentVal * currentVal;
+ }
// Calculate each time, as likely to be called for each add
mean = sum / count;
deviation = Math.sqrt((sumOfSquares / count) - (mean * mean));
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org