jmeter-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pmoua...@apache.org
Subject svn commit: r1820475 - /jmeter/trunk/src/components/org/apache/jmeter/timers/poissonarrivals/ConstantPoissonProcessGenerator.java
Date Sun, 07 Jan 2018 18:30:44 GMT
Author: pmouawad
Date: Sun Jan  7 18:30:44 2018
New Revision: 1820475

URL: http://svn.apache.org/viewvc?rev=1820475&view=rev
Log:
Bug 61931 New Component : Precise Throughput Timer, timer that produces poisson arrivals with
given constant throughput
Fix sonar warnings
Contributed by Graham Russell
This closes #370
Bugzilla Id: 61931

Modified:
    jmeter/trunk/src/components/org/apache/jmeter/timers/poissonarrivals/ConstantPoissonProcessGenerator.java

Modified: jmeter/trunk/src/components/org/apache/jmeter/timers/poissonarrivals/ConstantPoissonProcessGenerator.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/timers/poissonarrivals/ConstantPoissonProcessGenerator.java?rev=1820475&r1=1820474&r2=1820475&view=diff
==============================================================================
--- jmeter/trunk/src/components/org/apache/jmeter/timers/poissonarrivals/ConstantPoissonProcessGenerator.java
(original)
+++ jmeter/trunk/src/components/org/apache/jmeter/timers/poissonarrivals/ConstantPoissonProcessGenerator.java
Sun Jan  7 18:30:44 2018
@@ -94,12 +94,14 @@ public class ConstantPoissonProcessGener
                 log.info("Duration should exceed 5 seconds");
                 break;
             }
-            for (i = 0; time < duration; i++) {
+            i = 0;
+            while (time < duration) {
                 double u = rnd.nextDouble();
                 // https://en.wikipedia.org/wiki/Exponential_distribution#Generating_exponential_variates
                 double delay = -Math.log(1 - u) / throughput;
                 time += delay;
                 events.put(time + lastEvent);
+                i++;
             }
             loops++;
         } while (System.currentTimeMillis() - t < 5000 &&
@@ -115,15 +117,18 @@ public class ConstantPoissonProcessGener
                 log.debug("Generated {} events ({} required, rate {}) in {} ms, restart was
issued {} times",
                         events.position(), samples, throughput, t, loops);
             }
-            if(log.isInfoEnabled()) {
+            if (log.isInfoEnabled()) {
                 StringBuilder sb = new StringBuilder();
                 sb.append("Generated ").append(events.position()).append(" timings (");
                 if (this.durationProvider instanceof AbstractTestElement) {
                     sb.append(((AbstractTestElement) this.durationProvider).getName());
                 }
-                sb.append(" ").append(samples).append(" required, rate ").append(throughput).append(",
duration ").append(duration);
-                sb.append(", exact lim ").append(exactLimit).append(", i").append(i);
-                sb.append(") in ").append(t).append(" ms, restart was issued ").append(loops).append("
times. ");
+                sb.append(" ").append(samples).append(" required, rate ").append(throughput)
+                        .append(", duration ").append(duration)
+                        .append(", exact lim ").append(exactLimit)
+                        .append(", i").append(i)
+                        .append(") in ").append(t)
+                        .append(" ms, restart was issued ").append(loops).append(" times.
");
                 sb.append("First 15 events will be fired at: ");
                 double prev = 0;
                 for (i = 0; i < events.position() && i < 15; i++) {
@@ -157,7 +162,8 @@ public class ConstantPoissonProcessGener
 
     @Override
     public double next() {
-        if (!events.hasRemaining() || throughputProvider.getThroughput() != lastThroughput)
{
+        if (!events.hasRemaining()
+                || throughputProvider.getThroughput() != lastThroughput) {
             generateNext();
         }
         lastEvent = events.get();



Mime
View raw message