@@ -212,6 +212,12 @@ private static List<?> lstArg(CommandLine cmd, char opt) {
212212 return Arrays .asList (vals );
213213 }
214214
215+ private static String formatRate (double rate ) {
216+ if (rate < 1 ) return String .format ("%1.2f" , rate );
217+ else if (rate < 10 ) return String .format ("%1.1f" , rate );
218+ else return String .format ("%d" , (long ) rate );
219+ }
220+
215221 public static class Producer implements Runnable , ReturnListener ,
216222 ConfirmListener
217223 {
@@ -339,7 +345,7 @@ public void run() {
339345 }
340346
341347 System .out .println ("sending rate avg: " +
342- (totalMsgCount * 1000L / (now - startTime )) +
348+ formatRate (totalMsgCount * 1000.0 / (now - startTime )) +
343349 " msg/s" );
344350
345351 }
@@ -368,25 +374,25 @@ private void delay(long now)
368374 Thread .sleep (pause );
369375 }
370376 if (elapsed > interval ) {
371- long sendRate , returnRate , confirmRate , nackRate ;
377+ double sendRate , returnRate , confirmRate , nackRate ;
372378 synchronized (this ) {
373- sendRate = msgCount * 1000L / elapsed ;
374- returnRate = returnCount * 1000L / elapsed ;
375- confirmRate = confirmCount * 1000L / elapsed ;
376- nackRate = nackCount * 1000L / elapsed ;
379+ sendRate = msgCount * 1000.0 / elapsed ;
380+ returnRate = returnCount * 1000.0 / elapsed ;
381+ confirmRate = confirmCount * 1000.0 / elapsed ;
382+ nackRate = nackCount * 1000.0 / elapsed ;
377383 msgCount = 0 ;
378384 returnCount = 0 ;
379385 confirmCount = 0 ;
380386 nackCount = 0 ;
381387 }
382- System .out .print ("sending rate: " + sendRate + " msg/s" );
388+ System .out .print ("sending rate: " + formatRate ( sendRate ) + " msg/s" );
383389 if (mandatory || immediate ) {
384- System .out .print (", returns: " + returnRate + " ret/s" );
390+ System .out .print (", returns: " + formatRate ( returnRate ) + " ret/s" );
385391 }
386392 if (confirm >= 0 ) {
387- System .out .print (", confirms: " + confirmRate + " c/s" );
393+ System .out .print (", confirms: " + formatRate ( confirmRate ) + " c/s" );
388394 if (nackRate > 0 ) {
389- System .out .print (", nacks: " + nackRate + " n/s" );
395+ System .out .print (", nacks: " + formatRate ( nackRate ) + " n/s" );
390396 }
391397 }
392398 System .out .println ();
@@ -498,7 +504,7 @@ public void run() {
498504 long elapsed = now - startTime ;
499505 if (elapsed > 0 ) {
500506 System .out .println ("recving rate avg: " +
501- (totalMsgCount * 1000L / elapsed ) +
507+ formatRate (totalMsgCount * 1000.0 / elapsed ) +
502508 " msg/s" );
503509 }
504510 }
@@ -543,7 +549,7 @@ public synchronized void collectStats(long now, long latency) {
543549 long elapsed = now - lastStatsTime ;
544550 if (elapsed > interval ) {
545551 System .out .println ("recving rate: " +
546- ( 1000L * msgCount / elapsed ) +
552+ formatRate ( 1000.0 * msgCount / elapsed ) +
547553 " msg/s" +
548554 (latencyCount > 0 ?
549555 ", min/avg/max latency: " +
0 commit comments