From 74b689ed355abed3f94747c8a78c1284363603cd Mon Sep 17 00:00:00 2001 From: Martin Ritchie Date: Fri, 12 Jan 2007 14:44:20 +0000 Subject: QPID-283 Documented topic test Updated perftests.log4j to include log level in output to make it clear when there is a non test output Fixed bug in Publisher where batches of 2 would result in a div by zero error. scripts created and edited to use the amqj.test.logging.level. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@495584 13f79535-47bb-0310-9956-ffa450edef68 --- .../main/java/org/apache/qpid/topic/Publisher.java | 31 +++++++++++++++------- java/perftests/src/main/java/perftests.log4j | 3 ++- 2 files changed, 23 insertions(+), 11 deletions(-) (limited to 'java/perftests/src') diff --git a/java/perftests/src/main/java/org/apache/qpid/topic/Publisher.java b/java/perftests/src/main/java/org/apache/qpid/topic/Publisher.java index d788029ee9..c3b19b558a 100644 --- a/java/perftests/src/main/java/org/apache/qpid/topic/Publisher.java +++ b/java/perftests/src/main/java/org/apache/qpid/topic/Publisher.java @@ -51,7 +51,7 @@ public class Publisher implements MessageListener _factory.createControlConsumer().setMessageListener(this); _connection.start(); - if(warmup > 0) + if (warmup > 0) { System.out.println("Runing warmup (" + warmup + " msgs)"); long time = batch(warmup, consumerCount); @@ -59,11 +59,14 @@ public class Publisher implements MessageListener } long[] times = new long[batches]; - for(int i = 0; i < batches; i++) + for (int i = 0; i < batches; i++) { - if(i > 0) Thread.sleep(delay*1000); + if (i > 0) + { + Thread.sleep(delay * 1000); + } times[i] = batch(msgCount, consumerCount); - System.out.println("Batch " + (i+1) + " of " + batches + " completed in " + times[i] + " ms."); + System.out.println("Batch " + (i + 1) + " of " + batches + " completed in " + times[i] + " ms."); } long min = min(times); @@ -131,7 +134,7 @@ public class Publisher implements MessageListener static long min(long[] times) { long min = times.length > 0 ? times[0] : 0; - for(int i = 0; i < times.length; i++) + for (int i = 0; i < times.length; i++) { min = Math.min(min, times[i]); } @@ -141,7 +144,7 @@ public class Publisher implements MessageListener static long max(long[] times) { long max = times.length > 0 ? times[0] : 0; - for(int i = 0; i < times.length; i++) + for (int i = 0; i < times.length; i++) { max = Math.max(max, times[i]); } @@ -151,14 +154,22 @@ public class Publisher implements MessageListener static long avg(long[] times, long min, long max) { long sum = 0; - for(int i = 0; i < times.length; i++) + for (int i = 0; i < times.length; i++) { sum += times[i]; } - sum -= min; - sum -= max; - return (sum / (times.length - 2)); + int adjustment = 0; + + // Remove min and max if we have run enough batches. + if (times.length > 2) + { + sum -= min; + sum -= max; + adjustment = 2; + } + + return (sum / (times.length - adjustment)); } public static void main(String[] argv) throws Exception diff --git a/java/perftests/src/main/java/perftests.log4j b/java/perftests/src/main/java/perftests.log4j index 5410f9ecd2..d5196b4c79 100644 --- a/java/perftests/src/main/java/perftests.log4j +++ b/java/perftests/src/main/java/perftests.log4j @@ -24,13 +24,14 @@ log4j.additivity.org.apache.qpid=false log4j.logger.org.apache.qpid.requestreply=${amqj.test.logging.level}, fileApp log4j.logger.org.apache.qpid.pingpong=${amqj.test.logging.level} +log4j.logger.org.apache.qpid.topic=${amqj.test.logging.level} log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.Threshold=all log4j.appender.console.layout=org.apache.log4j.PatternLayout #log4j.appender.console.layout.ConversionPattern=%t %d %p [%c{4}] %m%n -log4j.appender.console.layout.ConversionPattern=[%c] %m%n +log4j.appender.console.layout.ConversionPattern=%p [%c] %m%n log4j.appender.fileApp=org.apache.log4j.FileAppender log4j.appender.fileApp.file=${log.dir}/perftests.volumetest.log -- cgit v1.2.1