Skip to content

Commit 8986309

Browse files
committed
display rates selectively based on selected test configuration
1 parent 392ffe1 commit 8986309

File tree

1 file changed

+53
-38
lines changed

1 file changed

+53
-38
lines changed

test/src/com/rabbitmq/examples/MulticastMain.java

Lines changed: 53 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,13 @@ public static void main(String[] args) {
8989

9090
//setup
9191
String id = UUID.randomUUID().toString();
92-
Stats stats = new Stats(1000L * samplingInterval);
92+
Stats stats = new Stats(1000L * samplingInterval,
93+
producerCount > 0,
94+
consumerCount > 0,
95+
(flags.contains("mandatory") ||
96+
flags.contains("immediate")),
97+
confirm != -1);
98+
9399
ConnectionFactory factory = new ConnectionFactory();
94100
factory.setUri(uri);
95101
factory.setRequestedFrameMax(frameMax);
@@ -488,24 +494,36 @@ public void run() {
488494

489495
public static class Stats {
490496

491-
private long interval;
492-
493-
private long lastStatsTime;
494-
495-
private int sendCount;
496-
private int returnCount;
497-
private int confirmCount;
498-
private int nackCount;
499-
private int recvCount;
497+
private long interval;
498+
private boolean sendStatsEnabled;
499+
private boolean recvStatsEnabled;
500+
private boolean returnStatsEnabled;
501+
private boolean confirmStatsEnabled;
500502

501-
private int latencyCount;
502-
private long minLatency;
503-
private long maxLatency;
504-
private long cumulativeLatency;
503+
private long startTime;
504+
private long lastStatsTime;
505505

506-
public Stats(long interval) {
507-
this.interval = interval;
508-
reset(System.currentTimeMillis());
506+
private int sendCount;
507+
private int returnCount;
508+
private int confirmCount;
509+
private int nackCount;
510+
private int recvCount;
511+
512+
private int latencyCount;
513+
private long minLatency;
514+
private long maxLatency;
515+
private long cumulativeLatency;
516+
517+
public Stats(long interval,
518+
boolean sendStatsEnabled, boolean recvStatsEnabled,
519+
boolean returnStatsEnabled, boolean confirmStatsEnabled) {
520+
this.interval = interval;
521+
this.sendStatsEnabled = sendStatsEnabled;
522+
this.recvStatsEnabled = recvStatsEnabled;
523+
this.returnStatsEnabled = returnStatsEnabled;
524+
this.confirmStatsEnabled = confirmStatsEnabled;
525+
startTime = System.currentTimeMillis();
526+
reset(startTime);
509527
}
510528

511529
private void reset(long t) {
@@ -523,36 +541,33 @@ private void reset(long t) {
523541
cumulativeLatency = 0L;
524542
}
525543

544+
private void showRate(String descr, long count, boolean display,
545+
long elapsed) {
546+
if (display) {
547+
System.out.print(", " + descr + ": " + formatRate(1000.0 * count / elapsed) + " msg/s");
548+
}
549+
}
550+
526551
private void report() {
527552
long now = System.currentTimeMillis();
528553
long elapsed = now - lastStatsTime;
529-
if (elapsed > interval) {
530-
double sendRate, returnRate, confirmRate, nackRate;
531-
sendRate = sendCount * 1000.0 / elapsed;
532-
returnRate = returnCount * 1000.0 / elapsed;
533-
confirmRate = confirmCount * 1000.0 / elapsed;
534-
nackRate = nackCount * 1000.0 / elapsed;
535-
536-
System.out.print("sending rate: " + formatRate(sendRate) + " msg/s");
537-
if (returnRate > 0) {
538-
System.out.print(", returns: " + formatRate(returnRate) + " ret/s");
539-
}
540-
if (confirmRate > 0) {
541-
System.out.print(", confirms: " + formatRate(confirmRate) + " c/s");
542-
}
543-
if (nackRate > 0) {
544-
System.out.print(", nacks: " + formatRate(nackRate) + " n/s");
545-
}
546554

547-
System.out.print(", recving rate: " +
548-
formatRate(1000.0 * recvCount / elapsed) +
549-
" msg/s" +
550-
(latencyCount > 0 ?
555+
if (elapsed >= interval) {
556+
System.out.print("time: " + String.format("%.3f", (now - startTime)/1000.0) + "s");
557+
558+
showRate("sent", sendCount, sendStatsEnabled, elapsed);
559+
showRate("returned", returnCount, sendStatsEnabled && returnStatsEnabled, elapsed);
560+
showRate("confirmed", confirmCount, sendStatsEnabled && confirmStatsEnabled, elapsed);
561+
showRate("nacked", nackCount, sendStatsEnabled && confirmStatsEnabled, elapsed);
562+
showRate("received", recvCount, recvStatsEnabled, elapsed);
563+
564+
System.out.print((latencyCount > 0 ?
551565
", min/avg/max latency: " +
552566
minLatency/1000L + "/" +
553567
cumulativeLatency / (1000L * latencyCount) + "/" +
554568
maxLatency/1000L + " microseconds" :
555569
""));
570+
556571
System.out.println();
557572
reset(now);
558573
}

0 commit comments

Comments
 (0)