From 2f5999a049b1db7f559aadf268f3266a21eddc1e Mon Sep 17 00:00:00 2001 From: Keith Wall Date: Thu, 26 Apr 2012 16:52:00 +0000 Subject: QPID-3936: Produce aggregated batchSize and bring acknowledgeMode through to CSV file git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1330959 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/disttest/client/ConsumerParticipant.java | 5 +- .../disttest/client/ParticipantResultFactory.java | 11 ++-- .../qpid/disttest/client/ProducerParticipant.java | 6 +- .../qpid/disttest/jms/ClientJmsDelegate.java | 14 +++++ .../disttest/message/ParticipantAttribute.java | 1 + .../qpid/disttest/message/ParticipantResult.java | 17 +++++- .../aggregation/ParticipantResultAggregator.java | 12 ++++ .../results/aggregation/TestResultAggregator.java | 60 ++++++++++--------- .../disttest/client/ConsumerParticipantTest.java | 17 ++++-- .../client/ParticipantResultFactoryTest.java | 13 +++-- .../disttest/client/ParticipantTestHelper.java | 18 ++++-- .../disttest/client/ProducerParticipantTest.java | 22 ++++--- .../disttest/message/ParticipantResultTest.java | 6 +- .../ParticipantResultAggregatorTest.java | 67 ++++++++++++++++++++++ .../aggregation/TestResultAggregatorTest.java | 26 +++++---- .../results/formatting/CSVFormaterTest.java | 12 ++-- .../disttest/results/formatting/expectedOutput.csv | 4 +- 17 files changed, 234 insertions(+), 77 deletions(-) diff --git a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/client/ConsumerParticipant.java b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/client/ConsumerParticipant.java index 7d68a8d84c..1b5e8276c2 100644 --- a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/client/ConsumerParticipant.java +++ b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/client/ConsumerParticipant.java @@ -65,6 +65,7 @@ public class ConsumerParticipant implements Participant public ParticipantResult doIt(String registeredClientName) throws Exception { final Date start = new Date(); + final int acknowledgeMode = _jmsDelegate.getAcknowledgeMode(_command.getSessionName()); if (_command.getMaximumDuration() == 0 && _command.getNumberOfMessages() == 0) { @@ -100,11 +101,11 @@ public class ConsumerParticipant implements Participant getName(), registeredClientName, _command, + acknowledgeMode, numberOfMessagesSent, payloadSize, totalPayloadSize, - start, - end); + start, end); return result; } 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 2e4cda1460..7f6b96b87c 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 @@ -29,11 +29,11 @@ import org.apache.qpid.disttest.message.ProducerParticipantResult; public class ParticipantResultFactory { - public ConsumerParticipantResult createForConsumer(String participantName, String clientRegisteredName, CreateConsumerCommand command, int numberOfMessagesReceived, int payloadSize, long totalPayloadReceived, Date start, Date end) + public ConsumerParticipantResult createForConsumer(String participantName, String clientRegisteredName, CreateConsumerCommand command, int acknowledgeMode, int numberOfMessagesReceived, int payloadSize, long totalPayloadReceived, Date start, Date end) { ConsumerParticipantResult consumerParticipantResult = new ConsumerParticipantResult(); - setTestProperties(consumerParticipantResult, command, participantName, clientRegisteredName); + setTestProperties(consumerParticipantResult, command, participantName, clientRegisteredName, acknowledgeMode); setTestResultProperties(consumerParticipantResult, numberOfMessagesReceived, payloadSize, totalPayloadReceived, start, end); consumerParticipantResult.setTopic(command.isTopic()); @@ -48,7 +48,7 @@ public class ParticipantResultFactory return consumerParticipantResult; } - public ProducerParticipantResult createForProducer(String participantName, String clientRegisteredName, CreateProducerCommand command, int numberOfMessagesSent, int payloadSize, long totalPayloadSent, Date start, Date end) + public ProducerParticipantResult createForProducer(String participantName, String clientRegisteredName, CreateProducerCommand command, int acknowledgeMode, int numberOfMessagesSent, int payloadSize, long totalPayloadSent, Date start, Date end) { final ProducerParticipantResult producerParticipantResult = new ProducerParticipantResult(); @@ -61,7 +61,7 @@ public class ParticipantResultFactory producerParticipantResult.setTotalNumberOfProducers(1); - setTestProperties(producerParticipantResult, command, participantName, clientRegisteredName); + setTestProperties(producerParticipantResult, command, participantName, clientRegisteredName, acknowledgeMode); setTestResultProperties(producerParticipantResult, numberOfMessagesSent, payloadSize, totalPayloadSent, start, end); @@ -77,12 +77,13 @@ public class ParticipantResultFactory participantResult.setEndDate(end); } - private void setTestProperties(final ParticipantResult participantResult, CreateParticpantCommand command, String participantName, String clientRegisteredName) + private void setTestProperties(final ParticipantResult participantResult, CreateParticpantCommand command, String participantName, String clientRegisteredName, int acknowledgeMode) { participantResult.setParticipantName(participantName); participantResult.setRegisteredClientName(clientRegisteredName); participantResult.setBatchSize(command.getBatchSize()); participantResult.setMaximumDuration(command.getMaximumDuration()); + participantResult.setAcknowledgeMode(acknowledgeMode); } diff --git a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/client/ProducerParticipant.java b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/client/ProducerParticipant.java index d40a62f947..bcad81b4aa 100644 --- a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/client/ProducerParticipant.java +++ b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/client/ProducerParticipant.java @@ -57,6 +57,8 @@ public class ProducerParticipant implements Participant throw new DistributedTestException("number of messages and duration cannot both be zero"); } + int acknowledgeMode = _jmsDelegate.getAcknowledgeMode(_command.getSessionName()); + long expectedDuration = _command.getMaximumDuration() - _command.getStartDelay(); doSleepForStartDelay(); @@ -126,9 +128,9 @@ public class ProducerParticipant implements Participant getName(), registeredClientName, _command, + acknowledgeMode, numberOfMessagesSent, - payloadSize, - totalPayloadSizeOfAllMessagesSent, start, end); + payloadSize, totalPayloadSizeOfAllMessagesSent, start, end); } private int getPayloadSizeForResultIfConstantOrZeroOtherwise(NavigableSet allPayloadSizes) diff --git a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/jms/ClientJmsDelegate.java b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/jms/ClientJmsDelegate.java index 282b933607..d68fc86a0e 100644 --- a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/jms/ClientJmsDelegate.java +++ b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/jms/ClientJmsDelegate.java @@ -360,6 +360,20 @@ public class ClientJmsDelegate } } + public int getAcknowledgeMode(final String sessionName) + { + try + { + final Session session = _testSessions.get(sessionName); + return session.getAcknowledgeMode(); + } + catch (final JMSException jmse) + { + throw new DistributedTestException("Unable to determine acknowledgement mode for session: " + + sessionName, jmse); + } + } + public Message sendNextMessage(final CreateProducerCommand command) { Message sentMessage = null; 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 96bc4183de..ccc7c0d9fb 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 @@ -37,6 +37,7 @@ public enum ParticipantAttribute PAYLOAD_SIZE("payloadSizeB"), PRIORITY("priority"), TIME_TO_LIVE("timeToLiveMs"), + ACKNOWLEDGE_MODE("acknowledgeMode"), DELIVERY_MODE("deliveryMode"), BATCH_SIZE("batchSize"), MAXIMUM_DURATION("maximumDurationMs"), 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 576babf7a8..a6d3d91bae 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 @@ -36,11 +36,12 @@ public class ParticipantResult extends Response { private String _testName; private String _participantName; + private int _iterationNumber; + private long _startInMillis; private long _endInMillis; private int _batchSize; private long _maximumDuration; - private int _iterationNumber; private String _configuredClientName; @@ -52,6 +53,9 @@ public class ParticipantResult extends Response private int _totalNumberOfConsumers; private int _totalNumberOfProducers; + // As Session.SESSION_TRANSACTED is 0, we use value -1 so we can distinguish the case where an aggregated result + // summarizes results from participants using different session acknowledge modes. + private int _acknowledgeMode = -1; public static final Comparator PARTICIPANT_NAME_COMPARATOR = new Comparator() { @@ -254,4 +258,15 @@ public class ParticipantResult extends Response return _totalNumberOfProducers; } + @OutputAttribute(attribute=ParticipantAttribute.ACKNOWLEDGE_MODE) + public int getAcknowledgeMode() + { + return _acknowledgeMode; + } + + public void setAcknowledgeMode(int acknowledgeMode) + { + _acknowledgeMode = acknowledgeMode; + } + } 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 603f475a16..207d0131eb 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 @@ -40,6 +40,8 @@ public class ParticipantResultAggregator private NavigableSet _encounteredPayloadSizes = new TreeSet(); private NavigableSet _encounteredIterationNumbers = new TreeSet(); + private NavigableSet _encounteredBatchSizes = new TreeSet(); + private NavigableSet _encounteredAcknowledgeMode = new TreeSet(); private NavigableSet _encountedTestNames = new TreeSet(); public ParticipantResultAggregator(Class targetClass, String aggregateResultName) @@ -90,6 +92,8 @@ public class ParticipantResultAggregator } _encounteredPayloadSizes.add(result.getPayloadSize()); _encounteredIterationNumbers.add(result.getIterationNumber()); + _encounteredBatchSizes.add(result.getBatchSize()); + _encounteredAcknowledgeMode.add(result.getAcknowledgeMode()); } private void setComputedVariableAttributes(ParticipantResult aggregatedResult) @@ -117,6 +121,14 @@ public class ParticipantResultAggregator { aggregatedResult.setTestName(_encountedTestNames.first()); } + if (_encounteredBatchSizes.size() == 1) + { + aggregatedResult.setBatchSize(_encounteredBatchSizes.first()); + } + if (_encounteredAcknowledgeMode.size() == 1) + { + aggregatedResult.setAcknowledgeMode(_encounteredAcknowledgeMode.first()); + } } private double 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 ac0e146635..5934e0e997 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 @@ -31,36 +31,52 @@ public class TestResultAggregator public AggregatedTestResult aggregateTestResult(ITestResult originalTestResult) { - AggregatedTestResult newTestResult = new AggregatedTestResult(originalTestResult); + ParticipantResultAggregator consumerResultAggregator = new ParticipantResultAggregator(ConsumerParticipantResult.class, + ALL_CONSUMER_PARTICIPANTS_NAME); + ParticipantResultAggregator producerResultAggregator = new ParticipantResultAggregator(ProducerParticipantResult.class, + ALL_PRODUCER_PARTICIPANTS_NAME); + ParticipantResultAggregator aggregatedResultsAggregator = new ParticipantResultAggregator(ParticipantResult.class, + ALL_PARTICIPANTS_NAME); - ParticipantResultAggregator consumerParticipantResultAggregator = new ParticipantResultAggregator(ConsumerParticipantResult.class, - ALL_CONSUMER_PARTICIPANTS_NAME); - ParticipantResultAggregator producerParticipantResultAggregator = new ParticipantResultAggregator(ProducerParticipantResult.class, - ALL_PRODUCER_PARTICIPANTS_NAME); + boolean hasError = aggregateOriginalResults(originalTestResult, + consumerResultAggregator, + producerResultAggregator); - boolean hasError = aggregate(originalTestResult, - consumerParticipantResultAggregator, - producerParticipantResultAggregator); + ParticipantResult aggregatedProducerResult = producerResultAggregator.getAggregatedResult(); + ParticipantResult aggregaredConsumerResult = consumerResultAggregator.getAggregatedResult(); - ParticipantResult aggregatedProducerResult = producerParticipantResultAggregator.getAggregatedResult(); - newTestResult.setAllProducerParticipantResult(aggregatedProducerResult); + ParticipantResult aggregatedAllResult = aggregateAggregatedResults( + aggregatedResultsAggregator, aggregatedProducerResult, + aggregaredConsumerResult); - ParticipantResult aggregaredConsumerResult = consumerParticipantResultAggregator.getAggregatedResult(); - newTestResult.setAllConsumerParticipantResult(aggregaredConsumerResult); - - ParticipantResult aggregatedAllResult = buildAllResultFromOtherAggregatedResults( + applyNonAggregateablesToAll(aggregatedAllResult, aggregatedProducerResult, aggregaredConsumerResult); + AggregatedTestResult newTestResult = new AggregatedTestResult(originalTestResult); + newTestResult.setAllProducerParticipantResult(aggregatedProducerResult); + newTestResult.setAllConsumerParticipantResult(aggregaredConsumerResult); + newTestResult.setAllParticipantResult(aggregatedAllResult); + if (hasError) { aggregatedAllResult.setErrorMessage(TestResultAggregator.AGGREGATED_ERROR_MESSAGE); } - newTestResult.setAllParticipantResult(aggregatedAllResult); return newTestResult; } - private boolean aggregate(ITestResult originalTestResult, + private ParticipantResult aggregateAggregatedResults( + ParticipantResultAggregator aggregatedResultsAggregator, + ParticipantResult aggregatedProducerResult, + ParticipantResult aggregaredConsumerResult) + { + aggregatedResultsAggregator.aggregate(aggregatedProducerResult); + aggregatedResultsAggregator.aggregate(aggregaredConsumerResult); + ParticipantResult aggregatedAllResult = aggregatedResultsAggregator.getAggregatedResult(); + return aggregatedAllResult; + } + + private boolean aggregateOriginalResults(ITestResult originalTestResult, ParticipantResultAggregator consumerParticipantResultAggregator, ParticipantResultAggregator producerParticipantResultAggregator) { @@ -78,23 +94,13 @@ public class TestResultAggregator return hasError; } - private ParticipantResult buildAllResultFromOtherAggregatedResults( - ParticipantResult aggregatedProducerResult, ParticipantResult aggregatedConsumerResult) + private void applyNonAggregateablesToAll(ParticipantResult aggregatedAllResult, ParticipantResult aggregatedProducerResult, ParticipantResult aggregatedConsumerResult) { - ParticipantResult aggregatedAllResult = new ParticipantResult(ALL_PARTICIPANTS_NAME); aggregatedAllResult.setStartDate(aggregatedProducerResult.getStartDate()); - aggregatedAllResult.setEndDate(aggregatedConsumerResult.getEndDate()); - 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; } } diff --git a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/client/ConsumerParticipantTest.java b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/client/ConsumerParticipantTest.java index 8bc7318b0c..ff7cfd2b41 100644 --- a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/client/ConsumerParticipantTest.java +++ b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/client/ConsumerParticipantTest.java @@ -30,6 +30,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import javax.jms.Message; +import javax.jms.Session; import junit.framework.TestCase; @@ -72,6 +73,7 @@ public class ConsumerParticipantTest extends TestCase when(_delegate.consumeMessage(PARTICIPANT_NAME1, RECEIVE_TIMEOUT)).thenReturn(_mockMessage); when(_delegate.calculatePayloadSizeFrom(_mockMessage)).thenReturn(PAYLOAD_SIZE_PER_MESSAGE); + when(_delegate.getAcknowledgeMode(SESSION_NAME1)).thenReturn(Session.CLIENT_ACKNOWLEDGE); _testStartTime = System.currentTimeMillis(); } @@ -104,7 +106,8 @@ public class ConsumerParticipantTest extends TestCase ParticipantResult result = _consumerParticipant.doIt(CLIENT_NAME); - assertExpectedConsumerResults(result, PARTICIPANT_NAME1, CLIENT_NAME, _testStartTime, numberOfMessages, PAYLOAD_SIZE_PER_MESSAGE, totalPayloadSize, null); + assertExpectedConsumerResults(result, PARTICIPANT_NAME1, CLIENT_NAME, _testStartTime, + Session.CLIENT_ACKNOWLEDGE, null, numberOfMessages, PAYLOAD_SIZE_PER_MESSAGE, totalPayloadSize, null); _inOrder.verify(_delegate).consumeMessage(PARTICIPANT_NAME1, RECEIVE_TIMEOUT); _inOrder.verify(_delegate).calculatePayloadSizeFrom(_mockMessage); @@ -118,7 +121,8 @@ public class ConsumerParticipantTest extends TestCase ParticipantResult result = _consumerParticipant.doIt(CLIENT_NAME); - assertExpectedConsumerResults(result, PARTICIPANT_NAME1, CLIENT_NAME, _testStartTime, null, PAYLOAD_SIZE_PER_MESSAGE, null, duration); + assertExpectedConsumerResults(result, PARTICIPANT_NAME1, CLIENT_NAME, _testStartTime, + Session.CLIENT_ACKNOWLEDGE, null, null, PAYLOAD_SIZE_PER_MESSAGE, null, duration); verify(_delegate, atLeastOnce()).consumeMessage(PARTICIPANT_NAME1, RECEIVE_TIMEOUT); verify(_delegate, atLeastOnce()).calculatePayloadSizeFrom(_mockMessage); @@ -128,13 +132,15 @@ public class ConsumerParticipantTest extends TestCase public void testReceiveMessagesBatchedSynch() throws Exception { int numberOfMessages = 10; + final int batchSize = 3; long totalPayloadSize = PAYLOAD_SIZE_PER_MESSAGE * numberOfMessages; _command.setNumberOfMessages(numberOfMessages); - _command.setBatchSize(3); + _command.setBatchSize(batchSize); ParticipantResult result = _consumerParticipant.doIt(CLIENT_NAME); - assertExpectedConsumerResults(result, PARTICIPANT_NAME1, CLIENT_NAME, _testStartTime, numberOfMessages, PAYLOAD_SIZE_PER_MESSAGE, totalPayloadSize, null); + assertExpectedConsumerResults(result, PARTICIPANT_NAME1, CLIENT_NAME, _testStartTime, + Session.CLIENT_ACKNOWLEDGE, batchSize, numberOfMessages, PAYLOAD_SIZE_PER_MESSAGE, totalPayloadSize, null); verify(_delegate, times(numberOfMessages)).consumeMessage(PARTICIPANT_NAME1, RECEIVE_TIMEOUT); verify(_delegate, times(numberOfMessages)).calculatePayloadSizeFrom(_mockMessage); @@ -157,7 +163,8 @@ public class ConsumerParticipantTest extends TestCase final int expectedPayloadResultPayloadSize = 0; final long totalPayloadSize = firstPayloadSize + secondPayloadSize + thirdPayloadSize; - assertExpectedConsumerResults(result, PARTICIPANT_NAME1, CLIENT_NAME, _testStartTime, numberOfMessages, expectedPayloadResultPayloadSize, totalPayloadSize, null); + assertExpectedConsumerResults(result, PARTICIPANT_NAME1, CLIENT_NAME, _testStartTime, + Session.CLIENT_ACKNOWLEDGE, null, numberOfMessages, expectedPayloadResultPayloadSize, totalPayloadSize, null); verify(_delegate, times(numberOfMessages)).consumeMessage(PARTICIPANT_NAME1, RECEIVE_TIMEOUT); verify(_delegate, times(numberOfMessages)).calculatePayloadSizeFrom(_mockMessage); diff --git a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/client/ParticipantResultFactoryTest.java b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/client/ParticipantResultFactoryTest.java index af906b5098..3b21834a5c 100644 --- a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/client/ParticipantResultFactoryTest.java +++ b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/client/ParticipantResultFactoryTest.java @@ -79,18 +79,21 @@ public class ParticipantResultFactoryTest extends TestCase int totalNumberOfConsumers = 0; int totalNumberOfProducers = 1; + int acknowledgeMode = 1; + ProducerParticipantResult result = _participantResultFactory.createForProducer(PARTICIPANT_NAME, REGISTERED_CLIENT_NAME, command, + acknowledgeMode, NUMBER_OF_MESSAGES_PROCESSED, PAYLOAD_SIZE, TOTAL_PAYLOAD_PROCESSED, - START, - END); + START, END); assertCommonResultProperties(result); assertEquals(deliveryMode, result.getDeliveryMode()); + assertEquals(acknowledgeMode, result.getAcknowledgeMode()); assertEquals(priority, result.getPriority()); assertEquals(producerInterval, result.getInterval()); assertEquals(producerStartDelay, result.getStartDelay()); @@ -126,14 +129,16 @@ public class ParticipantResultFactoryTest extends TestCase int totalNumberOfConsumers = 1; int totalNumberOfProducers = 0; + int acknowledgeMode = 2; + ConsumerParticipantResult result = _participantResultFactory.createForConsumer(PARTICIPANT_NAME, REGISTERED_CLIENT_NAME, command, + acknowledgeMode, NUMBER_OF_MESSAGES_PROCESSED, PAYLOAD_SIZE, TOTAL_PAYLOAD_PROCESSED, - START, - END); + START, END); assertCommonResultProperties(result); diff --git a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/client/ParticipantTestHelper.java b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/client/ParticipantTestHelper.java index fa071881cc..a013cb0a06 100644 --- a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/client/ParticipantTestHelper.java +++ b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/client/ParticipantTestHelper.java @@ -32,21 +32,22 @@ public class ParticipantTestHelper assertTrue(message + " " + actual, actual >= minimumExpected); } - public static void assertExpectedConsumerResults(ParticipantResult result, String participantName, String registeredClientName, long expectedTestStartTime, Integer expectedNumberOfMessages, Integer expectedPayloadSize, Long expectedTotalPayloadProcessed, Long expectedMinimumExpectedDuration) + public static void assertExpectedConsumerResults(ParticipantResult result, String participantName, String registeredClientName, long expectedTestStartTime, int expectedAcknowledgeMode, Integer expectedBatchSize, Integer expectedNumberOfMessages, Integer expectedPayloadSize, Long expectedTotalPayloadProcessed, Long expectedMinimumExpectedDuration) { - assertExpectedResults(result, participantName, registeredClientName, expectedTestStartTime, expectedNumberOfMessages, expectedPayloadSize, expectedTotalPayloadProcessed, expectedMinimumExpectedDuration); + assertExpectedResults(result, participantName, registeredClientName, expectedTestStartTime, + expectedAcknowledgeMode, expectedBatchSize, expectedNumberOfMessages, expectedPayloadSize, expectedTotalPayloadProcessed, expectedMinimumExpectedDuration); assertEquals("Unexpected number of consumers", 1, result.getTotalNumberOfConsumers()); assertEquals("Unexpected number of producers", 0, result.getTotalNumberOfProducers()); } - public static void assertExpectedProducerResults(ParticipantResult result, String participantName, String registeredClientName, long expectedTestStartTime, Integer expectedNumberOfMessages, Integer expectedPayloadSize, Long expectedTotalPayloadProcessed, Long expectedMinimumExpectedDuration) + public static void assertExpectedProducerResults(ParticipantResult result, String participantName, String registeredClientName, long expectedTestStartTime, int expectedAcknowledgeMode, Integer expectedBatchSize, Integer expectedNumberOfMessages, Integer expectedPayloadSize, Long expectedTotalPayloadProcessed, Long expectedMinimumExpectedDuration) { - assertExpectedResults(result, participantName, registeredClientName, expectedTestStartTime, expectedNumberOfMessages, expectedPayloadSize, expectedTotalPayloadProcessed, expectedMinimumExpectedDuration); + assertExpectedResults(result, participantName, registeredClientName, expectedTestStartTime, expectedAcknowledgeMode, expectedBatchSize, expectedNumberOfMessages, expectedPayloadSize, expectedTotalPayloadProcessed, expectedMinimumExpectedDuration); assertEquals("Unexpected number of producers", 1, result.getTotalNumberOfProducers()); assertEquals("Unexpected number of consumers", 0, result.getTotalNumberOfConsumers()); } - private static void assertExpectedResults(ParticipantResult result, String participantName, String registeredClientName, long expectedTestStartTime, Integer expectedNumberOfMessages, Integer expectedPayloadSize, Long expectedTotalPayloadProcessed, Long expectedMinimumExpectedDuration) + private static void assertExpectedResults(ParticipantResult result, String participantName, String registeredClientName, long expectedTestStartTime, int expectedAcknowledgeMode, Integer expectedBatchSize, Integer expectedNumberOfMessages, Integer expectedPayloadSize, Long expectedTotalPayloadProcessed, Long expectedMinimumExpectedDuration) { assertFalse(result.hasError()); @@ -55,10 +56,17 @@ public class ParticipantTestHelper assertAtLeast("start time of result is too low", expectedTestStartTime, result.getStartInMillis()); assertAtLeast("end time of result should be after start time", result.getStartInMillis(), result.getEndInMillis()); + + assertEquals("unexpected acknowledge mode", expectedAcknowledgeMode, result.getAcknowledgeMode()); + if(expectedNumberOfMessages != null) { assertEquals("unexpected number of messages", expectedNumberOfMessages.intValue(), result.getNumberOfMessagesProcessed()); } + if(expectedBatchSize != null) + { + assertEquals("unexpected batch size", expectedBatchSize.intValue(), result.getBatchSize()); + } if (expectedPayloadSize != null) { assertEquals("unexpected payload size", expectedPayloadSize.intValue(), result.getPayloadSize()); diff --git a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/client/ProducerParticipantTest.java b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/client/ProducerParticipantTest.java index c78fc8837c..cf05623e8f 100644 --- a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/client/ProducerParticipantTest.java +++ b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/client/ProducerParticipantTest.java @@ -29,6 +29,7 @@ import static org.mockito.Mockito.when; import javax.jms.DeliveryMode; import javax.jms.Message; +import javax.jms.Session; import junit.framework.TestCase; @@ -69,6 +70,7 @@ public class ProducerParticipantTest extends TestCase when(_delegate.sendNextMessage(isA(CreateProducerCommand.class))).thenReturn(_mockMessage); when(_delegate.calculatePayloadSizeFrom(_mockMessage)).thenReturn(PAYLOAD_SIZE_PER_MESSAGE); + when(_delegate.getAcknowledgeMode(SESSION_NAME1)).thenReturn(Session.AUTO_ACKNOWLEDGE); _producer = new ProducerParticipant(_delegate, _command); @@ -87,7 +89,7 @@ public class ProducerParticipantTest extends TestCase ParticipantResult result = _producer.doIt(CLIENT_NAME); long expectedPublishedStartTime = _testStartTime + delay; - assertExpectedProducerResults(result, PARTICIPANT_NAME1, CLIENT_NAME, expectedPublishedStartTime, numberOfMessages, PAYLOAD_SIZE_PER_MESSAGE, totalPayloadSize, null); + assertExpectedProducerResults(result, PARTICIPANT_NAME1, CLIENT_NAME, expectedPublishedStartTime, Session.AUTO_ACKNOWLEDGE, null, numberOfMessages, PAYLOAD_SIZE_PER_MESSAGE, totalPayloadSize, null); } @@ -120,7 +122,8 @@ public class ProducerParticipantTest extends TestCase _command.setDeliveryMode(deliveryMode); ParticipantResult result = (ParticipantResult) _producer.doIt(CLIENT_NAME); - assertExpectedProducerResults(result, PARTICIPANT_NAME1, CLIENT_NAME, _testStartTime, numberOfMessages, PAYLOAD_SIZE_PER_MESSAGE, totalPayloadSize, null); + assertExpectedProducerResults(result, PARTICIPANT_NAME1, CLIENT_NAME, _testStartTime, + Session.AUTO_ACKNOWLEDGE, null, numberOfMessages, PAYLOAD_SIZE_PER_MESSAGE, totalPayloadSize, null); _inOrder.verify(_delegate).sendNextMessage(isA(CreateProducerCommand.class)); _inOrder.verify(_delegate).calculatePayloadSizeFrom(_mockMessage); @@ -134,7 +137,8 @@ public class ProducerParticipantTest extends TestCase _command.setMaximumDuration(duration); ParticipantResult result = _producer.doIt(CLIENT_NAME); - assertExpectedProducerResults(result, PARTICIPANT_NAME1, CLIENT_NAME, _testStartTime, null, PAYLOAD_SIZE_PER_MESSAGE, null, duration); + assertExpectedProducerResults(result, PARTICIPANT_NAME1, CLIENT_NAME, _testStartTime, + Session.AUTO_ACKNOWLEDGE, null, null, PAYLOAD_SIZE_PER_MESSAGE, null, duration); verify(_delegate, atLeastOnce()).sendNextMessage(isA(CreateProducerCommand.class)); verify(_delegate, atLeastOnce()).calculatePayloadSizeFrom(_mockMessage); @@ -143,15 +147,17 @@ public class ProducerParticipantTest extends TestCase public void testSendMessageBatches() throws Exception { + final int batchSize = 3; final int numberOfMessages = 10; final int expectedNumberOfCommits = 4; // one for each batch of 3 messages, plus one more at the end of the test for the tenth msg. long totalPayloadSize = PAYLOAD_SIZE_PER_MESSAGE * numberOfMessages; _command.setNumberOfMessages(numberOfMessages); - _command.setBatchSize(3); + _command.setBatchSize(batchSize); ParticipantResult result = _producer.doIt(CLIENT_NAME); - assertExpectedProducerResults(result, PARTICIPANT_NAME1, CLIENT_NAME, _testStartTime, numberOfMessages, PAYLOAD_SIZE_PER_MESSAGE, totalPayloadSize, null); + assertExpectedProducerResults(result, PARTICIPANT_NAME1, CLIENT_NAME, _testStartTime, + Session.AUTO_ACKNOWLEDGE, batchSize, numberOfMessages, PAYLOAD_SIZE_PER_MESSAGE, totalPayloadSize, null); verify(_delegate, times(numberOfMessages)).sendNextMessage(isA(CreateProducerCommand.class)); verify(_delegate, times(numberOfMessages)).calculatePayloadSizeFrom(_mockMessage); @@ -172,7 +178,8 @@ public class ProducerParticipantTest extends TestCase _command.setInterval(publishInterval); ParticipantResult result = _producer.doIt(CLIENT_NAME); - assertExpectedProducerResults(result, PARTICIPANT_NAME1, CLIENT_NAME, _testStartTime, numberOfMessages, null, totalPayloadSize, expectedTimeToRunTest); + assertExpectedProducerResults(result, PARTICIPANT_NAME1, CLIENT_NAME, _testStartTime, + Session.AUTO_ACKNOWLEDGE, null, numberOfMessages, null, totalPayloadSize, expectedTimeToRunTest); verify(_delegate, times(numberOfMessages)).sendNextMessage(isA(CreateProducerCommand.class)); verify(_delegate, times(numberOfMessages)).calculatePayloadSizeFrom(_mockMessage); @@ -196,7 +203,8 @@ public class ProducerParticipantTest extends TestCase ParticipantResult result = _producer.doIt(CLIENT_NAME); final int expectedPayloadResultPayloadSize = 0; - assertExpectedProducerResults(result, PARTICIPANT_NAME1, CLIENT_NAME, _testStartTime, numberOfMessages, expectedPayloadResultPayloadSize, totalPayloadSize, null); + assertExpectedProducerResults(result, PARTICIPANT_NAME1, CLIENT_NAME, _testStartTime, + Session.AUTO_ACKNOWLEDGE, null, numberOfMessages, expectedPayloadResultPayloadSize, totalPayloadSize, null); verify(_delegate, times(numberOfMessages)).sendNextMessage(isA(CreateProducerCommand.class)); verify(_delegate, times(numberOfMessages)).calculatePayloadSizeFrom(_mockMessage); diff --git a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/message/ParticipantResultTest.java b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/message/ParticipantResultTest.java index 4d636054c1..12731c06f4 100644 --- a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/message/ParticipantResultTest.java +++ b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/message/ParticipantResultTest.java @@ -70,11 +70,14 @@ public class ParticipantResultTest extends TestCase int totalNumberOfConsumers = 1; int totalNumberOfProducers = 1; + int acknowledgeMode = 1; + result.setParticipantName(participantName); result.setTestName(testName); result.setIterationNumber(iterationNumber); result.setConfiguredClientName(clientConfiguredName); + result.setAcknowledgeMode(acknowledgeMode); result.setNumberOfMessagesProcessed(numberOfMessages); result.setConfiguredClientName(clientConfiguredName); result.setBatchSize(batchSize); @@ -90,6 +93,7 @@ public class ParticipantResultTest extends TestCase assertEquals(participantName, result.getAttributes().get(PARTICIPANT_NAME)); assertEquals(testName, result.getAttributes().get(TEST_NAME)); + assertEquals(iterationNumber, result.getAttributes().get(ITERATION_NUMBER)); assertEquals(clientConfiguredName, result.getAttributes().get(CONFIGURED_CLIENT_NAME)); assertEquals(numberOfMessages, result.getAttributes().get(NUMBER_OF_MESSAGES_PROCESSED)); assertEquals(timeTaken, result.getAttributes().get(TIME_TAKEN)); @@ -99,8 +103,8 @@ public class ParticipantResultTest extends TestCase assertEquals(maximumDuration, result.getAttributes().get(MAXIMUM_DURATION)); assertEquals(totalNumberOfConsumers, result.getAttributes().get(TOTAL_NUMBER_OF_CONSUMERS)); assertEquals(totalNumberOfProducers, result.getAttributes().get(TOTAL_NUMBER_OF_PRODUCERS)); + assertEquals(acknowledgeMode, result.getAttributes().get(ACKNOWLEDGE_MODE)); assertEquals(errorMessage, result.getAttributes().get(ERROR_MESSAGE)); - assertEquals(iterationNumber, result.getAttributes().get(ITERATION_NUMBER)); } public void testConsumerParticipantResultAttributes() throws Exception diff --git a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/aggregation/ParticipantResultAggregatorTest.java b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/aggregation/ParticipantResultAggregatorTest.java index db30595edd..72743be1d1 100644 --- a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/aggregation/ParticipantResultAggregatorTest.java +++ b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/aggregation/ParticipantResultAggregatorTest.java @@ -21,6 +21,8 @@ package org.apache.qpid.disttest.results.aggregation; import java.util.Date; +import javax.jms.Session; + import org.apache.qpid.disttest.message.ParticipantResult; import org.apache.qpid.disttest.results.aggregation.ParticipantResultAggregator; @@ -179,6 +181,71 @@ public class ParticipantResultAggregatorTest extends TestCase assertEquals(0, aggregratedResult.getPayloadSize()); } + public void testConstantBatchSizesRolledUp() throws Exception + { + final int batchSize = 10; + + ParticipantResult result1 = new ParticipantResult(); + result1.setBatchSize(batchSize); + + ParticipantResult result2 = new ParticipantResult(); + result2.setBatchSize(batchSize); + + _aggregator.aggregate(result1); + _aggregator.aggregate(result2); + + ParticipantResult aggregratedResult = _aggregator.getAggregatedResult(); + assertEquals(batchSize, aggregratedResult.getBatchSize()); + } + + public void testDifferingBatchSizesNotRolledUp() throws Exception + { + final int batch1Size = 10; + final int batch2Size = 20; + + ParticipantResult result1 = new ParticipantResult(); + result1.setBatchSize(batch1Size); + + ParticipantResult result2 = new ParticipantResult(); + result2.setBatchSize(batch2Size); + + _aggregator.aggregate(result1); + _aggregator.aggregate(result2); + + ParticipantResult aggregratedResult = _aggregator.getAggregatedResult(); + assertEquals(0, aggregratedResult.getBatchSize()); + } + + public void testConstantAcknowledgeModesRolledUp() throws Exception + { + ParticipantResult result1 = new ParticipantResult(); + result1.setAcknowledgeMode(Session.DUPS_OK_ACKNOWLEDGE); + + ParticipantResult result2 = new ParticipantResult(); + result2.setAcknowledgeMode(Session.DUPS_OK_ACKNOWLEDGE); + + _aggregator.aggregate(result1); + _aggregator.aggregate(result2); + + ParticipantResult aggregratedResult = _aggregator.getAggregatedResult(); + assertEquals(Session.DUPS_OK_ACKNOWLEDGE, aggregratedResult.getAcknowledgeMode()); + } + + public void testDifferingAcknowledgeModesNotRolledUp() throws Exception + { + ParticipantResult result1 = new ParticipantResult(); + result1.setBatchSize(Session.AUTO_ACKNOWLEDGE); + + ParticipantResult result2 = new ParticipantResult(); + result2.setBatchSize(Session.SESSION_TRANSACTED); + + _aggregator.aggregate(result1); + _aggregator.aggregate(result2); + + ParticipantResult aggregratedResult = _aggregator.getAggregatedResult(); + assertEquals(-1, aggregratedResult.getAcknowledgeMode()); + } + public void testSumNumberOfConsumerAndProducers() throws Exception { final int expectedNumberOfProducers = 1; diff --git a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/aggregation/TestResultAggregatorTest.java b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/aggregation/TestResultAggregatorTest.java index 95f01d853a..a803120cc6 100644 --- a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/aggregation/TestResultAggregatorTest.java +++ b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/aggregation/TestResultAggregatorTest.java @@ -61,6 +61,8 @@ public class TestResultAggregatorTest extends TestCase private static final int EXPECTED_NUMBER_OF_AGGREGATED_RESULTS = 3; + private static final int BATCH_SIZE = 3; + private TestResultAggregator _aggregator = new TestResultAggregator(); public void testAggregateResultsForTwoConsumerAndOneProducer() throws Exception @@ -76,19 +78,19 @@ public class TestResultAggregatorTest extends TestCase assertEquals(expectedNumberOfResults, aggregatedTestResult.getParticipantResults().size()); assertMinimalAggregatedResults( - aggregatedTestResult.getAllParticipantResult(), + aggregatedTestResult.getAllConsumerParticipantResult(), TEST1_NAME, TEST1_ITERATION_NUMBER, - NUMBER_OF_MESSAGES_CONSUMED_IN_TOTAL, 2, 1); + BATCH_SIZE, NUMBER_OF_MESSAGES_CONSUMED_IN_TOTAL, 2, 0); assertMinimalAggregatedResults( - aggregatedTestResult.getAllConsumerParticipantResult(), + aggregatedTestResult.getAllProducerParticipantResult(), TEST1_NAME, TEST1_ITERATION_NUMBER, - NUMBER_OF_MESSAGES_CONSUMED_IN_TOTAL, 2, 0); + BATCH_SIZE, NUMBER_OF_MESSAGES_PRODUCED, 0, 1); assertMinimalAggregatedResults( - aggregatedTestResult.getAllProducerParticipantResult(), + aggregatedTestResult.getAllParticipantResult(), TEST1_NAME, TEST1_ITERATION_NUMBER, - NUMBER_OF_MESSAGES_PRODUCED, 0, 1); + BATCH_SIZE, NUMBER_OF_MESSAGES_CONSUMED_IN_TOTAL, 2, 1); } public void testAggregateResultsWhenParticipantErrored() @@ -103,10 +105,11 @@ public class TestResultAggregatorTest extends TestCase assertEquals(TestResultAggregator.AGGREGATED_ERROR_MESSAGE, aggregatedTestResult.getAllParticipantResult().getErrorMessage()); } - private void assertMinimalAggregatedResults(ParticipantResult result, String expectedTestName, int expectedIterationNumber, long expectedNumberOfMessagesProcessed, int expectedTotalNumberOfConsumers, int expectedTotalNumberOfProducers) + private void assertMinimalAggregatedResults(ParticipantResult result, String expectedTestName, int expectedIterationNumber, int expectedBatchSize, long expectedNumberOfMessagesProcessed, int expectedTotalNumberOfConsumers, int expectedTotalNumberOfProducers) { assertEquals("Unexpected test name in " + result.getParticipantName(), expectedTestName, result.getTestName()); assertEquals("Unexpected iteration number in " + result.getParticipantName(), expectedIterationNumber, result.getIterationNumber()); + assertEquals("Unexpected batch size " + result.getParticipantName(), expectedBatchSize, result.getBatchSize()); assertEquals("Unexpected number of messages processed in " + result.getParticipantName(), expectedNumberOfMessagesProcessed, result.getNumberOfMessagesProcessed()); assertEquals("Unexpected total number of consumers " + result.getParticipantName(), expectedTotalNumberOfConsumers, result.getTotalNumberOfConsumers()); assertEquals("Unexpected total number of producers " + result.getParticipantName(), expectedTotalNumberOfProducers, result.getTotalNumberOfProducers()); @@ -117,21 +120,21 @@ public class TestResultAggregatorTest extends TestCase TestResult testResult = new TestResult(TEST1_NAME); ConsumerParticipantResult consumerResult1 = new ConsumerParticipantResult(); - setPropertiesOn(consumerResult1, TEST1_NAME, TEST1_ITERATION_NUMBER, CONSUMER_PARTICIPANT_NAME1, NUMBER_OF_MESSAGES_PROCESSED_PER_CONSUMER, PAYLOAD_SIZE, TOTAL_PAYLOAD_PROCESSED_PER_CONSUMER, CONSUMER1_STARTDATE, CONSUMER1_ENDDATE, 1, 0); + setPropertiesOn(consumerResult1, TEST1_NAME, TEST1_ITERATION_NUMBER, CONSUMER_PARTICIPANT_NAME1, NUMBER_OF_MESSAGES_PROCESSED_PER_CONSUMER, BATCH_SIZE, PAYLOAD_SIZE, TOTAL_PAYLOAD_PROCESSED_PER_CONSUMER, CONSUMER1_STARTDATE, CONSUMER1_ENDDATE, 1, 0); testResult.addParticipantResult(consumerResult1); ConsumerParticipantResult consumerResult2 = new ConsumerParticipantResult(); - setPropertiesOn(consumerResult2, TEST1_NAME, TEST1_ITERATION_NUMBER, CONSUMER_PARTICIPANT_NAME2, NUMBER_OF_MESSAGES_PROCESSED_PER_CONSUMER, PAYLOAD_SIZE, TOTAL_PAYLOAD_PROCESSED_PER_CONSUMER, CONSUMER2_STARTDATE, CONSUMER2_ENDDATE, 1, 0); + setPropertiesOn(consumerResult2, TEST1_NAME, TEST1_ITERATION_NUMBER, CONSUMER_PARTICIPANT_NAME2, NUMBER_OF_MESSAGES_PROCESSED_PER_CONSUMER, BATCH_SIZE, PAYLOAD_SIZE, TOTAL_PAYLOAD_PROCESSED_PER_CONSUMER, CONSUMER2_STARTDATE, CONSUMER2_ENDDATE, 1, 0); testResult.addParticipantResult(consumerResult2); ParticipantResult producerResult = new ProducerParticipantResult(); - setPropertiesOn(producerResult, TEST1_NAME, TEST1_ITERATION_NUMBER, PRODUCER_PARTICIPANT_NAME, NUMBER_OF_MESSAGES_PRODUCED, PAYLOAD_SIZE, TOTAL_PAYLOAD_PRODUCED_IN_TOTAL, PRODUCER_STARTDATE, PRODUCER_ENDDATE, 0, 1); + setPropertiesOn(producerResult, TEST1_NAME, TEST1_ITERATION_NUMBER, PRODUCER_PARTICIPANT_NAME, NUMBER_OF_MESSAGES_PRODUCED, BATCH_SIZE, PAYLOAD_SIZE, TOTAL_PAYLOAD_PRODUCED_IN_TOTAL, PRODUCER_STARTDATE, PRODUCER_ENDDATE, 0, 1); testResult.addParticipantResult(producerResult); return testResult; } - private void setPropertiesOn(ParticipantResult participantResult, String testName, int iterationNumber, String participantName, long numberOfMessagesProcessed, int payloadSize, long totalPayloadProcessed, long start, long end, int totalNumberOfConsumers, int totalNumberOfProducers) + private void setPropertiesOn(ParticipantResult participantResult, String testName, int iterationNumber, String participantName, long numberOfMessagesProcessed, int batchSize, int payloadSize, long totalPayloadProcessed, long start, long end, int totalNumberOfConsumers, int totalNumberOfProducers) { participantResult.setParticipantName(participantName); participantResult.setTestName(testName); @@ -144,5 +147,6 @@ public class TestResultAggregatorTest extends TestCase participantResult.setTotalPayloadProcessed(totalPayloadProcessed); participantResult.setStartDate(new Date(start)); participantResult.setEndDate(new Date(end)); + participantResult.setBatchSize(batchSize); } } diff --git a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/formatting/CSVFormaterTest.java b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/formatting/CSVFormaterTest.java index 14fe7179da..088746d8cd 100644 --- a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/formatting/CSVFormaterTest.java +++ b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/formatting/CSVFormaterTest.java @@ -20,7 +20,7 @@ package org.apache.qpid.disttest.results.formatting; import static org.apache.qpid.disttest.message.ParticipantAttribute.BATCH_SIZE; import static org.apache.qpid.disttest.message.ParticipantAttribute.CONFIGURED_CLIENT_NAME; -import static org.apache.qpid.disttest.message.ParticipantAttribute.DELIVERY_MODE; +import static org.apache.qpid.disttest.message.ParticipantAttribute.*; import static org.apache.qpid.disttest.message.ParticipantAttribute.ERROR_MESSAGE; import static org.apache.qpid.disttest.message.ParticipantAttribute.IS_BROWSIING_SUBSCRIPTION; import static org.apache.qpid.disttest.message.ParticipantAttribute.IS_DURABLE_SUBSCRIPTION; @@ -58,6 +58,7 @@ import org.apache.qpid.disttest.controller.ResultsForAllTests; import org.apache.qpid.disttest.controller.TestResult; import org.apache.qpid.disttest.message.ParticipantAttribute; import org.apache.qpid.disttest.message.ParticipantResult; +import org.apache.qpid.qmf.QMFProperty.AccessCode; public class CSVFormaterTest extends TestCase { @@ -96,10 +97,11 @@ public class CSVFormaterTest extends TestCase participantAttributes.put(ITERATION_NUMBER, 0); participantAttributes.put(CONFIGURED_CLIENT_NAME, CONFIGURED_CLIENT1); participantAttributes.put(PARTICIPANT_NAME, PARTICIPANT); - participantAttributes.put(NUMBER_OF_MESSAGES_PROCESSED, 1); - participantAttributes.put(PAYLOAD_SIZE, 2); - participantAttributes.put(PRIORITY, 3); - participantAttributes.put(TIME_TO_LIVE, 4); + participantAttributes.put(NUMBER_OF_MESSAGES_PROCESSED, 0); + participantAttributes.put(PAYLOAD_SIZE, 1); + participantAttributes.put(PRIORITY, 2); + participantAttributes.put(TIME_TO_LIVE, 3); + participantAttributes.put(ACKNOWLEDGE_MODE, 4); participantAttributes.put(DELIVERY_MODE, 5); participantAttributes.put(BATCH_SIZE, 6); participantAttributes.put(MAXIMUM_DURATION, 7); diff --git a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/formatting/expectedOutput.csv b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/formatting/expectedOutput.csv index 073fafb68a..cfffb1e549 100644 --- a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/formatting/expectedOutput.csv +++ b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/formatting/expectedOutput.csv @@ -1,2 +1,2 @@ -testName,iterationNumber,clientName,participantName,numberOfMessages,payloadSizeB,priority,timeToLiveMs,deliveryMode,batchSize,maximumDurationMs,producerStartDelayMs,producerIntervalMs,isTopic,isDurableSubscription,isBrowsingSubscription,isSelector,isNoLocal,isSynchronousConsumer,totalNumberOfConsumers,totalNumberOfProducers,totalPayloadProcessedB,throughputKbPerS,timeTakenMs,errorMessage -TEST1,0,CONFIGURED_CLIENT1,PARTICIPANT,1,2,3,4,5,6,7,8,9,true,false,true,false,true,false,1,2,1024,2048,1000,error \ No newline at end of file +testName,iterationNumber,clientName,participantName,numberOfMessages,payloadSizeB,priority,timeToLiveMs,acknowledgeMode,deliveryMode,batchSize,maximumDurationMs,producerStartDelayMs,producerIntervalMs,isTopic,isDurableSubscription,isBrowsingSubscription,isSelector,isNoLocal,isSynchronousConsumer,totalNumberOfConsumers,totalNumberOfProducers,totalPayloadProcessedB,throughputKbPerS,timeTakenMs,errorMessage +TEST1,0,CONFIGURED_CLIENT1,PARTICIPANT,0,1,2,3,4,5,6,7,8,9,true,false,true,false,true,false,1,2,1024,2048,1000,error \ No newline at end of file -- cgit v1.2.1