summaryrefslogtreecommitdiff
path: root/qpid/java/perftests/src/main
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2012-04-23 12:44:37 +0000
committerKeith Wall <kwall@apache.org>2012-04-23 12:44:37 +0000
commitf85f5bc89917b064d2fccad078c25bfa1176a616 (patch)
treea615c59db0ca8e1c63c7ed60d3558c730fb91e08 /qpid/java/perftests/src/main
parent0aad8136596154aece13f49368a66388bb0bbda3 (diff)
downloadqpid-python-f85f5bc89917b064d2fccad078c25bfa1176a616.tar.gz
QPID-3936: Change Performance Test Framework to support running of a series of test definition files and the production of a separate CSV per test definition.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1329215 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/perftests/src/main')
-rw-r--r--qpid/java/perftests/src/main/java/org/apache/qpid/disttest/ControllerRunner.java123
-rw-r--r--qpid/java/perftests/src/main/java/org/apache/qpid/disttest/client/ParticipantResultFactory.java23
-rw-r--r--qpid/java/perftests/src/main/java/org/apache/qpid/disttest/controller/ClientRegistry.java46
-rw-r--r--qpid/java/perftests/src/main/java/org/apache/qpid/disttest/controller/Controller.java29
-rw-r--r--qpid/java/perftests/src/main/java/org/apache/qpid/disttest/message/ParticipantAttribute.java48
-rw-r--r--qpid/java/perftests/src/main/java/org/apache/qpid/disttest/message/ParticipantResult.java26
-rw-r--r--qpid/java/perftests/src/main/java/org/apache/qpid/disttest/results/aggregation/ParticipantResultAggregator.java11
-rw-r--r--qpid/java/perftests/src/main/java/org/apache/qpid/disttest/results/aggregation/TestResultAggregator.java18
8 files changed, 235 insertions, 89 deletions
diff --git a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/ControllerRunner.java b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/ControllerRunner.java
index 07d78790f0..aa9c582bf8 100644
--- a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/ControllerRunner.java
+++ b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/ControllerRunner.java
@@ -19,9 +19,14 @@
*/
package org.apache.qpid.disttest;
+import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
+import java.io.FilenameFilter;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
import javax.naming.Context;
@@ -41,13 +46,11 @@ public class ControllerRunner extends AbstractRunner
public static final String TEST_CONFIG_PROP = "test-config";
public static final String DISTRIBUTED_PROP = "distributed";
- public static final String OUTPUT_FILE_PROP = "outputfile";
+ public static final String OUTPUT_DIR_PROP = "outputdir";
private static final String TEST_CONFIG_DEFAULT = "perftests-config.json";
private static final String DISTRIBUTED_DEFAULT = "false";
- private static final String OUTPUT_FILE_DEFAULT = "output.csv";
-
- private Controller _controller;
+ private static final String OUTPUT_DIR_DEFAULT = ".";
private final Aggregator _aggregator = new Aggregator();
@@ -56,7 +59,7 @@ public class ControllerRunner extends AbstractRunner
{
getCliOptions().put(TEST_CONFIG_PROP, TEST_CONFIG_DEFAULT);
getCliOptions().put(DISTRIBUTED_PROP, DISTRIBUTED_DEFAULT);
- getCliOptions().put(OUTPUT_FILE_PROP, OUTPUT_FILE_DEFAULT);
+ getCliOptions().put(OUTPUT_DIR_PROP, OUTPUT_DIR_DEFAULT);
}
public static void main(String[] args) throws Exception
@@ -84,42 +87,65 @@ public class ControllerRunner extends AbstractRunner
private void runTests(ControllerJmsDelegate jmsDelegate)
{
+ Controller controller = new Controller(jmsDelegate, DistributedTestConstants.REGISTRATION_TIMEOUT, DistributedTestConstants.COMMAND_RESPONSE_TIMEOUT);
- _controller = new Controller(jmsDelegate,
- DistributedTestConstants.REGISTRATION_TIMEOUT, DistributedTestConstants.COMMAND_RESPONSE_TIMEOUT);
-
- Config testConfig = getTestConfig();
- _controller.setConfig(testConfig);
+ final List<String> testConfigFiles = getTestConfigFiles();
+ createClientsIfNotDistributed(testConfigFiles);
- if(!isDistributed())
+ try
{
- //we must create the required test clients, running in single-jvm mode
- int numClients = testConfig.getTotalNumberOfClients();
- for (int i = 1; i <= numClients; i++)
+ for (String testConfigFile : testConfigFiles)
{
- ClientRunner clientRunner = new ClientRunner();
- clientRunner.setJndiPropertiesFileLocation(getJndiConfig());
- clientRunner.runClients();
- }
- }
+ final Config testConfig = buildTestConfigFrom(testConfigFile);
+ controller.setConfig(testConfig);
- ResultsForAllTests resultsForAllTests = null;
- try
- {
- _controller.awaitClientRegistrations();
+ controller.awaitClientRegistrations();
- ResultsForAllTests rawResultsForAllTests = _controller.runAllTests();
- resultsForAllTests = _aggregator.aggregateResults(rawResultsForAllTests);
+ LOGGER.info("Running test : " + testConfigFile);
+ runTest(controller, testConfigFile);
+ }
}
finally
{
- _controller.stopAllRegisteredClients();
+ controller.stopAllRegisteredClients();
}
- final String outputFile = getOutputFile();
+ }
+
+ private void runTest(Controller controller, String testConfigFile)
+ {
+ final Config testConfig = buildTestConfigFrom(testConfigFile);
+ controller.setConfig(testConfig);
+
+ ResultsForAllTests rawResultsForAllTests = controller.runAllTests();
+ ResultsForAllTests resultsForAllTests = _aggregator.aggregateResults(rawResultsForAllTests);
+
+ final String outputFile = generateOutputCsvNameFrom(testConfigFile);
writeResultsToFile(resultsForAllTests, outputFile);
}
+ private void createClientsIfNotDistributed(final List<String> testConfigFiles)
+ {
+ if(!isDistributed())
+ {
+ int maxNumberOfClients = 0;
+ for (String testConfigFile : testConfigFiles)
+ {
+ final Config testConfig = buildTestConfigFrom(testConfigFile);
+ final int numClients = testConfig.getTotalNumberOfClients();
+ maxNumberOfClients = Math.max(numClients, maxNumberOfClients);
+ }
+
+ //we must create the required test clients, running in single-jvm mode
+ for (int i = 1; i <= maxNumberOfClients; i++)
+ {
+ ClientRunner clientRunner = new ClientRunner();
+ clientRunner.setJndiPropertiesFileLocation(getJndiConfig());
+ clientRunner.runClients();
+ }
+ }
+ }
+
private void writeResultsToFile(ResultsForAllTests resultsForAllTests, String outputFile)
{
FileWriter writer = null;
@@ -150,22 +176,55 @@ public class ControllerRunner extends AbstractRunner
}
}
- private String getOutputFile()
+ private String generateOutputCsvNameFrom(String testConfigFile)
+ {
+ final String filenameOnlyWithExtension = new File(testConfigFile).getName();
+ final String cvsFile = filenameOnlyWithExtension.replaceFirst(".?\\w*$", ".csv");
+ final String outputDir = String.valueOf(getCliOptions().get(ControllerRunner.OUTPUT_DIR_PROP));
+
+ return new File(outputDir, cvsFile).getAbsolutePath();
+ }
+
+ private List<String> getTestConfigFiles()
{
- return String.valueOf(getCliOptions().get(ControllerRunner.OUTPUT_FILE_PROP));
+ final List<String> testConfigFile = new ArrayList<String>();
+ final File configFileOrDirectory = new File(getCliOptions().get(ControllerRunner.TEST_CONFIG_PROP));
+
+ if (configFileOrDirectory.isDirectory())
+ {
+ final String[] configFiles = configFileOrDirectory.list(new FilenameFilter()
+ {
+ @Override
+ public boolean accept(File dir, String name)
+ {
+ return new File(dir, name).isFile() && name.endsWith(".json");
+ }
+ });
+
+ for (String configFile : configFiles)
+ {
+ testConfigFile.add(new File(configFileOrDirectory, configFile).getAbsolutePath());
+ }
+ }
+ else
+ {
+ testConfigFile.add(configFileOrDirectory.getAbsolutePath());
+ }
+
+ return testConfigFile;
}
- private Config getTestConfig()
+ private Config buildTestConfigFrom(String testConfigFile)
{
ConfigReader configReader = new ConfigReader();
Config testConfig;
try
{
- testConfig = configReader.getConfigFromFile(getCliOptions().get(ControllerRunner.TEST_CONFIG_PROP));
+ testConfig = configReader.getConfigFromFile(testConfigFile);
}
catch (FileNotFoundException e)
{
- throw new DistributedTestException("Exception while loading test config", e);
+ throw new DistributedTestException("Exception while loading test config from " + testConfigFile, e);
}
return testConfig;
}
diff --git a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/client/ParticipantResultFactory.java b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/client/ParticipantResultFactory.java
index 61b64b8c4f..2e4cda1460 100644
--- a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/client/ParticipantResultFactory.java
+++ b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/client/ParticipantResultFactory.java
@@ -42,25 +42,30 @@ public class ParticipantResultFactory
consumerParticipantResult.setSelector(command.getSelector() != null);
consumerParticipantResult.setNoLocal(command.isNoLocal());
consumerParticipantResult.setSynchronousConsumer(command.isSynchronous());
+ consumerParticipantResult.setTotalNumberOfConsumers(1);
+ consumerParticipantResult.setTotalNumberOfProducers(0);
return consumerParticipantResult;
}
public ProducerParticipantResult createForProducer(String participantName, String clientRegisteredName, CreateProducerCommand command, int numberOfMessagesSent, int payloadSize, long totalPayloadSent, Date start, Date end)
{
- final ProducerParticipantResult participantResult = new ProducerParticipantResult();
+ final ProducerParticipantResult producerParticipantResult = new ProducerParticipantResult();
- participantResult.setStartDelay(command.getStartDelay());
- participantResult.setDeliveryMode(command.getDeliveryMode());
- participantResult.setPriority(command.getPriority());
- participantResult.setInterval(command.getInterval());
- participantResult.setTimeToLive(command.getTimeToLive());
+ producerParticipantResult.setStartDelay(command.getStartDelay());
+ producerParticipantResult.setDeliveryMode(command.getDeliveryMode());
+ producerParticipantResult.setPriority(command.getPriority());
+ producerParticipantResult.setInterval(command.getInterval());
+ producerParticipantResult.setTimeToLive(command.getTimeToLive());
+ producerParticipantResult.setTotalNumberOfConsumers(0);
+ producerParticipantResult.setTotalNumberOfProducers(1);
- setTestProperties(participantResult, command, participantName, clientRegisteredName);
- setTestResultProperties(participantResult, numberOfMessagesSent, payloadSize, totalPayloadSent, start, end);
+ setTestProperties(producerParticipantResult, command, participantName, clientRegisteredName);
- return participantResult;
+ setTestResultProperties(producerParticipantResult, numberOfMessagesSent, payloadSize, totalPayloadSent, start, end);
+
+ return producerParticipantResult;
}
private void setTestResultProperties(final ParticipantResult participantResult, int numberOfMessagesSent, int payloadSize, long totalPayloadReceived, Date start, Date end)
diff --git a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/controller/ClientRegistry.java b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/controller/ClientRegistry.java
index b049da1f84..eaccb54f0e 100644
--- a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/controller/ClientRegistry.java
+++ b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/controller/ClientRegistry.java
@@ -33,6 +33,8 @@ public class ClientRegistry
private final Set<String> _registeredClientNames = new ConcurrentSkipListSet<String>();
+ private final Object _lock = new Object();
+
public void registerClient(String clientName)
{
final boolean alreadyContainsClient = !_registeredClientNames.add(clientName);
@@ -41,12 +43,54 @@ public class ClientRegistry
throw new DistributedTestException("Duplicate client name " + clientName);
}
- LOGGER.info("Client registered: " + clientName);
+ notifyAllWaiters();
+
+ if (LOGGER.isInfoEnabled())
+ {
+ LOGGER.info("Client registered: " + clientName);
+ }
}
+
public Collection<String> getClients()
{
return Collections.unmodifiableSet(_registeredClientNames);
}
+ public int awaitClients(int numberOfClientsToAwait, long timeout)
+ {
+ final long endTime = System.currentTimeMillis() + timeout;
+
+ int numberOfClientsAbsent = numberOfClientsToAwait - _registeredClientNames.size();
+ long remainingTimeout = endTime - System.currentTimeMillis();
+
+ while(numberOfClientsAbsent > 0 && remainingTimeout > 0)
+ {
+ synchronized (_lock)
+ {
+ try
+ {
+ _lock.wait(remainingTimeout);
+ }
+ catch (InterruptedException e)
+ {
+ Thread.currentThread().interrupt();
+ }
+ }
+
+ numberOfClientsAbsent = numberOfClientsToAwait - _registeredClientNames.size();
+ remainingTimeout = endTime - System.currentTimeMillis();
+ }
+
+ return numberOfClientsAbsent < 0 ? 0 : numberOfClientsAbsent;
+ }
+
+ private void notifyAllWaiters()
+ {
+ synchronized (_lock)
+ {
+ _lock.notifyAll();
+ }
+ }
+
}
diff --git a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/controller/Controller.java b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/controller/Controller.java
index a5e0933704..7c935065f0 100644
--- a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/controller/Controller.java
+++ b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/controller/Controller.java
@@ -44,7 +44,6 @@ public class Controller
private final ControllerJmsDelegate _jmsDelegate;
- private volatile CountDownLatch _clientRegistrationLatch;
private volatile CountDownLatch _stopClientsResponseLatch = null;
private Config _config;
@@ -60,25 +59,29 @@ public class Controller
_commandResponseTimeout = commandResponseTimeout;
_testRunnerFactory = new TestRunnerFactory();
_clientRegistry = new ClientRegistry();
+
+ _jmsDelegate.addCommandListener(new RegisterClientCommandListener());
+ _jmsDelegate.addCommandListener(new StopClientResponseListener());
+ _jmsDelegate.start();
}
public void setConfig(Config config)
{
_config = config;
validateConfiguration();
- int numberOfClients = config.getTotalNumberOfClients();
- _clientRegistrationLatch = new CountDownLatch(numberOfClients);
-
- _jmsDelegate.addCommandListener(new RegisterClientCommandListener());
- _jmsDelegate.addCommandListener(new StopClientResponseListener());
- _jmsDelegate.start();
}
-
public void awaitClientRegistrations()
{
- LOGGER.info("Awaiting client registration");
- awaitLatch(_clientRegistrationLatch, _registrationTimeout, "Timed out waiting for registrations. Expecting %d more registrations");
+ LOGGER.info("Awaiting client registrations");
+
+ final int numberOfAbsentClients = _clientRegistry.awaitClients(_config.getTotalNumberOfClients(), _registrationTimeout);
+ if (numberOfAbsentClients > 0)
+ {
+ String formattedMessage = String.format("Timed out waiting for registrations. Expecting %d more registrations", numberOfAbsentClients);
+ throw new DistributedTestException(formattedMessage);
+ }
+
}
private void validateConfiguration()
@@ -111,15 +114,13 @@ public class Controller
{
final String clientName = registrationCommand.getClientName();
- _clientRegistry.registerClient(clientName);
_jmsDelegate.registerClient(registrationCommand);
-
- _clientRegistrationLatch.countDown();
- LOGGER.info("Counted down latch for client: " + clientName + " latch count=" + _clientRegistrationLatch.getCount());
+ _clientRegistry.registerClient(clientName);
}
void processStopClientResponse(final Response response)
{
+ // TODO clientRegistry should expose a deregisterClient
_stopClientsResponseLatch.countDown();
if (response.hasError())
{
diff --git a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/message/ParticipantAttribute.java b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/message/ParticipantAttribute.java
index c2fb38cc96..96bc4183de 100644
--- a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/message/ParticipantAttribute.java
+++ b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/message/ParticipantAttribute.java
@@ -29,29 +29,31 @@ import org.apache.qpid.disttest.client.Participant;
*/
public enum ParticipantAttribute
{
- TEST_NAME("Test Name"),
- ITERATION_NUMBER("Iteration number"),
- CONFIGURED_CLIENT_NAME("Client Name"),
- PARTICIPANT_NAME("Participant name"),
- NUMBER_OF_MESSAGES_PROCESSED("Number of messages"),
- PAYLOAD_SIZE("Payload size (bytes)"),
- PRIORITY("Priority"),
- TIME_TO_LIVE("Time to live (ms)"),
- DELIVERY_MODE("Delivery mode"),
- BATCH_SIZE("Batch size"),
- MAXIMUM_DURATION("Maximum duration (ms)"),
- PRODUCER_START_DELAY("Producer start delay (ms)"),
- PRODUCER_INTERVAL("Producer interval (ms)"),
- IS_TOPIC("Is topic"),
- IS_DURABLE_SUBSCRIPTION("Is durable subscription"),
- IS_BROWSIING_SUBSCRIPTION("Is browsing subscription"),
- IS_SELECTOR("Is selector"),
- IS_NO_LOCAL("Is no local"),
- IS_SYNCHRONOUS_CONSUMER("Is synchronous consumer"),
- TOTAL_PAYLOAD_PROCESSED("Total payload processed (bytes)"),
- THROUGHPUT("Throughput (kbytes/s)"),
- TIME_TAKEN("Time taken (ms)"),
- ERROR_MESSAGE("Error message");
+ TEST_NAME("testName"),
+ ITERATION_NUMBER("iterationNumber"),
+ CONFIGURED_CLIENT_NAME("clientName"),
+ PARTICIPANT_NAME("participantName"),
+ NUMBER_OF_MESSAGES_PROCESSED("numberOfMessages"),
+ PAYLOAD_SIZE("payloadSizeB"),
+ PRIORITY("priority"),
+ TIME_TO_LIVE("timeToLiveMs"),
+ DELIVERY_MODE("deliveryMode"),
+ BATCH_SIZE("batchSize"),
+ MAXIMUM_DURATION("maximumDurationMs"),
+ PRODUCER_START_DELAY("producerStartDelayMs"),
+ PRODUCER_INTERVAL("producerIntervalMs"),
+ IS_TOPIC("isTopic"),
+ IS_DURABLE_SUBSCRIPTION("isDurableSubscription"),
+ IS_BROWSIING_SUBSCRIPTION("isBrowsingSubscription"),
+ IS_SELECTOR("isSelector"),
+ IS_NO_LOCAL("isNoLocal"),
+ IS_SYNCHRONOUS_CONSUMER("isSynchronousConsumer"),
+ TOTAL_NUMBER_OF_CONSUMERS("totalNumberOfConsumers"),
+ TOTAL_NUMBER_OF_PRODUCERS("totalNumberOfProducers"),
+ TOTAL_PAYLOAD_PROCESSED("totalPayloadProcessedB"),
+ THROUGHPUT("throughputKbPerS"),
+ TIME_TAKEN("timeTakenMs"),
+ ERROR_MESSAGE("errorMessage");
private String _displayName;
diff --git a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/message/ParticipantResult.java b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/message/ParticipantResult.java
index 4550f10c65..576babf7a8 100644
--- a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/message/ParticipantResult.java
+++ b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/message/ParticipantResult.java
@@ -49,6 +49,10 @@ public class ParticipantResult extends Response
private int _payloadSize;
private double _throughput;
+ private int _totalNumberOfConsumers;
+ private int _totalNumberOfProducers;
+
+
public static final Comparator<? super ParticipantResult> PARTICIPANT_NAME_COMPARATOR = new Comparator<ParticipantResult>()
{
@Override
@@ -228,4 +232,26 @@ public class ParticipantResult extends Response
_throughput = throughput;
}
+ public void setTotalNumberOfConsumers(int totalNumberOfConsumers)
+ {
+ _totalNumberOfConsumers = totalNumberOfConsumers;
+ }
+
+ @OutputAttribute(attribute=ParticipantAttribute.TOTAL_NUMBER_OF_CONSUMERS)
+ public int getTotalNumberOfConsumers()
+ {
+ return _totalNumberOfConsumers;
+ }
+
+ public void setTotalNumberOfProducers(int totalNumberOfProducers)
+ {
+ _totalNumberOfProducers = totalNumberOfProducers;
+ }
+
+ @OutputAttribute(attribute=ParticipantAttribute.TOTAL_NUMBER_OF_PRODUCERS)
+ public int getTotalNumberOfProducers()
+ {
+ return _totalNumberOfProducers;
+ }
+
}
diff --git a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/results/aggregation/ParticipantResultAggregator.java b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/results/aggregation/ParticipantResultAggregator.java
index 6c4e4f87ac..603f475a16 100644
--- a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/results/aggregation/ParticipantResultAggregator.java
+++ b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/results/aggregation/ParticipantResultAggregator.java
@@ -35,14 +35,17 @@ public class ParticipantResultAggregator
private long _numberOfMessagesProcessed = 0;
private long _totalPayloadProcessed = 0;
+ private int _totalNumberOfConsumers = 0;
+ private int _totalNumberOfProducers = 0;
+
private NavigableSet<Integer> _encounteredPayloadSizes = new TreeSet<Integer>();
private NavigableSet<Integer> _encounteredIterationNumbers = new TreeSet<Integer>();
private NavigableSet<String> _encountedTestNames = new TreeSet<String>();
- public ParticipantResultAggregator(Class<? extends ParticipantResult> taregtClass, String aggregateResultName)
+ public ParticipantResultAggregator(Class<? extends ParticipantResult> targetClass, String aggregateResultName)
{
_aggregatedResultName = aggregateResultName;
- _targetClass = taregtClass;
+ _targetClass = targetClass;
}
public void aggregate(ParticipantResult result)
@@ -73,6 +76,8 @@ public class ParticipantResultAggregator
{
_numberOfMessagesProcessed += result.getNumberOfMessagesProcessed();
_totalPayloadProcessed += result.getTotalPayloadProcessed();
+ _totalNumberOfConsumers += result.getTotalNumberOfConsumers();
+ _totalNumberOfProducers += result.getTotalNumberOfProducers();
_minStartDate = Math.min(_minStartDate, result.getStartInMillis());
_maxEndDate = Math.max(_maxEndDate, result.getEndInMillis());
}
@@ -91,6 +96,8 @@ public class ParticipantResultAggregator
{
aggregatedResult.setNumberOfMessagesProcessed(_numberOfMessagesProcessed);
aggregatedResult.setTotalPayloadProcessed(_totalPayloadProcessed);
+ aggregatedResult.setTotalNumberOfConsumers(_totalNumberOfConsumers);
+ aggregatedResult.setTotalNumberOfProducers(_totalNumberOfProducers);
aggregatedResult.setStartDate(new Date(_minStartDate));
aggregatedResult.setEndDate(new Date(_maxEndDate));
aggregatedResult.setThroughput(calculateThroughputInKiloBytesPerSecond());
diff --git a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/results/aggregation/TestResultAggregator.java b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/results/aggregation/TestResultAggregator.java
index 1938add560..ac0e146635 100644
--- a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/results/aggregation/TestResultAggregator.java
+++ b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/results/aggregation/TestResultAggregator.java
@@ -79,19 +79,21 @@ public class TestResultAggregator
}
private ParticipantResult buildAllResultFromOtherAggregatedResults(
- ParticipantResult aggregatedProducerResult, ParticipantResult aggregaredConsumerResult)
+ ParticipantResult aggregatedProducerResult, ParticipantResult aggregatedConsumerResult)
{
ParticipantResult aggregatedAllResult = new ParticipantResult(ALL_PARTICIPANTS_NAME);
aggregatedAllResult.setStartDate(aggregatedProducerResult.getStartDate());
- aggregatedAllResult.setEndDate(aggregaredConsumerResult.getEndDate());
+ aggregatedAllResult.setEndDate(aggregatedConsumerResult.getEndDate());
- aggregatedAllResult.setIterationNumber(aggregaredConsumerResult.getIterationNumber());
- aggregatedAllResult.setTestName(aggregaredConsumerResult.getTestName());
- aggregatedAllResult.setNumberOfMessagesProcessed(aggregaredConsumerResult.getNumberOfMessagesProcessed());
- aggregatedAllResult.setPayloadSize(aggregaredConsumerResult.getPayloadSize());
- aggregatedAllResult.setTotalPayloadProcessed(aggregaredConsumerResult.getTotalPayloadProcessed());
- aggregatedAllResult.setThroughput(aggregaredConsumerResult.getThroughput());
+ aggregatedAllResult.setIterationNumber(aggregatedConsumerResult.getIterationNumber());
+ aggregatedAllResult.setTestName(aggregatedConsumerResult.getTestName());
+ aggregatedAllResult.setNumberOfMessagesProcessed(aggregatedConsumerResult.getNumberOfMessagesProcessed());
+ aggregatedAllResult.setPayloadSize(aggregatedConsumerResult.getPayloadSize());
+ aggregatedAllResult.setTotalPayloadProcessed(aggregatedConsumerResult.getTotalPayloadProcessed());
+ aggregatedAllResult.setThroughput(aggregatedConsumerResult.getThroughput());
+ aggregatedAllResult.setTotalNumberOfProducers(aggregatedProducerResult.getTotalNumberOfProducers());
+ aggregatedAllResult.setTotalNumberOfConsumers(aggregatedConsumerResult.getTotalNumberOfConsumers());
return aggregatedAllResult;
}