You are right. I have not seen the parentheses...

On 19/10/2016 20:55, Philippe Mouawad wrote:
Hi Milamber,
I don't think so:

((double) value / (double) elapsedTime ) * 1000 == value / ((double)
elapsedTime / 1000)

1/1/1000 = *1000

Unless I misunderstand the problem.
Thanks

On Wed, Oct 19, 2016 at 8:13 PM, Milamber <milam...@apache.org> wrote:

Philippe,

Probably a regression with the getRate() method?

Before :
return ((double) count / (double) elapsedTime ) * 1000;

After:

return value / ((double) elapsedTime / 1000); // 1000 = millisecs/sec

* 1000 --> / 1000



On 15/10/2016 14:34, pmoua...@apache.org wrote:

Modified: jmeter/trunk/src/core/org/apache/jmeter/util/Calculator.java
URL:http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/
apache/jmeter/util/Calculator.java?rev=1765062&r1=1765061&
r2=1765062&view=diff
============================================================
==================
--- jmeter/trunk/src/core/org/apache/jmeter/util/Calculator.java
(original)
+++ jmeter/trunk/src/core/org/apache/jmeter/util/Calculator.java Sat Oct
15 13:34:54 2016

[snip]



       public long getTotalBytes() {
           return bytes;
@@ -181,11 +200,7 @@ public class Calculator {
        * @return throughput associated to this sampler in requests per
second
        */
       public double getRate() {
-        if (elapsedTime == 0) {
-            return 0.0;
-        }
-
-        return ((double) count / (double) elapsedTime ) * 1000;
+        return getRatePerSecond(count);
       }


[snip]


+    /**
+     *
+     * @param value value for which we compute rate
+     * @return double rate
+     */
+    private double getRatePerSecond(long value) {
+        if (elapsedTime > 0) {
+            return value / ((double) elapsedTime / 1000); // 1000 =
millisecs/sec
+        }
+        return 0.0;
+    }
     }




Reply via email to