You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jmeter.apache.org by Milamber <mi...@apache.org> on 2016/10/19 18:13:42 UTC

Re: svn commit: r1765062 - in /jmeter/trunk: src/components/org/apache/jmeter/visualizers/ src/core/org/apache/jmeter/resources/ src/core/org/apache/jmeter/util/ src/core/org/apache/jmeter/visualizers/ src/jorphan/org/apache/jorphan/math/ xdocs/ xdocs/user...

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, pmouawad@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;
> +    }
>   
>   }


Re: svn commit: r1765062 - in /jmeter/trunk: src/components/org/apache/jmeter/visualizers/ src/core/org/apache/jmeter/resources/ src/core/org/apache/jmeter/util/ src/core/org/apache/jmeter/visualizers/ src/jorphan/org/apache/jorphan/math/ xdocs/ xdocs/user...

Posted by Milamber <mi...@apache.org>.
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 <mi...@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, pmouawad@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;
>>> +    }
>>>      }
>>>
>>
>


Re: svn commit: r1765062 - in /jmeter/trunk: src/components/org/apache/jmeter/visualizers/ src/core/org/apache/jmeter/resources/ src/core/org/apache/jmeter/util/ src/core/org/apache/jmeter/visualizers/ src/jorphan/org/apache/jorphan/math/ xdocs/ xdocs/user...

Posted by Philippe Mouawad <ph...@gmail.com>.
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 <mi...@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, pmouawad@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;
>> +    }
>>     }
>>
>
>


-- 
Cordialement.
Philippe Mouawad.