summaryrefslogtreecommitdiff
path: root/java/perftests/etc
diff options
context:
space:
mode:
Diffstat (limited to 'java/perftests/etc')
-rw-r--r--java/perftests/etc/chartdefs/1001-MessageSize-Transient-ByteSec.chartdef (renamed from java/perftests/etc/chartdefs/1001-MessageSize-Transient.chartdef)7
-rw-r--r--java/perftests/etc/chartdefs/1002-MessageSize-Persistent-ByteSec.chartdef (renamed from java/perftests/etc/chartdefs/1002-MessageSize-Persistent.chartdef)7
-rw-r--r--java/perftests/etc/chartdefs/1003-MessageSize-Transient-MsgSec.chartdef37
-rw-r--r--java/perftests/etc/chartdefs/1004-MessageSize-Persistent-MsgSec.chartdef37
-rw-r--r--java/perftests/etc/chartdefs/1011-VaryingNumberOfProducers-AutoAck.chartdef (renamed from java/perftests/etc/chartdefs/1011-VaryingNumberOfProducers.chartdef)19
-rw-r--r--java/perftests/etc/chartdefs/1012-VaryingNumberOfConsumers-AutoAck.chartdef (renamed from java/perftests/etc/chartdefs/1012-VaryingNumberOfConsumers.chartdef)19
-rw-r--r--java/perftests/etc/chartdefs/1015-VaryingNumberOfProducers-SessionTrans.chartdef47
-rw-r--r--java/perftests/etc/chartdefs/1016-VaryingNumberOfConsumers-SessionTrans.chartdef47
-rw-r--r--java/perftests/etc/chartdefs/1021-AcknowledgementModes-Persistent.chartdef13
-rw-r--r--java/perftests/etc/chartdefs/1022-AcknowledgementModes-Transient.chartdef10
-rw-r--r--java/perftests/etc/chartdefs/1030-BatchSize-Equal.chartdef37
-rw-r--r--java/perftests/etc/chartdefs/1031-BatchSize-Unequal.chartdef53
-rw-r--r--java/perftests/etc/chartdefs/1040-QueueTypes.chartdef10
-rw-r--r--java/perftests/etc/chartdefs/1050-VaryingNumberOfProducerSessionsSingleConnection.chartdef49
-rw-r--r--java/perftests/etc/chartdefs/1300-QueueConsumersWithNonOverlappingSelectors-Transient.chartdef37
-rw-r--r--java/perftests/etc/chartdefs/1301-QueueConsumersWithNonOverlappingSelectors-Persistent.chartdef43
-rw-r--r--java/perftests/etc/chartdefs/1302-QueueConsumersWithOverlappingSelectors-Transient.chartdef36
-rw-r--r--java/perftests/etc/chartdefs/1303-QueueConsumersWithOverlappingSelectors-Persistent.chartdef42
-rw-r--r--java/perftests/etc/chartdefs/1500-Topic-NumberOfConsumers.chartdef11
-rw-r--r--java/perftests/etc/chartdefs/1501-Topic-NumberOfTopics.chartdef11
-rw-r--r--java/perftests/etc/chartdefs/1502-Topic-Persistence.chartdef13
-rw-r--r--java/perftests/etc/chartdefs/1503-Topic-AckModes.chartdef13
-rw-r--r--java/perftests/etc/chartdefs/2001-Latency-MessageSize-Transient.chartdef6
-rw-r--r--java/perftests/etc/chartdefs/2002-Latency-MessageSize-Persistent.chartdef6
-rw-r--r--java/perftests/etc/chartdefs/2011-Latency-QueuesWithNonOverlappingSelectors-Transient.chartdef6
-rw-r--r--java/perftests/etc/chartdefs/2012-Latency-QueuesWithOverlappingSelectors-Transient.chartdef6
-rw-r--r--java/perftests/etc/chartdefs/2021-Latency-QueuesWithNonOverlappingSelectors-Persistent.chartdef6
-rw-r--r--java/perftests/etc/chartdefs/2022-Latency-QueuesWithOverlappingSelectors-Persistent.chartdef6
-rw-r--r--java/perftests/etc/chartdefs/2031-Latency-VaryingNumberOfParticipants.chartdef7
-rw-r--r--java/perftests/etc/chartdefs/2041-Latency-QueueTypes.chartdef6
-rw-r--r--java/perftests/etc/chartdefs/timeseries/1001-Large-Messages-Transient.chartdef29
-rw-r--r--java/perftests/etc/chartdefs/timeseries/1002-Large-Messages-Persistent.chartdef29
-rw-r--r--java/perftests/etc/chartdefs/timeseries/1011-MultipleProducersAndConsumers-Persistent.chartdef30
-rw-r--r--java/perftests/etc/chartdefs/timeseries/1030-Batch-Size-Small.chartdef (renamed from java/perftests/etc/chartdefs/1030-BatchSize.chartdef)19
-rw-r--r--java/perftests/etc/chartdefs/timeseries/1031-Batch-Size-Large.chartdef30
-rw-r--r--java/perftests/etc/chartdefs/timeseries/1040-SortedQueue.chartdef30
-rw-r--r--java/perftests/etc/perftests-jndi.properties4
-rwxr-xr-xjava/perftests/etc/run-perftests.sh37
-rw-r--r--java/perftests/etc/testdefs/BatchSize.js102
-rw-r--r--java/perftests/etc/testdefs/BatchSize.json84
-rw-r--r--java/perftests/etc/testdefs/BatchSizeConsumerVaries.js102
-rw-r--r--java/perftests/etc/testdefs/BatchSizeProducerVaries.js102
-rw-r--r--java/perftests/etc/testdefs/QueueConsumersWithNonOverlappingSelectors.js120
-rw-r--r--java/perftests/etc/testdefs/QueueConsumersWithOverlappingSelectors.js131
-rw-r--r--java/perftests/etc/testdefs/Topic-AckModes.js9
-rw-r--r--java/perftests/etc/testdefs/Topic-NumberOfConsumers.js4
-rw-r--r--java/perftests/etc/testdefs/Topic-NumberOfTopics.js4
-rw-r--r--java/perftests/etc/testdefs/Topic-Persistence.js8
-rw-r--r--java/perftests/etc/testdefs/VaryingNumberOfParticipants.json272
-rw-r--r--java/perftests/etc/testdefs/VaryingNumberOfProducerSessionsSingleConnection.js95
-rwxr-xr-xjava/perftests/etc/visualisation-timeseries.sh33
-rwxr-xr-xjava/perftests/etc/visualisation.sh35
52 files changed, 1671 insertions, 285 deletions
diff --git a/java/perftests/etc/chartdefs/1001-MessageSize-Transient.chartdef b/java/perftests/etc/chartdefs/1001-MessageSize-Transient-ByteSec.chartdef
index 757a396dff..7559b5934e 100644
--- a/java/perftests/etc/chartdefs/1001-MessageSize-Transient.chartdef
+++ b/java/perftests/etc/chartdefs/1001-MessageSize-Transient-ByteSec.chartdef
@@ -18,15 +18,20 @@
#
chartType=XYLINE
-chartTitle=Impact of Message Size
+chartTitle=Impact of Message Size Bytes/S
chartSubtitle=Transient messages
+chartDescription=1P 1C, transient, auto-ack, with message payload between 256-262144 bytes.
+
xAxisTitle=Message Size (B)
yAxisTitle=Throughput (KB/s)
series.1.statement=SELECT payloadSizeB, throughputKbPerS FROM MessageSize WHERE testName like '%TRANSIENT' AND participantName = 'All'
series.1.legend=Current
series.1.dir=${csvCurrentDir}
+series.1.colourName=red
series.2.statement=SELECT payloadSizeB, throughputKbPerS FROM MessageSize WHERE testName like '%TRANSIENT' AND participantName = 'All'
series.2.legend=Baseline
series.2.dir=${csvBaselineDir}
+series.2.colourName=dark_red
+series.2.strokeWidth=-1
diff --git a/java/perftests/etc/chartdefs/1002-MessageSize-Persistent.chartdef b/java/perftests/etc/chartdefs/1002-MessageSize-Persistent-ByteSec.chartdef
index 58c280e227..db8a5f3896 100644
--- a/java/perftests/etc/chartdefs/1002-MessageSize-Persistent.chartdef
+++ b/java/perftests/etc/chartdefs/1002-MessageSize-Persistent-ByteSec.chartdef
@@ -18,15 +18,20 @@
#
chartType=XYLINE
-chartTitle=Impact of Message Size
+chartTitle=Impact of Message Size Bytes/S
chartSubtitle=Persistent messages
+chartDescription=1P 1C, persistent, auto-ack, with message payload between 256-262144 bytes.
+
xAxisTitle=Message Size (B)
yAxisTitle=Throughput (KB/s)
series.1.statement=SELECT payloadSizeB, throughputKbPerS FROM MessageSize WHERE testName like '% PERSISTENT' AND participantName = 'All'
series.1.legend=Current
series.1.dir=${csvCurrentDir}
+series.1.colourName=red
series.2.statement=SELECT payloadSizeB, throughputKbPerS FROM MessageSize WHERE testName like '% PERSISTENT' AND participantName = 'All'
series.2.legend=Baseline
series.2.dir=${csvBaselineDir}
+series.2.colourName=dark_red
+series.2.strokeWidth=-1
diff --git a/java/perftests/etc/chartdefs/1003-MessageSize-Transient-MsgSec.chartdef b/java/perftests/etc/chartdefs/1003-MessageSize-Transient-MsgSec.chartdef
new file mode 100644
index 0000000000..7f18fcc986
--- /dev/null
+++ b/java/perftests/etc/chartdefs/1003-MessageSize-Transient-MsgSec.chartdef
@@ -0,0 +1,37 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+chartType=XYLINE
+chartTitle=Impact of Message Size
+chartSubtitle=Transient messages
+chartDescription=1P 1C, transient, auto-ack, with message payload between 256-262144 bytes.
+
+xAxisTitle=Message Size (B)
+yAxisTitle=Throughput (messages/s)
+
+series.1.statement=SELECT payloadSizeB, throughputMessagesPerS FROM MessageSize WHERE testName like '%TRANSIENT' AND participantName = 'All'
+series.1.legend=Current
+series.1.dir=${csvCurrentDir}
+series.1.colourName=red
+
+series.2.statement=SELECT payloadSizeB, throughputMessagesPerS FROM MessageSize WHERE testName like '%TRANSIENT' AND participantName = 'All'
+series.2.legend=Baseline
+series.2.dir=${csvBaselineDir}
+series.2.colourName=dark_red
+series.2.strokeWidth=-1
diff --git a/java/perftests/etc/chartdefs/1004-MessageSize-Persistent-MsgSec.chartdef b/java/perftests/etc/chartdefs/1004-MessageSize-Persistent-MsgSec.chartdef
new file mode 100644
index 0000000000..667be044bc
--- /dev/null
+++ b/java/perftests/etc/chartdefs/1004-MessageSize-Persistent-MsgSec.chartdef
@@ -0,0 +1,37 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+chartType=XYLINE
+chartTitle=Impact of Message Size
+chartSubtitle=Persistent messages
+chartDescription=1P 1C, persistent, auto-ack, with message payload between 256-262144 bytes.
+
+xAxisTitle=Message Size (B)
+yAxisTitle=Throughput (messages/s)
+
+series.1.statement=SELECT payloadSizeB, throughputMessagesPerS FROM MessageSize WHERE testName like '% PERSISTENT' AND participantName = 'All'
+series.1.legend=Current
+series.1.dir=${csvCurrentDir}
+series.2.colourName=red
+
+series.2.statement=SELECT payloadSizeB, throughputMessagesPerS FROM MessageSize WHERE testName like '% PERSISTENT' AND participantName = 'All'
+series.2.legend=Baseline
+series.2.dir=${csvBaselineDir}
+series.2.colourName=dark_red
+series.2.strokeWidth=-1
diff --git a/java/perftests/etc/chartdefs/1011-VaryingNumberOfProducers.chartdef b/java/perftests/etc/chartdefs/1011-VaryingNumberOfProducers-AutoAck.chartdef
index f39e7c3d0d..b3038c1671 100644
--- a/java/perftests/etc/chartdefs/1011-VaryingNumberOfProducers.chartdef
+++ b/java/perftests/etc/chartdefs/1011-VaryingNumberOfProducers-AutoAck.chartdef
@@ -18,23 +18,30 @@
#
chartType=XYLINE
-chartTitle=Varying number of producers
+chartTitle=Varying number of producers - auto ack
chartSubtitle=Persistent 1KB messages
+chartDescription=1,2,5,10 P/Cs, persistent, auto-ack, with message payload 1KB.
+
xAxisTitle=Producers
-yAxisTitle=Throughput (KB/s)
+yAxisTitle=Throughput (messages/s)
-series.1.statement=SELECT totalNumberOfProducers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '1'
+series.1.statement=SELECT totalNumberOfProducers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '1' and acknowledgeMode = '1'
series.1.legend=1 Consumer
series.1.dir=${csvCurrentDir}
+series.1.colourName=red
-series.2.statement=SELECT totalNumberOfProducers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '5'
+series.2.statement=SELECT totalNumberOfProducers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '5' and acknowledgeMode = '1'
series.2.legend=5 Consumer
series.2.dir=${csvCurrentDir}
+series.2.colourName=blue
-series.3.statement=SELECT totalNumberOfProducers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '10'
+series.3.statement=SELECT totalNumberOfProducers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '10' and acknowledgeMode = '1'
series.3.legend=10 Consumer
series.3.dir=${csvCurrentDir}
+series.3.colourName=green
-series.4.statement=SELECT totalNumberOfProducers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '1'
+series.4.statement=SELECT totalNumberOfProducers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '1' and acknowledgeMode = '1'
series.4.legend=1 Consumer (baseline)
series.4.dir=${csvBaselineDir}
+series.4.colourName=dark_red
+series.4.strokeWidth=-1
diff --git a/java/perftests/etc/chartdefs/1012-VaryingNumberOfConsumers.chartdef b/java/perftests/etc/chartdefs/1012-VaryingNumberOfConsumers-AutoAck.chartdef
index 0f0b35a7c8..d1f3d6e9a4 100644
--- a/java/perftests/etc/chartdefs/1012-VaryingNumberOfConsumers.chartdef
+++ b/java/perftests/etc/chartdefs/1012-VaryingNumberOfConsumers-AutoAck.chartdef
@@ -18,23 +18,30 @@
#
chartType=XYLINE
-chartTitle=Varying number of consumers
+chartTitle=Varying number of consumers - auto ack
chartSubtitle=Persistent 1KB messages
+chartDescription=1,2,5,10 P/Cs, persistent, auto-ack, with message payload 1KB.
+
xAxisTitle=Consumers
-yAxisTitle=Throughput (KB/s)
+yAxisTitle=Throughput (messages/s)
-series.1.statement=SELECT totalNumberOfConsumers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '1'
+series.1.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '1' and acknowledgeMode = '1'
series.1.legend=1 Producer
series.1.dir=${csvCurrentDir}
+series.1.colourName=blue
-series.2.statement=SELECT totalNumberOfConsumers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '5'
+series.2.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '5' and acknowledgeMode = '1'
series.2.legend=5 Producers
series.2.dir=${csvCurrentDir}
+series.2.colourName=green
-series.3.statement=SELECT totalNumberOfConsumers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '10'
+series.3.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '10' and acknowledgeMode = '1'
series.3.legend=10 Producers
series.3.dir=${csvCurrentDir}
+series.3.colourName=red
-series.4.statement=SELECT totalNumberOfConsumers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '10'
+series.4.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '10' and acknowledgeMode = '1'
series.4.legend=10 Producers (baseline)
series.4.dir=${csvBaselineDir}
+series.4.colourName=dark_red
+series.4.strokeWidth=-1
diff --git a/java/perftests/etc/chartdefs/1015-VaryingNumberOfProducers-SessionTrans.chartdef b/java/perftests/etc/chartdefs/1015-VaryingNumberOfProducers-SessionTrans.chartdef
new file mode 100644
index 0000000000..42ba6f8f20
--- /dev/null
+++ b/java/perftests/etc/chartdefs/1015-VaryingNumberOfProducers-SessionTrans.chartdef
@@ -0,0 +1,47 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+chartType=XYLINE
+chartTitle=Varying number of producers - transacted
+chartSubtitle=Persistent 1KB messages
+chartDescription=1,2,5,10 P/Cs, persistent, transacted, with message payload 1KB.
+
+xAxisTitle=Producers
+yAxisTitle=Throughput (messages/s)
+
+series.1.statement=SELECT totalNumberOfProducers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '1' and acknowledgeMode = '0'
+series.1.legend=1 Consumer
+series.1.dir=${csvCurrentDir}
+series.1.colourName=red
+
+series.2.statement=SELECT totalNumberOfProducers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '5' and acknowledgeMode = '0'
+series.2.legend=5 Consumer
+series.2.dir=${csvCurrentDir}
+series.2.colourName=blue
+
+series.3.statement=SELECT totalNumberOfProducers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '10' and acknowledgeMode = '0'
+series.3.legend=10 Consumer
+series.3.dir=${csvCurrentDir}
+series.3.colourName=green
+
+series.4.statement=SELECT totalNumberOfProducers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '1' and acknowledgeMode = '0'
+series.4.legend=1 Consumer (baseline)
+series.4.dir=${csvBaselineDir}
+series.4.colourName=dark_red
+series.4.strokeWidth=-1
diff --git a/java/perftests/etc/chartdefs/1016-VaryingNumberOfConsumers-SessionTrans.chartdef b/java/perftests/etc/chartdefs/1016-VaryingNumberOfConsumers-SessionTrans.chartdef
new file mode 100644
index 0000000000..0afd162ad0
--- /dev/null
+++ b/java/perftests/etc/chartdefs/1016-VaryingNumberOfConsumers-SessionTrans.chartdef
@@ -0,0 +1,47 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+chartType=XYLINE
+chartTitle=Varying number of consumers - transacted
+chartSubtitle=Persistent 1KB messages
+chartDescription=1,2,5,10 P/Cs, persistent, transacted, with message payload 1KB.
+
+xAxisTitle=Consumers
+yAxisTitle=Throughput (messages/s)
+
+series.1.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '1' and acknowledgeMode = '0'
+series.1.legend=1 Producer
+series.1.dir=${csvCurrentDir}
+series.1.colourName=blue
+
+series.2.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '5' and acknowledgeMode = '0'
+series.2.legend=5 Producers
+series.2.dir=${csvCurrentDir}
+series.2.colourName=green
+
+series.3.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '10' and acknowledgeMode = '0'
+series.3.legend=10 Producers
+series.3.dir=${csvCurrentDir}
+series.3.colourName=red
+
+series.4.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '10' and acknowledgeMode = '0'
+series.4.legend=10 Producers (baseline)
+series.4.dir=${csvBaselineDir}
+series.4.colourName=dark_red
+series.4.strokeWidth=-1
diff --git a/java/perftests/etc/chartdefs/1021-AcknowledgementModes-Persistent.chartdef b/java/perftests/etc/chartdefs/1021-AcknowledgementModes-Persistent.chartdef
index 30aee40c27..827f8b5567 100644
--- a/java/perftests/etc/chartdefs/1021-AcknowledgementModes-Persistent.chartdef
+++ b/java/perftests/etc/chartdefs/1021-AcknowledgementModes-Persistent.chartdef
@@ -19,17 +19,20 @@
chartType=BAR
chartTitle=Performance of acknowledgement modes
-chartSubtitle=Persistent messages (1024b)
+chartSubtitle=Persistent messages (1KB)
+chartDescription=1P 1C, persistent, with message payload 1KB.
+
xAxisTitle=Acknowledge mode (0=session transacted; 1=auto-acknowledge)
-yAxisTitle=Throughput (KB/s)
+yAxisTitle=Throughput (messages/s)
-series.1.statement=SELECT acknowledgeMode, throughputKbPerS FROM AcknowledgementModes WHERE testName like 'Persistent%' AND participantName = 'All' ORDER BY acknowledgeMode
+series.1.statement=SELECT acknowledgeMode, throughputMessagesPerS FROM AcknowledgementModes WHERE testName like 'Persistent%' AND participantName = 'All' ORDER BY acknowledgeMode
series.1.legend=Current
series.1.dir=${csvCurrentDir}
+series.1.colourName=blue
-
-series.2.statement=SELECT acknowledgeMode, throughputKbPerS FROM AcknowledgementModes WHERE testName like 'Persistent%' AND participantName = 'All' ORDER BY acknowledgeMode
+series.2.statement=SELECT acknowledgeMode, throughputMessagesPerS FROM AcknowledgementModes WHERE testName like 'Persistent%' AND participantName = 'All' ORDER BY acknowledgeMode
series.2.legend=Baseline
series.2.dir=${csvBaselineDir}
+series.2.colourName=dark_red
diff --git a/java/perftests/etc/chartdefs/1022-AcknowledgementModes-Transient.chartdef b/java/perftests/etc/chartdefs/1022-AcknowledgementModes-Transient.chartdef
index 7a26391deb..8ca5d838e2 100644
--- a/java/perftests/etc/chartdefs/1022-AcknowledgementModes-Transient.chartdef
+++ b/java/perftests/etc/chartdefs/1022-AcknowledgementModes-Transient.chartdef
@@ -20,13 +20,17 @@
chartType=BAR
chartTitle=Performance of acknowledgement modes
chartSubtitle=Transient messages (1024b)
+chartDescription=1P 1C, transient, with message payload 1KB.
+
xAxisTitle=Acknowledge mode (0=session transacted; 1=auto-acknowledge)
-yAxisTitle=Throughput (KB/s)
+yAxisTitle=Throughput (messages/s)
-series.1.statement=SELECT acknowledgeMode, throughputKbPerS FROM AcknowledgementModes WHERE testName like 'Transient%' AND participantName = 'All' ORDER BY acknowledgeMode
+series.1.statement=SELECT acknowledgeMode, throughputMessagesPerS FROM AcknowledgementModes WHERE testName like 'Transient%' AND participantName = 'All' ORDER BY acknowledgeMode
series.1.legend=Current
series.1.dir=${csvCurrentDir}
+series.1.colourName=blue
-series.2.statement=SELECT acknowledgeMode, throughputKbPerS FROM AcknowledgementModes WHERE testName like 'Transient%' AND participantName = 'All' ORDER BY acknowledgeMode
+series.2.statement=SELECT acknowledgeMode, throughputMessagesPerS FROM AcknowledgementModes WHERE testName like 'Transient%' AND participantName = 'All' ORDER BY acknowledgeMode
series.2.legend=Baseline
series.2.dir=${csvBaselineDir}
+series.2.colourName=dark_red
diff --git a/java/perftests/etc/chartdefs/1030-BatchSize-Equal.chartdef b/java/perftests/etc/chartdefs/1030-BatchSize-Equal.chartdef
new file mode 100644
index 0000000000..97b712e027
--- /dev/null
+++ b/java/perftests/etc/chartdefs/1030-BatchSize-Equal.chartdef
@@ -0,0 +1,37 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# 'License'); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+chartType=XYLINE
+chartTitle=Transaction Batch Sizes Equal
+chartSubtitle=Persistent 1KB messages
+chartDescription=1P 1C, persistent, transacted with message payload 1KB with producer/consumer batch size varying between 1-400 messages for both P and C
+
+xAxisTitle=Batch Size
+yAxisTitle=Throughput (messages/s)
+
+series.1.statement=SELECT batchSize, throughputMessagesPerS FROM BatchSize WHERE participantName = 'All'
+series.1.legend=Equal Producer/Consumer
+series.1.dir=${csvCurrentDir}
+series.1.colourName=red
+
+series.2.statement=SELECT batchSize, throughputMessagesPerS FROM BatchSize WHERE participantName = 'All'
+series.2.legend=Equal Producer/Consumer (Baseline)
+series.2.dir=${csvBaselineDir}
+series.2.colourName=dark_red
+series.2.strokeWidth=-1
diff --git a/java/perftests/etc/chartdefs/1031-BatchSize-Unequal.chartdef b/java/perftests/etc/chartdefs/1031-BatchSize-Unequal.chartdef
new file mode 100644
index 0000000000..51b3bb2144
--- /dev/null
+++ b/java/perftests/etc/chartdefs/1031-BatchSize-Unequal.chartdef
@@ -0,0 +1,53 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# 'License'); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+chartType=XYLINE
+chartTitle=Transaction Batch Size Unequal
+chartSubtitle=Persistent 1KB messages
+chartDescription=1P 1C, persistent, transacted with message payload 1KB with fixed batch size 1 for one party whilst other varies between 1-400 messages
+
+xAxisTitle=Batch Size
+yAxisTitle=Throughput (messages/s)
+
+#
+# If csvjdbc could do sub-selects (allowing us to extract the consumer/producer batch size from the All Consumers/All Producers rows),
+# we would not need the workaround where we have testdef place the consumer/producer batch size into testName field
+#
+
+series.1.statement=SELECT testName, throughputMessagesPerS FROM BatchSizeProducerVaries WHERE participantName = 'All'
+series.1.legend=Variable Producer, Fixed Consumer
+series.1.dir=${csvCurrentDir}
+series.1.colourName=red
+
+series.2.statement=SELECT testName, throughputMessagesPerS FROM BatchSizeProducerVaries WHERE participantName = 'All'
+series.2.legend=Variable Producer, Fixed Consumer (Baseline)
+series.2.dir=${csvBaselineDir}
+series.2.colourName=dark_red
+series.2.strokeWidth=-1
+
+series.3.statement=SELECT testName, throughputMessagesPerS FROM BatchSizeConsumerVaries WHERE participantName = 'All'
+series.3.legend=Fixed Producer, Variable Consumer
+series.3.dir=${csvCurrentDir}
+series.3.colourName=blue
+
+series.4.statement=SELECT testName, throughputMessagesPerS FROM BatchSizeConsumerVaries WHERE participantName = 'All'
+series.4.legend=Fixed Producer, Variable Consumer (Baseline)
+series.4.dir=${csvBaselineDir}
+series.4.colourName=dark_blue
+series.4.strokeWidth=-1
diff --git a/java/perftests/etc/chartdefs/1040-QueueTypes.chartdef b/java/perftests/etc/chartdefs/1040-QueueTypes.chartdef
index 42ed69c19d..aacedab421 100644
--- a/java/perftests/etc/chartdefs/1040-QueueTypes.chartdef
+++ b/java/perftests/etc/chartdefs/1040-QueueTypes.chartdef
@@ -20,13 +20,17 @@
chartType=BAR
chartTitle=Queue Types
chartSubtitle=Persistent 1KB messages
+chartDescription=1P 1C, persistent, auto-ack with message payload 1KB. Sorted queue - 160,000 random keys, Priority - iteriates priority 0..9.
+
xAxisTitle=Queue Types
-yAxisTitle=Throughput (KB/s)
+yAxisTitle=Throughput (messages/s)
-series.1.statement=SELECT testName, throughputKbPerS FROM QueueTypes WHERE participantName = 'All'
+series.1.statement=SELECT testName, throughputMessagesPerS FROM QueueTypes WHERE participantName = 'All'
series.1.legend=Current
series.1.dir=${csvCurrentDir}
+series.1.colourName=blue
-series.2.statement=SELECT testName, throughputKbPerS FROM QueueTypes WHERE participantName = 'All'
+series.2.statement=SELECT testName, throughputMessagesPerS FROM QueueTypes WHERE participantName = 'All'
series.2.legend=Baseline
series.2.dir=${csvBaselineDir}
+series.2.colourName=dark_red
diff --git a/java/perftests/etc/chartdefs/1050-VaryingNumberOfProducerSessionsSingleConnection.chartdef b/java/perftests/etc/chartdefs/1050-VaryingNumberOfProducerSessionsSingleConnection.chartdef
new file mode 100644
index 0000000000..46696bf942
--- /dev/null
+++ b/java/perftests/etc/chartdefs/1050-VaryingNumberOfProducerSessionsSingleConnection.chartdef
@@ -0,0 +1,49 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+chartType=XYLINE
+chartTitle=Varying number of producer sessions on single connection
+chartSubtitle=Persistent messages (1024b)
+chartDescription=1-80P transacted on single connection, 20C transacted on separate connections, persistent, message payload 1KB.
+
+xAxisTitle=Number of producer sessions
+yAxisTitle=Throughput (KB/s)
+
+# testName contains the number of sessions
+series.1.statement=SELECT testName, throughputKbPerS FROM VaryingNumberOfProducerSessionsSingleConnection WHERE participantName = 'All'
+series.1.legend=Current - End-to-end throughput
+series.1.dir=${csvCurrentDir}
+series.1.colourName=red
+
+series.2.statement=SELECT testName, throughputKbPerS FROM VaryingNumberOfProducerSessionsSingleConnection WHERE participantName = 'All Producers'
+series.2.legend=Current - Producer only throughput
+series.2.dir=${csvCurrentDir}
+series.2.colourName=blue
+
+series.3.statement=SELECT testName, throughputKbPerS FROM VaryingNumberOfProducerSessionsSingleConnection WHERE participantName = 'All'
+series.3.legend=Baseline - End-to-end throughput
+series.3.dir=${csvBaselineDir}
+series.3.colourName=dark_red
+series.3.strokeWidth=-1
+
+series.4.statement=SELECT testName, throughputKbPerS FROM VaryingNumberOfProducerSessionsSingleConnection WHERE participantName = 'All Producers'
+series.4.legend=Baseline - Producer only throughput
+series.4.dir=${csvBaselineDir}
+series.4.colourName=dark_blue
+series.4.strokeWidth=-1
diff --git a/java/perftests/etc/chartdefs/1300-QueueConsumersWithNonOverlappingSelectors-Transient.chartdef b/java/perftests/etc/chartdefs/1300-QueueConsumersWithNonOverlappingSelectors-Transient.chartdef
new file mode 100644
index 0000000000..5081b379e7
--- /dev/null
+++ b/java/perftests/etc/chartdefs/1300-QueueConsumersWithNonOverlappingSelectors-Transient.chartdef
@@ -0,0 +1,37 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+chartType=XYLINE
+chartTitle=Impact of non-overlapping selectors on queue consumers with transient messages
+chartSubtitle=Transient 1KB messages
+xAxisTitle=Consumers
+yAxisTitle=Throughput (messages/s)
+chartDescription=Impact of non-overlapping selectors on queue consumers with transient messages, auto-ack, message payload of 1024 bytes, 1 producer, varying number of consumers from 1 to 32.
+
+series.1.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM QueueConsumersWithNonOverlappingSelectors WHERE participantName = 'All' and testName like '%non overlapping - NON_PERSISTENT%'
+series.1.legend=Current
+series.1.dir=${csvCurrentDir}
+series.1.colourName=blue
+
+series.2.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM QueueConsumersWithNonOverlappingSelectors WHERE participantName = 'All' and testName like '%non overlapping - NON_PERSISTENT%'
+series.2.legend=Baseline
+series.2.dir=${csvBaselineDir}
+series.2.colourName=dark_red
+series.2.stokeWidth=-1
+
diff --git a/java/perftests/etc/chartdefs/1301-QueueConsumersWithNonOverlappingSelectors-Persistent.chartdef b/java/perftests/etc/chartdefs/1301-QueueConsumersWithNonOverlappingSelectors-Persistent.chartdef
new file mode 100644
index 0000000000..137f7bde36
--- /dev/null
+++ b/java/perftests/etc/chartdefs/1301-QueueConsumersWithNonOverlappingSelectors-Persistent.chartdef
@@ -0,0 +1,43 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+chartType=XYLINE
+chartTitle=Impact of non-overlapping selectors on queue consumers with persistent messages
+chartSubtitle=Persistent 1KB messages
+xAxisTitle=Consumers
+yAxisTitle=Throughput (messages/s)
+chartDescription=Impact of non-overlapping selectors on queue consumers with persistent messages, auto-ack, message payload of 1024 bytes, 1 producer, varying number of consumers from 1 to 32..
+
+
+series.1.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM QueueConsumersWithNonOverlappingSelectors WHERE participantName = 'All' and testName like '%non overlapping - PERSISTENT'
+series.1.legend=Current
+series.1.dir=${csvCurrentDir}
+series.1.colourName=blue
+
+series.2.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM QueueConsumersWithNonOverlappingSelectors WHERE participantName = 'All' and testName like '%non overlapping - PERSISTENT'
+series.2.legend=Baseline
+series.2.dir=${csvBaselineDir}
+series.2.colourName=dark_red
+series.2.stokeWidth=-1
+
+series.3.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '1' and acknowledgeMode = '1'
+series.3.legend=Current: no selectors
+series.3.dir=${csvCurrentDir}
+series.3.colourName=green
+
diff --git a/java/perftests/etc/chartdefs/1302-QueueConsumersWithOverlappingSelectors-Transient.chartdef b/java/perftests/etc/chartdefs/1302-QueueConsumersWithOverlappingSelectors-Transient.chartdef
new file mode 100644
index 0000000000..74f370317b
--- /dev/null
+++ b/java/perftests/etc/chartdefs/1302-QueueConsumersWithOverlappingSelectors-Transient.chartdef
@@ -0,0 +1,36 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+chartType=XYLINE
+chartTitle=Impact of 50%-overlapping selectors in queue consumers with transient messages
+chartSubtitle=Transient 1KB messages
+xAxisTitle=Consumers
+yAxisTitle=Throughput (messages/s)
+chartDescription=Impact of 50%-overlapping selectors in queue consumers with transient messages, auto-ack, message payload 1KB, 1 producer, varying number of consumers from 2 to 32.
+
+series.1.statement=SELECT totalNumberOfConsumers,throughputMessagesPerS FROM QueueConsumersWithOverlappingSelectors WHERE participantName = 'All' and testName like '%50_ overlapping - NON_PERSISTENT%'
+series.1.legend=Current
+series.1.dir=${csvCurrentDir}
+series.1.colourName=blue
+
+series.2.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM QueueConsumersWithOverlappingSelectors WHERE participantName = 'All' and testName like '%50_ overlapping - NON_PERSISTENT%'
+series.2.legend=Baseline
+series.2.dir=${csvBaselineDir}
+series.2.colourName=dark_red
+series.2.stokeWidth=-1
diff --git a/java/perftests/etc/chartdefs/1303-QueueConsumersWithOverlappingSelectors-Persistent.chartdef b/java/perftests/etc/chartdefs/1303-QueueConsumersWithOverlappingSelectors-Persistent.chartdef
new file mode 100644
index 0000000000..0dd78e02ef
--- /dev/null
+++ b/java/perftests/etc/chartdefs/1303-QueueConsumersWithOverlappingSelectors-Persistent.chartdef
@@ -0,0 +1,42 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+chartType=XYLINE
+chartTitle=Impact of 50%-overlapping selectors in queue consumers with persistent messages
+chartDescription=Impact of 50%-overlapping selectors in queue consumers with persistent messages, auto-ack, message payload of 1KB, 1 producer, varying number of consumers from 2 to 32.
+chartSubtitle=Persistent 1KB messages
+xAxisTitle=Consumers
+yAxisTitle=Throughput (messages/s)
+
+series.1.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM QueueConsumersWithOverlappingSelectors WHERE participantName = 'All' and testName like '%50_ overlapping - PERSISTENT%'
+series.1.legend=Current
+series.1.dir=${csvCurrentDir}
+series.1.colourName=blue
+
+series.2.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM QueueConsumersWithOverlappingSelectors WHERE participantName = 'All' and testName like '%50_ overlapping - PERSISTENT%'
+series.2.legend=Baseline
+series.2.dir=${csvBaselineDir}
+series.2.colourName=dark_red
+series.2.stokeWidth=-1
+
+series.3.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '1' and acknowledgeMode = '1'
+series.3.legend=Current: no selectors
+series.3.dir=${csvCurrentDir}
+series.3.colourName=green
+
diff --git a/java/perftests/etc/chartdefs/1500-Topic-NumberOfConsumers.chartdef b/java/perftests/etc/chartdefs/1500-Topic-NumberOfConsumers.chartdef
index 305c5009e2..073cee810d 100644
--- a/java/perftests/etc/chartdefs/1500-Topic-NumberOfConsumers.chartdef
+++ b/java/perftests/etc/chartdefs/1500-Topic-NumberOfConsumers.chartdef
@@ -20,13 +20,18 @@
chartType=XYLINE
chartTitle=Number of topic consumers
chartSubtitle=Transient 1KB messages
+chartDescription=1P 1-100C transient, transacted, with message payload 1KB.
+
xAxisTitle=Numer of consumers
-yAxisTitle=Throughput (KB/s)
+yAxisTitle=Throughput (messages/s)
-series.1.statement=SELECT testName, throughputKbPerS FROM Topic-NumberOfConsumers WHERE participantName = 'All'
+series.1.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM Topic-NumberOfConsumers WHERE participantName = 'All'
series.1.legend=Current
series.1.dir=${csvCurrentDir}
+series.1.colourName=red
-series.2.statement=SELECT testName, throughputKbPerS FROM Topic-NumberOfConsumers WHERE participantName = 'All'
+series.2.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM Topic-NumberOfConsumers WHERE participantName = 'All'
series.2.legend=Baseline
series.2.dir=${csvBaselineDir}
+series.2.colourName=dark_red
+series.2.strokeWidth=-1
diff --git a/java/perftests/etc/chartdefs/1501-Topic-NumberOfTopics.chartdef b/java/perftests/etc/chartdefs/1501-Topic-NumberOfTopics.chartdef
index 9bc53e5a9e..b32f43d0c2 100644
--- a/java/perftests/etc/chartdefs/1501-Topic-NumberOfTopics.chartdef
+++ b/java/perftests/etc/chartdefs/1501-Topic-NumberOfTopics.chartdef
@@ -20,13 +20,18 @@
chartType=XYLINE
chartTitle=Number of topics
chartSubtitle=Transient 1KB messages
+chartDescription=1,10,50,100 PC, transient, transacted, with each PC pair having own topic, message payload 1KB.
+
xAxisTitle=Numer of topics
-yAxisTitle=Throughput (KB/s)
+yAxisTitle=Throughput (messages/s)
-series.1.statement=SELECT testName, throughputKbPerS FROM Topic-NumberOfTopics WHERE participantName = 'All'
+series.1.statement=SELECT totalNumberOfProducers, throughputMessagesPerS FROM Topic-NumberOfTopics WHERE participantName = 'All'
series.1.legend=Current
series.1.dir=${csvCurrentDir}
+series.1.colourName=red
-series.2.statement=SELECT testName, throughputKbPerS FROM Topic-NumberOfTopics WHERE participantName = 'All'
+series.2.statement=SELECT totalNumberOfProducers, throughputMessagesPerS FROM Topic-NumberOfTopics WHERE participantName = 'All'
series.2.legend=Baseline
series.2.dir=${csvBaselineDir}
+series.2.colourName=dark_red
+series.2.strokeWidth=-1
diff --git a/java/perftests/etc/chartdefs/1502-Topic-Persistence.chartdef b/java/perftests/etc/chartdefs/1502-Topic-Persistence.chartdef
index ce64d14ac4..5fd905ab4f 100644
--- a/java/perftests/etc/chartdefs/1502-Topic-Persistence.chartdef
+++ b/java/perftests/etc/chartdefs/1502-Topic-Persistence.chartdef
@@ -20,13 +20,18 @@
chartType=BAR
chartTitle=Topic transient/durable subscriptions
chartSubtitle=1KB messages
-xAxisTitle=Durable subscription
-yAxisTitle=Throughput (KB/s)
+chartDescription=1P 10C, transacted, message payload 1KB, transient messages on non-durable sub, persistent messages on durable sub
-series.1.statement=SELECT isDurableSubscription, throughputKbPerS FROM Topic-Persistence WHERE participantName = 'All Consumers'
+xAxisTitle=Subscription type (true durable, false non durable)
+yAxisTitle=Throughput (messages/s)
+
+series.1.statement=SELECT isDurableSubscription, throughputMessagesPerS FROM Topic-Persistence WHERE participantName = 'All Consumers'
series.1.legend=Current
series.1.dir=${csvCurrentDir}
+series.1.colourName=blue
-series.2.statement=SELECT isDurableSubscription, throughputKbPerS FROM Topic-Persistence WHERE participantName = 'All Consumers'
+series.2.statement=SELECT isDurableSubscription, throughputMessagesPerS FROM Topic-Persistence WHERE participantName = 'All Consumers'
series.2.legend=Baseline
series.2.dir=${csvBaselineDir}
+series.2.colourName=dark_red
+series.2.stokeWidth=2
diff --git a/java/perftests/etc/chartdefs/1503-Topic-AckModes.chartdef b/java/perftests/etc/chartdefs/1503-Topic-AckModes.chartdef
index 5ccc166fc8..9edb1950a4 100644
--- a/java/perftests/etc/chartdefs/1503-Topic-AckModes.chartdef
+++ b/java/perftests/etc/chartdefs/1503-Topic-AckModes.chartdef
@@ -20,13 +20,18 @@
chartType=BAR
chartTitle=Topic acknowledge modes
chartSubtitle=Transient 1KB messages
-xAxisTitle=Ack Mode
-yAxisTitle=Throughput (KB/s)
+chartDescription=1P 10C, transient, non-durable subscription, message payload 1KB
-series.1.statement=SELECT acknowledgeMode, throughputKbPerS FROM Topic-AckModes WHERE participantName = 'All'
+xAxisTitle=Ack Mode (0=transaction 1=auto-ack)
+yAxisTitle=Throughput (messages/s)
+
+series.1.statement=SELECT acknowledgeMode, throughputMessagesPerS FROM Topic-AckModes WHERE participantName = 'All'
series.1.legend=Current
series.1.dir=${csvCurrentDir}
+series.1.colourName=blue
-series.2.statement=SELECT acknowledgeMode, throughputKbPerS FROM Topic-AckModes WHERE participantName = 'All'
+series.2.statement=SELECT acknowledgeMode, throughputMessagesPerS FROM Topic-AckModes WHERE participantName = 'All'
series.2.legend=Baseline
series.2.dir=${csvBaselineDir}
+series.2.colourName=dark_red
+series.2.stokeWidth=2
diff --git a/java/perftests/etc/chartdefs/2001-Latency-MessageSize-Transient.chartdef b/java/perftests/etc/chartdefs/2001-Latency-MessageSize-Transient.chartdef
index c892ea16cf..67a0278bff 100644
--- a/java/perftests/etc/chartdefs/2001-Latency-MessageSize-Transient.chartdef
+++ b/java/perftests/etc/chartdefs/2001-Latency-MessageSize-Transient.chartdef
@@ -20,21 +20,27 @@
chartType=STATISTICAL_BAR
chartTitle=Impact of message size on latency
chartSubtitle=Transient messages
+chartDescription=1P 1C, transient, auto-ack, with message payload between 256-262144 bytes.
+
xAxisTitle=Message Size (B)
yAxisTitle=Latency (millis)
series.1.statement=SELECT payloadSizeB, maxLatency, 0 FROM Latency-MessageSize WHERE testName like '%TRANSIENT' AND participantName = 'All Consumers'
series.1.legend=Maximum latency
series.1.dir=${csvCurrentDir}
+series.1.colourName=blue
series.2.statement=SELECT payloadSizeB, averageLatency,latencyStandardDeviation FROM Latency-MessageSize WHERE testName like '%TRANSIENT' AND participantName = 'All Consumers'
series.2.legend=Average latency
series.2.dir=${csvCurrentDir}
+series.2.colourName=red
series.3.statement=SELECT payloadSizeB, averageLatency,latencyStandardDeviation FROM Latency-MessageSize WHERE testName like '%TRANSIENT' AND participantName = 'All Consumers'
series.3.legend=Average latency (baseline)
series.3.dir=${csvBaselineDir}
+series.3.colourName=dark_red
series.4.statement=SELECT payloadSizeB, minLatency,0 FROM Latency-MessageSize WHERE testName like '%TRANSIENT' AND participantName = 'All Consumers'
series.4.legend=Minimum latency
series.4.dir=${csvCurrentDir}
+series.4.colourName=green
diff --git a/java/perftests/etc/chartdefs/2002-Latency-MessageSize-Persistent.chartdef b/java/perftests/etc/chartdefs/2002-Latency-MessageSize-Persistent.chartdef
index 167e62603a..e9761f07d8 100644
--- a/java/perftests/etc/chartdefs/2002-Latency-MessageSize-Persistent.chartdef
+++ b/java/perftests/etc/chartdefs/2002-Latency-MessageSize-Persistent.chartdef
@@ -20,21 +20,27 @@
chartType=STATISTICAL_BAR
chartTitle=Impact of message size on latency
chartSubtitle=Persistent messages
+chartDescription=1P 1C, persistent, auto-ack, with message payload between 256-262144 bytes.
+
xAxisTitle=Message Size (B)
yAxisTitle=Latency (millis)
series.1.statement=SELECT payloadSizeB, maxLatency, 0 FROM Latency-MessageSize WHERE testName like '%PERSISTENT' AND participantName = 'All Consumers'
series.1.legend=Maximum latency
series.1.dir=${csvCurrentDir}
+series.1.colourName=blue
series.2.statement=SELECT payloadSizeB, averageLatency, latencyStandardDeviation FROM Latency-MessageSize WHERE testName like '%PERSISTENT' AND participantName = 'All Consumers'
series.2.legend=Average latency
series.2.dir=${csvCurrentDir}
+series.2.colourName=red
series.3.statement=SELECT payloadSizeB, averageLatency, latencyStandardDeviation FROM Latency-MessageSize WHERE testName like '%PERSISTENT' AND participantName = 'All Consumers'
series.3.legend=Average latency (baseline)
series.3.dir=${csvBaselineDir}
+series.3.colourName=dark_red
series.4.statement=SELECT payloadSizeB, minLatency, 0 FROM Latency-MessageSize WHERE testName like '%PERSISTENT' AND participantName = 'All Consumers'
series.4.legend=Minimum latency
series.4.dir=${csvCurrentDir}
+series.4.colourName=green
diff --git a/java/perftests/etc/chartdefs/2011-Latency-QueuesWithNonOverlappingSelectors-Transient.chartdef b/java/perftests/etc/chartdefs/2011-Latency-QueuesWithNonOverlappingSelectors-Transient.chartdef
index 45c6031b1e..663912b622 100644
--- a/java/perftests/etc/chartdefs/2011-Latency-QueuesWithNonOverlappingSelectors-Transient.chartdef
+++ b/java/perftests/etc/chartdefs/2011-Latency-QueuesWithNonOverlappingSelectors-Transient.chartdef
@@ -20,21 +20,27 @@
chartType=STATISTICAL_BAR
chartTitle=Latency with consumers having non-overlapping selectors
chartSubtitle=Transient 1KB messages
+chartDescription=1P 1-10C, transient, auto-ack, with message payload 1KB.
+
xAxisTitle=Consumers
yAxisTitle=Latency (millis)
series.1.statement=SELECT totalNumberOfConsumers, maxLatency, 0 FROM Latency-QueuesWithSelectors WHERE participantName = 'All Consumers' and testName like '%non overlapping - NON_PERSISTENT%'
series.1.legend=Max latency
series.1.dir=${csvCurrentDir}
+series.1.colourName=blue
series.2.statement=SELECT totalNumberOfConsumers, averageLatency,latencyStandardDeviation FROM Latency-QueuesWithSelectors WHERE participantName = 'All Consumers' and testName like '%non overlapping - NON_PERSISTENT%'
series.2.legend=Average latency
series.2.dir=${csvCurrentDir}
+series.2.colourName=red
series.3.statement=SELECT totalNumberOfConsumers, averageLatency,latencyStandardDeviation FROM Latency-QueuesWithSelectors WHERE participantName = 'All Consumers' and testName like '%non overlapping - NON_PERSISTENT%'
series.3.legend=Average latency (baseline)
series.3.dir=${csvBaselineDir}
+series.3.colourName=dark_red
series.4.statement=SELECT totalNumberOfConsumers, minLatency, 0 FROM Latency-QueuesWithSelectors WHERE participantName = 'All Consumers' and testName like '%non overlapping - NON_PERSISTENT%'
series.4.legend=Min latency
series.4.dir=${csvCurrentDir}
+series.4.colourName=green
diff --git a/java/perftests/etc/chartdefs/2012-Latency-QueuesWithOverlappingSelectors-Transient.chartdef b/java/perftests/etc/chartdefs/2012-Latency-QueuesWithOverlappingSelectors-Transient.chartdef
index 351a4639b1..3b9e207e10 100644
--- a/java/perftests/etc/chartdefs/2012-Latency-QueuesWithOverlappingSelectors-Transient.chartdef
+++ b/java/perftests/etc/chartdefs/2012-Latency-QueuesWithOverlappingSelectors-Transient.chartdef
@@ -20,21 +20,27 @@
chartType=STATISTICAL_BAR
chartTitle=Latency with consumers having 50%-overlapping selectors
chartSubtitle=Transient 1KB messages
+chartDescription=1P 1-10C, transient, auto-ack, with message payload 1KB.
+
xAxisTitle=Consumers
yAxisTitle=Latency (millis)
series.1.statement=SELECT totalNumberOfConsumers, maxLatency, 0 FROM Latency-QueuesWithSelectors WHERE participantName = 'All Consumers' and testName like '%overlapping 50% - NON_PERSISTENT%'
series.1.legend=Max latency
series.1.dir=${csvCurrentDir}
+series.1.colourName=blue
series.2.statement=SELECT totalNumberOfConsumers, averageLatency,latencyStandardDeviation FROM Latency-QueuesWithSelectors WHERE participantName = 'All Consumers' and testName like '%overlapping 50% - NON_PERSISTENT%'
series.2.legend=Average latency
series.2.dir=${csvCurrentDir}
+series.2.colourName=red
series.3.statement=SELECT totalNumberOfConsumers, averageLatency,latencyStandardDeviation FROM Latency-QueuesWithSelectors WHERE participantName = 'All Consumers' and testName like '%overlapping 50% - NON_PERSISTENT%'
series.3.legend=Average latency (baseline)
series.3.dir=${csvBaselineDir}
+series.3.colourName=dark_red
series.4.statement=SELECT totalNumberOfConsumers, minLatency, 0 FROM Latency-QueuesWithSelectors WHERE participantName = 'All Consumers' and testName like '%overlapping 50% - NON_PERSISTENT%'
series.4.legend=Min latency
series.4.dir=${csvCurrentDir}
+series.4.colourName=green
diff --git a/java/perftests/etc/chartdefs/2021-Latency-QueuesWithNonOverlappingSelectors-Persistent.chartdef b/java/perftests/etc/chartdefs/2021-Latency-QueuesWithNonOverlappingSelectors-Persistent.chartdef
index 9d95075b3d..296d115d3f 100644
--- a/java/perftests/etc/chartdefs/2021-Latency-QueuesWithNonOverlappingSelectors-Persistent.chartdef
+++ b/java/perftests/etc/chartdefs/2021-Latency-QueuesWithNonOverlappingSelectors-Persistent.chartdef
@@ -20,21 +20,27 @@
chartType=STATISTICAL_BAR
chartTitle=Latency with consumers having non-overlapping selectors
chartSubtitle=Persistent 1KB messages
+chartDescription=1P 1-10C, persistent, auto-ack, with message payload 1KB.
+
xAxisTitle=Consumers
yAxisTitle=Latency (millis)
series.1.statement=SELECT totalNumberOfConsumers, maxLatency,0 FROM Latency-QueuesWithSelectors WHERE participantName = 'All Consumers' and testName like '%non overlapping - PERSISTENT'
series.1.legend=Max latency
series.1.dir=${csvCurrentDir}
+series.1.colourName=blue
series.2.statement=SELECT totalNumberOfConsumers, averageLatency, latencyStandardDeviation FROM Latency-QueuesWithSelectors WHERE participantName = 'All Consumers' and testName like '%non overlapping - PERSISTENT'
series.2.legend=Average latency
series.2.dir=${csvCurrentDir}
+series.2.colourName=red
series.3.statement=SELECT totalNumberOfConsumers, averageLatency, latencyStandardDeviation FROM Latency-QueuesWithSelectors WHERE participantName = 'All Consumers' and testName like '%non overlapping - PERSISTENT'
series.3.legend=Average latency (baseline)
series.3.dir=${csvBaselineDir}
+series.3.colourName=dark_red
series.4.statement=SELECT totalNumberOfConsumers, minLatency, 0 FROM Latency-QueuesWithSelectors WHERE participantName = 'All Consumers' and testName like '%non overlapping - PERSISTENT'
series.4.legend=Min latency
series.4.dir=${csvCurrentDir}
+series.4.colourName=green
diff --git a/java/perftests/etc/chartdefs/2022-Latency-QueuesWithOverlappingSelectors-Persistent.chartdef b/java/perftests/etc/chartdefs/2022-Latency-QueuesWithOverlappingSelectors-Persistent.chartdef
index 9a323d4044..65be60b5e5 100644
--- a/java/perftests/etc/chartdefs/2022-Latency-QueuesWithOverlappingSelectors-Persistent.chartdef
+++ b/java/perftests/etc/chartdefs/2022-Latency-QueuesWithOverlappingSelectors-Persistent.chartdef
@@ -20,21 +20,27 @@
chartType=STATISTICAL_BAR
chartTitle=Latency with consumers having 50%-overlapping selectors
chartSubtitle=Persistent 1KB messages
+chartDescription=1P 1-10C, persistent, auto-ack, with message payload 1KB.
+
xAxisTitle=Consumers
yAxisTitle=Latency (millis)
series.1.statement=SELECT totalNumberOfConsumers, maxLatency, 0 FROM Latency-QueuesWithSelectors WHERE participantName = 'All Consumers' and testName like '%overlapping 50% - PERSISTENT%'
series.1.legend=Max latency
series.1.dir=${csvCurrentDir}
+series.1.colourName=blue
series.2.statement=SELECT totalNumberOfConsumers, averageLatency,latencyStandardDeviation FROM Latency-QueuesWithSelectors WHERE participantName = 'All Consumers' and testName like '%overlapping 50% - PERSISTENT%'
series.2.legend=Average latency
series.2.dir=${csvCurrentDir}
+series.2.colourName=red
series.3.statement=SELECT totalNumberOfConsumers, averageLatency,latencyStandardDeviation FROM Latency-QueuesWithSelectors WHERE participantName = 'All Consumers' and testName like '%overlapping 50% - PERSISTENT%'
series.3.legend=Average latency (baseline)
series.3.dir=${csvBaselineDir}
+series.3.colourName=dark_red
series.4.statement=SELECT totalNumberOfConsumers, minLatency, 0 FROM Latency-QueuesWithSelectors WHERE participantName = 'All Consumers' and testName like '%overlapping 50% - PERSISTENT%'
series.4.legend=Min latency
series.4.dir=${csvCurrentDir}
+series.4.colourName=green
diff --git a/java/perftests/etc/chartdefs/2031-Latency-VaryingNumberOfParticipants.chartdef b/java/perftests/etc/chartdefs/2031-Latency-VaryingNumberOfParticipants.chartdef
index 82cf1168ef..d52b05d870 100644
--- a/java/perftests/etc/chartdefs/2031-Latency-VaryingNumberOfParticipants.chartdef
+++ b/java/perftests/etc/chartdefs/2031-Latency-VaryingNumberOfParticipants.chartdef
@@ -20,25 +20,32 @@
chartType=STATISTICAL_BAR
chartTitle=Latency, varying number of participants
chartSubtitle=Persistent 1KB messages
+chartDescription=1,2,5,10 P/Cs, persistent, auto-ack, with message payload 1KB.
+
xAxisTitle=Consumers
yAxisTitle=Latency (millis)
series.1.statement=SELECT totalNumberOfConsumers, averageLatency,latencyStandardDeviation FROM Latency-VaryingNumberOfParticipants WHERE participantName = 'All Consumers' and testName like '% - 1 producer - PERSISTENT'
series.1.legend=1 producer
series.1.dir=${csvCurrentDir}
+series.1.colourName=blue
series.2.statement=SELECT totalNumberOfConsumers, averageLatency,latencyStandardDeviation FROM Latency-VaryingNumberOfParticipants WHERE participantName = 'All Consumers' and testName like '% - 2 producers - PERSISTENT'
series.2.legend=2 producers
series.2.dir=${csvCurrentDir}
+series.2.colourName=green
series.3.statement=SELECT totalNumberOfConsumers, averageLatency,latencyStandardDeviation FROM Latency-VaryingNumberOfParticipants WHERE participantName = 'All Consumers' and testName like '% - 5 producers - PERSISTENT'
series.3.legend=5 producers
series.3.dir=${csvCurrentDir}
+series.3.colourName=magenta
series.4.statement=SELECT totalNumberOfConsumers, averageLatency,latencyStandardDeviation FROM Latency-VaryingNumberOfParticipants WHERE participantName = 'All Consumers' and testName like '% - 10 producers - PERSISTENT'
series.4.legend=10 producers
series.4.dir=${csvCurrentDir}
+series.4.colourName=red
series.5.statement=SELECT totalNumberOfConsumers, averageLatency,latencyStandardDeviation FROM Latency-VaryingNumberOfParticipants WHERE participantName = 'All Consumers' and testName like '% - 10 producers - PERSISTENT'
series.5.legend=10 producers (baseline)
series.5.dir=${csvBaselineDir}
+series.5.colourName=dark_red
diff --git a/java/perftests/etc/chartdefs/2041-Latency-QueueTypes.chartdef b/java/perftests/etc/chartdefs/2041-Latency-QueueTypes.chartdef
index c1aae19376..dac8a52f89 100644
--- a/java/perftests/etc/chartdefs/2041-Latency-QueueTypes.chartdef
+++ b/java/perftests/etc/chartdefs/2041-Latency-QueueTypes.chartdef
@@ -20,21 +20,27 @@
chartType=STATISTICAL_BAR
chartTitle=Latency on different queues
chartSubtitle=Persistent 1KB messages
+chartDescription=1P 1C, persistent, auto-ack with message payload 1KB. Sorted queue - 400 varied keys, Priority - 200 varied priorities.
+
xAxisTitle=Queue type
yAxisTitle=Latency (millis)
series.1.statement=SELECT testName, maxLatency,0 FROM Latency-QueueTypes WHERE participantName = 'All Consumers'
series.1.legend=Maximum latency
series.1.dir=${csvCurrentDir}
+series.1.colourName=blue
series.2.statement=SELECT testName, averageLatency,latencyStandardDeviation FROM Latency-QueueTypes WHERE participantName = 'All Consumers'
series.2.legend=Average Latency
series.2.dir=${csvCurrentDir}
+series.2.colourName=red
series.3.statement=SELECT testName, averageLatency,latencyStandardDeviation FROM Latency-QueueTypes WHERE participantName = 'All Consumers'
series.3.legend=Average Latency (baseline)
series.3.dir=${csvBaselineDir}
+series.3.colourName=dark_red
series.4.statement=SELECT testName, minLatency,0 FROM Latency-QueueTypes WHERE participantName = 'All Consumers'
series.4.legend=Minimum latency
series.4.dir=${csvCurrentDir}
+series.4.colourName=green
diff --git a/java/perftests/etc/chartdefs/timeseries/1001-Large-Messages-Transient.chartdef b/java/perftests/etc/chartdefs/timeseries/1001-Large-Messages-Transient.chartdef
new file mode 100644
index 0000000000..e77f7b4eff
--- /dev/null
+++ b/java/perftests/etc/chartdefs/timeseries/1001-Large-Messages-Transient.chartdef
@@ -0,0 +1,29 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+chartType=TIMELINE
+chartTitle=Large transient messages
+chartDescription=1P 1C, transient, auto-ack, with message payload 65536 bytes.
+
+xAxisTitle=Date
+yAxisTitle=Throughput (KB/s)
+
+series.1.statement=SELECT insertedTimestamp, throughputKbPerS FROM RESULTS WHERE participantName = 'All' AND testName = 'Message Size - 1P-1C - TRANSIENT' and payloadSizeB = 65536
+series.1.colourName=red
+series.1.legend=Throughput
diff --git a/java/perftests/etc/chartdefs/timeseries/1002-Large-Messages-Persistent.chartdef b/java/perftests/etc/chartdefs/timeseries/1002-Large-Messages-Persistent.chartdef
new file mode 100644
index 0000000000..ffcf8c26b8
--- /dev/null
+++ b/java/perftests/etc/chartdefs/timeseries/1002-Large-Messages-Persistent.chartdef
@@ -0,0 +1,29 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+chartType=TIMELINE
+chartTitle=Large persistent messages
+chartDescription=1P 1C, persistent, auto-ack, with message payload 65536 bytes.
+
+xAxisTitle=Date
+yAxisTitle=Throughput (KB/s)
+
+series.1.statement=SELECT insertedTimestamp, throughputKbPerS FROM RESULTS WHERE participantName = 'All' AND testName = 'Message Size - 1P-1C - PERSISTENT' and payloadSizeB = 65536
+series.1.colourName=red
+series.1.legend=Throughput
diff --git a/java/perftests/etc/chartdefs/timeseries/1011-MultipleProducersAndConsumers-Persistent.chartdef b/java/perftests/etc/chartdefs/timeseries/1011-MultipleProducersAndConsumers-Persistent.chartdef
new file mode 100644
index 0000000000..ba01d4b7ad
--- /dev/null
+++ b/java/perftests/etc/chartdefs/timeseries/1011-MultipleProducersAndConsumers-Persistent.chartdef
@@ -0,0 +1,30 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+chartType=TIMELINE
+chartTitle=Multiple producers and consumers - auto ack
+chartSubtitle=Persistent 1KB messages
+chartDescription=10 P/Cs, persistent, auto-ack, with message payload 1KB.
+
+xAxisTitle=Date
+yAxisTitle=Throughput (KB/s)
+
+series.1.statement=SELECT insertedTimestamp, throughputKbPerS FROM RESULTS WHERE participantName = 'All' AND testName = 'Varying number of participants: 10 consumers - 10 producers - PERSISTENT'
+series.1.colourName=red
+series.1.legend=Throughput \ No newline at end of file
diff --git a/java/perftests/etc/chartdefs/1030-BatchSize.chartdef b/java/perftests/etc/chartdefs/timeseries/1030-Batch-Size-Small.chartdef
index 1f01aa85aa..f755bf4a5b 100644
--- a/java/perftests/etc/chartdefs/1030-BatchSize.chartdef
+++ b/java/perftests/etc/chartdefs/timeseries/1030-Batch-Size-Small.chartdef
@@ -17,17 +17,14 @@
# under the License.
#
-chartType=XYLINE
-chartTitle=Transaction Batch Size
+chartType=TIMELINE
+chartTitle=Transactions
chartSubtitle=Persistent 1KB messages
-xAxisTitle=Batch Size
-yAxisTitle=Throughput (KB/s)
-
-series.1.statement=SELECT batchSize, throughputKbPerS FROM BatchSize WHERE participantName = 'All'
-series.1.legend=Current
-series.1.dir=${csvCurrentDir}
+chartDescription=1P 1C, persistent, transacted with message payload 1KB with batch size 1 for both P and C
-series.2.statement=SELECT batchSize, throughputKbPerS FROM BatchSize WHERE participantName = 'All'
-series.2.legend=Baseline
-series.2.dir=${csvBaselineDir}
+xAxisTitle=Date
+yAxisTitle=Throughput (KB/s)
+series.1.statement=SELECT insertedTimestamp, throughputKbPerS FROM RESULTS WHERE participantName = 'All' AND testName = 'Batch Size 1-1 - PERSISTENT'
+series.1.colourName=red
+series.1.legend=Throughput \ No newline at end of file
diff --git a/java/perftests/etc/chartdefs/timeseries/1031-Batch-Size-Large.chartdef b/java/perftests/etc/chartdefs/timeseries/1031-Batch-Size-Large.chartdef
new file mode 100644
index 0000000000..ca390f8226
--- /dev/null
+++ b/java/perftests/etc/chartdefs/timeseries/1031-Batch-Size-Large.chartdef
@@ -0,0 +1,30 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+chartType=TIMELINE
+chartTitle=Transactions with large batches
+chartSubtitle=Persistent 1KB messages
+chartDescription=1P 1C, persistent, transacted with message payload 1KB with batch size 100 for both P and C
+
+xAxisTitle=Date
+yAxisTitle=Throughput (KB/s)
+
+series.1.statement=SELECT insertedTimestamp, throughputKbPerS FROM RESULTS WHERE participantName = 'All' AND testName = 'Batch Size 100-100 - PERSISTENT'
+series.1.colourName=red
+series.1.legend=Throughput
diff --git a/java/perftests/etc/chartdefs/timeseries/1040-SortedQueue.chartdef b/java/perftests/etc/chartdefs/timeseries/1040-SortedQueue.chartdef
new file mode 100644
index 0000000000..6dce3a1a77
--- /dev/null
+++ b/java/perftests/etc/chartdefs/timeseries/1040-SortedQueue.chartdef
@@ -0,0 +1,30 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+chartType=TIMELINE
+chartTitle=Sorted queue
+chartSubtitle=Persistent 1KB messages
+chartDescription=1P 1C, persistent, auto-ack with message payload 1KB. Sorted queue with 160,000 random keys
+
+xAxisTitle=Date
+yAxisTitle=Throughput (KB/s)
+
+series.1.statement=SELECT insertedTimestamp, throughputKbPerS FROM RESULTS WHERE participantName = 'All' AND testName = 'queue-type:sorted-queue'
+series.1.colourName=red
+series.1.legend=Throughput \ No newline at end of file
diff --git a/java/perftests/etc/perftests-jndi.properties b/java/perftests/etc/perftests-jndi.properties
index f33af6fdd5..ce6493b49a 100644
--- a/java/perftests/etc/perftests-jndi.properties
+++ b/java/perftests/etc/perftests-jndi.properties
@@ -20,3 +20,7 @@ java.naming.factory.initial = org.apache.qpid.jndi.PropertiesFileInitialContextF
connectionfactory.connectionfactory = amqp://guest:guest@clientid/test?brokerlist='tcp://localhost:5672'
destination.controllerqueue = direct://amq.direct//controllerqueue?autodelete='true'
+
+jdbcDriverClass=org.apache.derby.jdbc.EmbeddedDriver
+# writes to a results database in ./perftestResultsDb by default.
+jdbcUrl=jdbc:derby:perftestResultsDb;create=true
diff --git a/java/perftests/etc/run-perftests.sh b/java/perftests/etc/run-perftests.sh
new file mode 100755
index 0000000000..f963879e7e
--- /dev/null
+++ b/java/perftests/etc/run-perftests.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# Runs the perftests using a typical configuration.
+
+BASE_DIR=`dirname $0`
+DURATION=${1:-5000}
+AMQP_VERSION=${2:-0-91}
+
+echo Will run perftests using a maximum duration of ${DURATION}ms and AMQP protocol version ${AMQP_VERSION}.
+echo
+
+java -cp "${BASE_DIR}:${BASE_DIR}/../../build/lib/*" \
+ -Dqpid.amqp.version=${AMQP_VERSION} -Dqpid.dest_syntax=BURL \
+ -Dqpid.disttest.duration=$DURATION \
+ org.apache.qpid.disttest.ControllerRunner \
+ jndi-config=${BASE_DIR}/perftests-jndi.properties \
+ test-config=${BASE_DIR}/testdefs \
+ distributed=false \
+ writeToDb=true
diff --git a/java/perftests/etc/testdefs/BatchSize.js b/java/perftests/etc/testdefs/BatchSize.js
new file mode 100644
index 0000000000..f17751b7b5
--- /dev/null
+++ b/java/perftests/etc/testdefs/BatchSize.js
@@ -0,0 +1,102 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+var jsonObject = {
+ _tests:[]
+};
+
+var duration = 30000;
+
+var txBatchSizes = [[1,1], [2,2], [5,5], [10,10], [20,20], [50,50], [100,100], [200,200], [400,400]];
+
+var acknowledgeMode = 0;
+var deliveryMode = 2;
+var messageSize = 1024;
+
+for(i=0; i < txBatchSizes.length ; i++)
+{
+ var producerBatchSize = txBatchSizes[i][0];
+ var consumerBatchSize = txBatchSizes[i][1];
+ var queueName = "txBatchSize" + producerBatchSize + "_" + consumerBatchSize;
+ var destination = "direct://amq.direct//" + queueName + "?durable='true'";
+
+ var test = {
+ "_name": "Batch Size " + producerBatchSize + "-" + consumerBatchSize + " - PERSISTENT",
+ "_queues":[
+ {
+ "_name": queueName,
+ "_durable": true
+ }
+ ],
+ "_clients":[
+ {
+ "_name": "producingClient",
+ "_connections":[
+ {
+ "_name": "connection1",
+ "_factory": "connectionfactory",
+ "_sessions": [
+ {
+ "_sessionName": "session1",
+ "_acknowledgeMode": acknowledgeMode,
+ "_producers": [
+ {
+ "_name": "Producer1",
+ "_destinationName": destination,
+ "_messageSize": messageSize,
+ "_deliveryMode": deliveryMode,
+ "_batchSize": producerBatchSize,
+ "_maximumDuration": duration
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "_name": "consumingClient",
+ "_connections":[
+ {
+ "_name": "connection1",
+ "_factory": "connectionfactory",
+ "_sessions": [
+ {
+ "_sessionName": "session1",
+ "_acknowledgeMode": acknowledgeMode,
+ "_consumers": [
+ {
+ "_name": "Consumer1",
+ "_destinationName": destination,
+ "_batchSize": consumerBatchSize,
+ "_maximumDuration": duration
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ };
+
+ jsonObject._tests= jsonObject._tests.concat(test);
+}
diff --git a/java/perftests/etc/testdefs/BatchSize.json b/java/perftests/etc/testdefs/BatchSize.json
deleted file mode 100644
index eeb446bad6..0000000000
--- a/java/perftests/etc/testdefs/BatchSize.json
+++ /dev/null
@@ -1,84 +0,0 @@
-{
- "_tests":[
- {
- "_name": "Batch Size- PERSISTENT";
- "_iterations":[
- {
- "_batchSize": 1
- },
- {
- "_batchSize": 2
- },
- {
- "_batchSize": 5
- },
- {
- "_batchSize": 10
- },
- {
- "_batchSize": 20
- },
- {
- "_batchSize": 50
- },
- {
- "_batchSize": 100
- }
- ],
- "_queues":[
- {
- "_name": "direct://amq.direct//batchSize?durable='true'",
- "_durable": true
- }
- ],
- "_clients":[
- {
- "_name": "producingClient",
- "_connections":[
- {
- "_name": "connection1",
- "_factory": "connectionfactory",
- "_sessions": [
- {
- "_sessionName": "session1",
- "_acknowledgeMode": 0,
- "_producers": [
- {
- "_name": "Producer1",
- "_destinationName": "direct://amq.direct//batchSize?durable='true'",
- "_messageSize": 1024,
- "_maximumDuration": 30000,
- "_deliveryMode": 2
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "_name": "consumingClient",
- "_connections":[
- {
- "_name": "connection1",
- "_factory": "connectionfactory",
- "_sessions": [
- {
- "_sessionName": "session1",
- "_acknowledgeMode": 0,
- "_consumers": [
- {
- "_name": "Consumer1",
- "_destinationName": "direct://amq.direct//batchSize?durable='true'",
- "_maximumDuration": 30000
- }
- ]
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/java/perftests/etc/testdefs/BatchSizeConsumerVaries.js b/java/perftests/etc/testdefs/BatchSizeConsumerVaries.js
new file mode 100644
index 0000000000..b491f431c9
--- /dev/null
+++ b/java/perftests/etc/testdefs/BatchSizeConsumerVaries.js
@@ -0,0 +1,102 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+var jsonObject = {
+ _tests:[]
+};
+
+var duration = 30000;
+
+var txBatchSizes = [[1,1], [1,2], [1,5], [1,10], [1,20], [1,50], [1,100], [1,200], [1,400]];
+
+var acknowledgeMode = 0;
+var deliveryMode = 2;
+var messageSize = 1024;
+
+for(i=0; i < txBatchSizes.length ; i++)
+{
+ var producerBatchSize = txBatchSizes[i][0];
+ var consumerBatchSize = txBatchSizes[i][1];
+ var queueName = "txBatchSize" + producerBatchSize + "_" + consumerBatchSize;
+ var destination = "direct://amq.direct//" + queueName + "?durable='true'";
+
+ var test = {
+ "_name": consumerBatchSize,// hack - use test name to expose the consumer batch size on the All result rows
+ "_queues":[
+ {
+ "_name": queueName,
+ "_durable": true
+ }
+ ],
+ "_clients":[
+ {
+ "_name": "producingClient",
+ "_connections":[
+ {
+ "_name": "connection1",
+ "_factory": "connectionfactory",
+ "_sessions": [
+ {
+ "_sessionName": "session1",
+ "_acknowledgeMode": acknowledgeMode,
+ "_producers": [
+ {
+ "_name": "Producer1",
+ "_destinationName": destination,
+ "_messageSize": messageSize,
+ "_deliveryMode": deliveryMode,
+ "_batchSize": producerBatchSize,
+ "_maximumDuration": duration
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "_name": "consumingClient",
+ "_connections":[
+ {
+ "_name": "connection1",
+ "_factory": "connectionfactory",
+ "_sessions": [
+ {
+ "_sessionName": "session1",
+ "_acknowledgeMode": acknowledgeMode,
+ "_consumers": [
+ {
+ "_name": "Consumer1",
+ "_destinationName": destination,
+ "_batchSize": consumerBatchSize,
+ "_maximumDuration": duration
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ };
+
+ jsonObject._tests= jsonObject._tests.concat(test);
+}
diff --git a/java/perftests/etc/testdefs/BatchSizeProducerVaries.js b/java/perftests/etc/testdefs/BatchSizeProducerVaries.js
new file mode 100644
index 0000000000..ac23c52c9e
--- /dev/null
+++ b/java/perftests/etc/testdefs/BatchSizeProducerVaries.js
@@ -0,0 +1,102 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+var jsonObject = {
+ _tests:[]
+};
+
+var duration = 30000;
+
+var txBatchSizes = [[1,1], [2,1], [5,1], [10,1], [20,1], [50,1], [100,1], [200,1], [400,1]];
+
+var acknowledgeMode = 0;
+var deliveryMode = 2;
+var messageSize = 1024;
+
+for(i=0; i < txBatchSizes.length ; i++)
+{
+ var producerBatchSize = txBatchSizes[i][0];
+ var consumerBatchSize = txBatchSizes[i][1];
+ var queueName = "txBatchSize" + producerBatchSize + "_" + consumerBatchSize;
+ var destination = "direct://amq.direct//" + queueName + "?durable='true'";
+
+ var test = {
+ "_name": producerBatchSize,// hack - use test name to expose the producer batch size on the All result rows
+ "_queues":[
+ {
+ "_name": queueName,
+ "_durable": true
+ }
+ ],
+ "_clients":[
+ {
+ "_name": "producingClient",
+ "_connections":[
+ {
+ "_name": "connection1",
+ "_factory": "connectionfactory",
+ "_sessions": [
+ {
+ "_sessionName": "session1",
+ "_acknowledgeMode": acknowledgeMode,
+ "_producers": [
+ {
+ "_name": "Producer1",
+ "_destinationName": destination,
+ "_messageSize": messageSize,
+ "_deliveryMode": deliveryMode,
+ "_batchSize": producerBatchSize,
+ "_maximumDuration": duration
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "_name": "consumingClient",
+ "_connections":[
+ {
+ "_name": "connection1",
+ "_factory": "connectionfactory",
+ "_sessions": [
+ {
+ "_sessionName": "session1",
+ "_acknowledgeMode": acknowledgeMode,
+ "_consumers": [
+ {
+ "_name": "Consumer1",
+ "_destinationName": destination,
+ "_batchSize": consumerBatchSize,
+ "_maximumDuration": duration
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ };
+
+ jsonObject._tests= jsonObject._tests.concat(test);
+}
diff --git a/java/perftests/etc/testdefs/QueueConsumersWithNonOverlappingSelectors.js b/java/perftests/etc/testdefs/QueueConsumersWithNonOverlappingSelectors.js
new file mode 100644
index 0000000000..0dd45b0392
--- /dev/null
+++ b/java/perftests/etc/testdefs/QueueConsumersWithNonOverlappingSelectors.js
@@ -0,0 +1,120 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+var jsonObject = {
+ _tests:[]
+};
+
+for (var i=0; i<2; i++)
+{
+ var deliveryMode = i+1;
+ var durable = (deliveryMode == 2);
+ var suffix = durable ? "PERSISTENT" : "NON-PERSISTENT";
+ var queueName = "direct://amq.direct//queue-selectors-" + suffix + "?durable='" + durable + "'";
+ var consumerNumbers = [1, 2, 4, 8, 16, 32];
+ var consumerAcknowledgeMode = 1;
+ for (var j=0; j<consumerNumbers.length; j++)
+ {
+ var consumerNumber = consumerNumbers[j];
+ var testName = "Queues with selectors: " +consumerNumber + " consumers - 1 producer - non overlapping - " + suffix;
+ var test = {
+ "_name": testName,
+ "_queues":[
+ {
+ "_name": queueName,
+ "_durable": durable,
+ "_attributes":
+ {
+ "x-qpid-capacity": 10485760,
+ "x-qpid-flow-resume-capacity": 8388608
+ }
+ }
+ ],
+ "_clients":[
+ {
+ "_name": "producingClient",
+ "_messageProviders": [
+ {
+ "_name": "messageProvider",
+ "_messageProperties": {
+ "id": {
+ "@def": "range",
+ "_lower": 1,
+ "_upper": consumerNumber,
+ "_type": "int"
+ }
+ }
+ }
+ ],
+ "_connections":[
+ {
+ "_name": "connection1",
+ "_factory": "connectionfactory",
+ "_sessions": [
+ {
+ "_sessionName": "session1",
+ "_acknowledgeMode": 1,
+ "_producers": [
+ {
+ "_name": "Producer1",
+ "_destinationName": queueName,
+ "_maximumDuration": 60000,
+ "_deliveryMode": deliveryMode,
+ "_messageSize": 1024,
+ "_messageProviderName": "messageProvider"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "_name": "consumingClient",
+ "_connections":[]
+ }
+ ]
+ };
+ for(var n=0; n<consumerNumber; n++)
+ {
+ var consumerConnection = {
+ "_name": "connection" + n,
+ "_factory": "connectionfactory",
+ "_sessions": [
+ {
+ "_sessionName": "session" + n,
+ "_acknowledgeMode": consumerAcknowledgeMode,
+ "_consumers": [
+ {
+ "_name": "Consumer" + n,
+ "_destinationName": queueName,
+ "_maximumDuration": 60000,
+ "_selector": "id=" + ( n + 1)
+ }
+ ]
+ }
+ ]
+ };
+ test._clients[1]._connections.push(consumerConnection);
+ }
+ jsonObject._tests.push(test);
+ }
+}
+
diff --git a/java/perftests/etc/testdefs/QueueConsumersWithOverlappingSelectors.js b/java/perftests/etc/testdefs/QueueConsumersWithOverlappingSelectors.js
new file mode 100644
index 0000000000..20cfb4ad45
--- /dev/null
+++ b/java/perftests/etc/testdefs/QueueConsumersWithOverlappingSelectors.js
@@ -0,0 +1,131 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+var jsonObject = {
+ _tests:[]
+};
+
+for (var i=0; i<2; i++)
+{
+ var deliveryMode = i+1;
+ var durable = (deliveryMode == 2);
+ var suffix = durable ? "PERSISTENT" : "NON-PERSISTENT";
+ var queueName = "direct://amq.direct//queue-selectors-overlapping-" + suffix + "?durable='" + durable + "'";
+ var consumerNumbers = [2, 4, 8, 16, 32];
+ var consumerAcknowledgeMode = 1;
+ for (var j=0; j<consumerNumbers.length; j++)
+ {
+ var consumerNumber = consumerNumbers[j];
+ var testName = "Queues with selectors: " +consumerNumber + " consumers - 1 producer - 50% overlapping - " + suffix;
+ var test = {
+ "_name": testName,
+ "_queues":[
+ {
+ "_name": queueName,
+ "_durable": durable,
+ "_attributes":
+ {
+ "x-qpid-capacity": 10485760,
+ "x-qpid-flow-resume-capacity": 8388608
+ }
+ }
+ ],
+ "_clients":[
+ {
+ "_name": "producingClient",
+ "_messageProviders": [
+ {
+ "_name": "messageProvider",
+ "_messageProperties": {
+ "id": {
+ "@def": "range",
+ "_lower": 1,
+ "_upper": consumerNumber * 2,
+ "_type": "int"
+ }
+ }
+ }
+ ],
+ "_connections":[
+ {
+ "_name": "connection1",
+ "_factory": "connectionfactory",
+ "_sessions": [
+ {
+ "_sessionName": "session1",
+ "_acknowledgeMode": 1,
+ "_producers": [
+ {
+ "_name": "Producer1",
+ "_destinationName": queueName,
+ "_maximumDuration": 60000,
+ "_deliveryMode": deliveryMode,
+ "_messageSize": 1024,
+ "_messageProviderName": "messageProvider"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "_name": "consumingClient",
+ "_connections":[]
+ }
+ ]
+ };
+
+ var selectorBase = "";
+ var maxId = consumerNumber * 2;
+ // odd IDs overlaps in each selector expression
+ for (var m = 1; m <= maxId; m+=2)
+ {
+ selectorBase += " or id=" + m;
+ }
+ for(var n = 0, id = 0 ; n< consumerNumber; n++)
+ {
+ // even IDs are unique per each selector expression
+ id = id + 2;
+ selector = "id=" + id + selectorBase;
+ var consumerConnection = {
+ "_name": "connection" + n,
+ "_factory": "connectionfactory",
+ "_sessions": [
+ {
+ "_sessionName": "session" + n,
+ "_acknowledgeMode": consumerAcknowledgeMode,
+ "_consumers": [
+ {
+ "_name": "Consumer" + n,
+ "_destinationName": queueName,
+ "_maximumDuration": 60000,
+ "_selector": selector
+ }
+ ]
+ }
+ ]
+ };
+ test._clients[1]._connections.push(consumerConnection);
+ }
+ jsonObject._tests.push(test);
+ }
+}
+
diff --git a/java/perftests/etc/testdefs/Topic-AckModes.js b/java/perftests/etc/testdefs/Topic-AckModes.js
index 63c4b8646e..3f7eb5d3a7 100644
--- a/java/perftests/etc/testdefs/Topic-AckModes.js
+++ b/java/perftests/etc/testdefs/Topic-AckModes.js
@@ -27,13 +27,10 @@ var jsonObject = {
"_name": "Topic ack modes",
"_iterations": [
{
- "_acknowledgeMode": 1
- },
- {
- "_acknowledgeMode": 2
+ "_acknowledgeMode": 0
},
{
- "_acknowledgeMode": 3
+ "_acknowledgeMode": 1
}
],
"_clients": [
@@ -50,6 +47,7 @@ var jsonObject = {
{
"_name": "Producer",
"_destinationName": topicName,
+ "_isTopic": true,
"_deliveryMode": 1,
"_maximumDuration": duration,
"_startDelay": 2000 // gives the consumers time to implicitly create the topic
@@ -75,6 +73,7 @@ var jsonObject = {
{
"_name": "Consumer-__INDEX",
"_destinationName": topicName,
+ "_isTopic": true,
"_maximumDuration": duration,
}
]
diff --git a/java/perftests/etc/testdefs/Topic-NumberOfConsumers.js b/java/perftests/etc/testdefs/Topic-NumberOfConsumers.js
index 58ae2f5862..1d38ff08e5 100644
--- a/java/perftests/etc/testdefs/Topic-NumberOfConsumers.js
+++ b/java/perftests/etc/testdefs/Topic-NumberOfConsumers.js
@@ -42,10 +42,12 @@ for(i=0; i < numbersOfConsumers.length ; i++)
"_sessions": [
{
"_sessionName": "session1",
+ "_acknowledgeMode": 0,
"_producers": [
{
"_name": "Producer1",
"_destinationName": topicName,
+ "_isTopic": true,
"_deliveryMode": 1,
"_maximumDuration": duration,
"_startDelay": 2000 // gives the consumers time to implicitly create the topic
@@ -66,10 +68,12 @@ for(i=0; i < numbersOfConsumers.length ; i++)
"_sessions": [
{
"_sessionName": "session1",
+ "_acknowledgeMode": 0,
"_consumers": [
{
"_name": "Consumer-__INDEX",
"_destinationName": topicName,
+ "_isTopic": true,
"_maximumDuration": duration
}
]
diff --git a/java/perftests/etc/testdefs/Topic-NumberOfTopics.js b/java/perftests/etc/testdefs/Topic-NumberOfTopics.js
index d31dd36c76..811f8e3a07 100644
--- a/java/perftests/etc/testdefs/Topic-NumberOfTopics.js
+++ b/java/perftests/etc/testdefs/Topic-NumberOfTopics.js
@@ -45,10 +45,12 @@ for(i=0; i < numbersOfTopics.length ; i++)
"_sessions": [
{
"_sessionName": "session1",
+ "_acknowledgeMode": 0,
"_producers": [
{
"_name": "Producer-__INDEX",
"_destinationName": topicName,
+ "_isTopic": true,
"_deliveryMode": 1,
"_maximumDuration": duration,
"_startDelay": 2000 // gives the consumers time to implicitly create the topic
@@ -71,10 +73,12 @@ for(i=0; i < numbersOfTopics.length ; i++)
"_sessions": [
{
"_sessionName": "session1",
+ "_acknowledgeMode": 0,
"_consumers": [
{
"_name": "Consumer-__INDEX",
"_destinationName": topicName,
+ "_isTopic": true,
"_maximumDuration": duration
}
]
diff --git a/java/perftests/etc/testdefs/Topic-Persistence.js b/java/perftests/etc/testdefs/Topic-Persistence.js
index bbec7ab8ed..96872b6c55 100644
--- a/java/perftests/etc/testdefs/Topic-Persistence.js
+++ b/java/perftests/etc/testdefs/Topic-Persistence.js
@@ -26,8 +26,9 @@ var jsonObject = {
{
"_name": "Topic persistence",
"_iterations": [
- // note that we use _durableSubscription (the JaveBeans property name)
- // rather than _isDurableSubscription (the field name)
+ // Note that we use _durableSubscription (more like the JavaBeans property name)
+ // rather than _isDurableSubscription (the field name, which we use elsewhere).
+ // This convention is required within the _iterations definition.
{
"_deliveryMode": 1,
"_durableSubscription": false
@@ -47,10 +48,12 @@ var jsonObject = {
"_sessions": [
{
"_sessionName": "session1",
+ "_acknowledgeMode": 0,
"_producers": [
{
"_name": "Producer",
"_destinationName": topicName,
+ "_isTopic": true,
"_maximumDuration": duration,
"_startDelay": 2000 // gives the consumers time to implicitly create the topic
}
@@ -71,6 +74,7 @@ var jsonObject = {
"_sessions": [
{
"_sessionName": "session1",
+ "_acknowledgeMode": 0,
"_consumers": [
{
"_name": "Consumer-__INDEX",
diff --git a/java/perftests/etc/testdefs/VaryingNumberOfParticipants.json b/java/perftests/etc/testdefs/VaryingNumberOfParticipants.json
index 457b0bc348..03dd2848b6 100644
--- a/java/perftests/etc/testdefs/VaryingNumberOfParticipants.json
+++ b/java/perftests/etc/testdefs/VaryingNumberOfParticipants.json
@@ -8,6 +8,14 @@
"_durable": true
}
],
+ "_iterations":[
+ {
+ "_acknowledgeMode": 0
+ },
+ {
+ "_acknowledgeMode": 1
+ }
+ ],
"_clients":[
{
"_name": "producingClient",
@@ -18,7 +26,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer1",
@@ -42,7 +49,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer1",
@@ -65,6 +71,14 @@
"_durable": true
}
],
+ "_iterations":[
+ {
+ "_acknowledgeMode": 0
+ },
+ {
+ "_acknowledgeMode": 1
+ }
+ ],
"_clients":[
{
"_name": "producingClient",
@@ -75,7 +89,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer1",
@@ -99,7 +112,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer1",
@@ -116,7 +128,6 @@
"_sessions": [
{
"_sessionName": "session3",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer2",
@@ -139,6 +150,14 @@
"_durable": true
}
],
+ "_iterations":[
+ {
+ "_acknowledgeMode": 0
+ },
+ {
+ "_acknowledgeMode": 1
+ }
+ ],
"_clients":[
{
"_name": "producingClient",
@@ -149,7 +168,6 @@
"_sessions": [
{
"_sessionName": "session0",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer1",
@@ -173,7 +191,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer1",
@@ -190,7 +207,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer2",
@@ -207,7 +223,6 @@
"_sessions": [
{
"_sessionName": "session3",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer3",
@@ -224,7 +239,6 @@
"_sessions": [
{
"_sessionName": "session4",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer4",
@@ -241,7 +255,6 @@
"_sessions": [
{
"_sessionName": "session5",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer5",
@@ -267,6 +280,14 @@
"_durable": true
}
],
+ "_iterations":[
+ {
+ "_acknowledgeMode": 0
+ },
+ {
+ "_acknowledgeMode": 1
+ }
+ ],
"_clients":[
{
"_name": "producingClient",
@@ -277,7 +298,6 @@
"_sessions": [
{
"_sessionName": "session0",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer1",
@@ -301,7 +321,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer1",
@@ -318,7 +337,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer2",
@@ -335,7 +353,6 @@
"_sessions": [
{
"_sessionName": "session3",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer3",
@@ -352,7 +369,6 @@
"_sessions": [
{
"_sessionName": "session4",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer4",
@@ -369,7 +385,6 @@
"_sessions": [
{
"_sessionName": "session5",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer5",
@@ -386,7 +401,6 @@
"_sessions": [
{
"_sessionName": "session6",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer6",
@@ -403,7 +417,6 @@
"_sessions": [
{
"_sessionName": "session7",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer7",
@@ -420,7 +433,6 @@
"_sessions": [
{
"_sessionName": "session8",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer8",
@@ -437,7 +449,6 @@
"_sessions": [
{
"_sessionName": "session9",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer9",
@@ -454,7 +465,6 @@
"_sessions": [
{
"_sessionName": "session10",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer10",
@@ -480,6 +490,14 @@
"_durable": true
}
],
+ "_iterations":[
+ {
+ "_acknowledgeMode": 0
+ },
+ {
+ "_acknowledgeMode": 1
+ }
+ ],
"_clients":[
{
"_name": "producingClient",
@@ -490,7 +508,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer1",
@@ -509,7 +526,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer2",
@@ -533,7 +549,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer1",
@@ -560,6 +575,14 @@
"_durable": true
}
],
+ "_iterations":[
+ {
+ "_acknowledgeMode": 0
+ },
+ {
+ "_acknowledgeMode": 1
+ }
+ ],
"_clients":[
{
"_name": "producingClient",
@@ -570,7 +593,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer1",
@@ -589,7 +611,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer2",
@@ -613,7 +634,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer1",
@@ -630,7 +650,6 @@
"_sessions": [
{
"_sessionName": "session3",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer2",
@@ -657,6 +676,14 @@
"_durable": true
}
],
+ "_iterations":[
+ {
+ "_acknowledgeMode": 0
+ },
+ {
+ "_acknowledgeMode": 1
+ }
+ ],
"_clients":[
{
"_name": "producingClient",
@@ -667,7 +694,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer1",
@@ -686,7 +712,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer2",
@@ -710,7 +735,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer1",
@@ -727,7 +751,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer2",
@@ -744,7 +767,6 @@
"_sessions": [
{
"_sessionName": "session3",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer3",
@@ -761,7 +783,6 @@
"_sessions": [
{
"_sessionName": "session4",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer4",
@@ -778,7 +799,6 @@
"_sessions": [
{
"_sessionName": "session5",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer5",
@@ -804,6 +824,14 @@
"_durable": true
}
],
+ "_iterations":[
+ {
+ "_acknowledgeMode": 0
+ },
+ {
+ "_acknowledgeMode": 1
+ }
+ ],
"_clients":[
{
"_name": "producingClient",
@@ -814,7 +842,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer1",
@@ -833,7 +860,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer2",
@@ -857,7 +883,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer1",
@@ -874,7 +899,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer2",
@@ -891,7 +915,6 @@
"_sessions": [
{
"_sessionName": "session3",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer3",
@@ -908,7 +931,6 @@
"_sessions": [
{
"_sessionName": "session4",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer4",
@@ -925,7 +947,6 @@
"_sessions": [
{
"_sessionName": "session5",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer5",
@@ -942,7 +963,6 @@
"_sessions": [
{
"_sessionName": "session6",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer6",
@@ -959,7 +979,6 @@
"_sessions": [
{
"_sessionName": "session7",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer7",
@@ -976,7 +995,6 @@
"_sessions": [
{
"_sessionName": "session8",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer8",
@@ -993,7 +1011,6 @@
"_sessions": [
{
"_sessionName": "session9",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer9",
@@ -1010,7 +1027,6 @@
"_sessions": [
{
"_sessionName": "session10",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer10",
@@ -1036,6 +1052,14 @@
"_durable": true
}
],
+ "_iterations":[
+ {
+ "_acknowledgeMode": 0
+ },
+ {
+ "_acknowledgeMode": 1
+ }
+ ],
"_clients":[
{
"_name": "producingClient",
@@ -1046,7 +1070,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer1",
@@ -1065,7 +1088,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer2",
@@ -1084,7 +1106,6 @@
"_sessions": [
{
"_sessionName": "session3",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer3",
@@ -1103,7 +1124,6 @@
"_sessions": [
{
"_sessionName": "session4",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer4",
@@ -1122,7 +1142,6 @@
"_sessions": [
{
"_sessionName": "session5",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer5",
@@ -1146,7 +1165,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer1",
@@ -1173,6 +1191,14 @@
"_durable": true
}
],
+ "_iterations":[
+ {
+ "_acknowledgeMode": 0
+ },
+ {
+ "_acknowledgeMode": 1
+ }
+ ],
"_clients":[
{
"_name": "producingClient",
@@ -1183,7 +1209,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer1",
@@ -1202,7 +1227,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer2",
@@ -1221,7 +1245,6 @@
"_sessions": [
{
"_sessionName": "session3",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer3",
@@ -1240,7 +1263,6 @@
"_sessions": [
{
"_sessionName": "session4",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer4",
@@ -1259,7 +1281,6 @@
"_sessions": [
{
"_sessionName": "session5",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer5",
@@ -1283,7 +1304,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer1",
@@ -1300,7 +1320,6 @@
"_sessions": [
{
"_sessionName": "session3",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer2",
@@ -1328,6 +1347,14 @@
"_durable": true
}
],
+ "_iterations":[
+ {
+ "_acknowledgeMode": 0
+ },
+ {
+ "_acknowledgeMode": 1
+ }
+ ],
"_clients":[
{
"_name": "producingClient",
@@ -1338,7 +1365,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer1",
@@ -1357,7 +1383,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer2",
@@ -1376,7 +1401,6 @@
"_sessions": [
{
"_sessionName": "session3",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer3",
@@ -1395,7 +1419,6 @@
"_sessions": [
{
"_sessionName": "session4",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer4",
@@ -1414,7 +1437,6 @@
"_sessions": [
{
"_sessionName": "session5",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer5",
@@ -1438,7 +1460,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer1",
@@ -1455,7 +1476,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer2",
@@ -1472,7 +1492,6 @@
"_sessions": [
{
"_sessionName": "session3",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer3",
@@ -1489,7 +1508,6 @@
"_sessions": [
{
"_sessionName": "session4",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer4",
@@ -1506,7 +1524,6 @@
"_sessions": [
{
"_sessionName": "session5",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer5",
@@ -1532,6 +1549,14 @@
"_durable": true
}
],
+ "_iterations":[
+ {
+ "_acknowledgeMode": 0
+ },
+ {
+ "_acknowledgeMode": 1
+ }
+ ],
"_clients":[
{
"_name": "producingClient",
@@ -1542,7 +1567,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer1",
@@ -1561,7 +1585,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer2",
@@ -1580,7 +1603,6 @@
"_sessions": [
{
"_sessionName": "session3",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer3",
@@ -1599,7 +1621,6 @@
"_sessions": [
{
"_sessionName": "session4",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer4",
@@ -1618,7 +1639,6 @@
"_sessions": [
{
"_sessionName": "session5",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer5",
@@ -1642,7 +1662,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer1",
@@ -1659,7 +1678,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer2",
@@ -1676,7 +1694,6 @@
"_sessions": [
{
"_sessionName": "session3",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer3",
@@ -1693,7 +1710,6 @@
"_sessions": [
{
"_sessionName": "session4",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer4",
@@ -1710,7 +1726,6 @@
"_sessions": [
{
"_sessionName": "session5",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer5",
@@ -1727,7 +1742,6 @@
"_sessions": [
{
"_sessionName": "session6",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer6",
@@ -1744,7 +1758,6 @@
"_sessions": [
{
"_sessionName": "session7",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer7",
@@ -1761,7 +1774,6 @@
"_sessions": [
{
"_sessionName": "session8",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer8",
@@ -1778,7 +1790,6 @@
"_sessions": [
{
"_sessionName": "session9",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer9",
@@ -1795,7 +1806,6 @@
"_sessions": [
{
"_sessionName": "session10",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer10",
@@ -1822,6 +1832,14 @@
"_durable": true
}
],
+ "_iterations":[
+ {
+ "_acknowledgeMode": 0
+ },
+ {
+ "_acknowledgeMode": 1
+ }
+ ],
"_clients":[
{
"_name": "producingClient",
@@ -1832,7 +1850,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer1",
@@ -1851,7 +1868,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer2",
@@ -1870,7 +1886,6 @@
"_sessions": [
{
"_sessionName": "session3",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer3",
@@ -1889,7 +1904,6 @@
"_sessions": [
{
"_sessionName": "session4",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer4",
@@ -1908,7 +1922,6 @@
"_sessions": [
{
"_sessionName": "session5",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer5",
@@ -1927,7 +1940,6 @@
"_sessions": [
{
"_sessionName": "session6",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer6",
@@ -1946,7 +1958,6 @@
"_sessions": [
{
"_sessionName": "session7",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer7",
@@ -1965,7 +1976,6 @@
"_sessions": [
{
"_sessionName": "session8",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer8",
@@ -1984,7 +1994,6 @@
"_sessions": [
{
"_sessionName": "session9",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer9",
@@ -2003,7 +2012,6 @@
"_sessions": [
{
"_sessionName": "session10",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer10",
@@ -2027,7 +2035,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer1",
@@ -2054,6 +2061,14 @@
"_durable": true
}
],
+ "_iterations":[
+ {
+ "_acknowledgeMode": 0
+ },
+ {
+ "_acknowledgeMode": 1
+ }
+ ],
"_clients":[
{
"_name": "producingClient",
@@ -2064,7 +2079,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer1",
@@ -2083,7 +2097,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer2",
@@ -2102,7 +2115,6 @@
"_sessions": [
{
"_sessionName": "session3",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer3",
@@ -2121,7 +2133,6 @@
"_sessions": [
{
"_sessionName": "session4",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer4",
@@ -2140,7 +2151,6 @@
"_sessions": [
{
"_sessionName": "session5",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer5",
@@ -2159,7 +2169,6 @@
"_sessions": [
{
"_sessionName": "session6",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer6",
@@ -2178,7 +2187,6 @@
"_sessions": [
{
"_sessionName": "session7",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer7",
@@ -2197,7 +2205,6 @@
"_sessions": [
{
"_sessionName": "session8",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer8",
@@ -2216,7 +2223,6 @@
"_sessions": [
{
"_sessionName": "session9",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer9",
@@ -2235,7 +2241,6 @@
"_sessions": [
{
"_sessionName": "session10",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer10",
@@ -2259,7 +2264,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer1",
@@ -2276,7 +2280,6 @@
"_sessions": [
{
"_sessionName": "session3",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer2",
@@ -2304,6 +2307,14 @@
"_durable": true
}
],
+ "_iterations":[
+ {
+ "_acknowledgeMode": 0
+ },
+ {
+ "_acknowledgeMode": 1
+ }
+ ],
"_clients":[
{
"_name": "producingClient",
@@ -2314,7 +2325,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer1",
@@ -2333,7 +2343,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer2",
@@ -2352,7 +2361,6 @@
"_sessions": [
{
"_sessionName": "session3",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer3",
@@ -2371,7 +2379,6 @@
"_sessions": [
{
"_sessionName": "session4",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer4",
@@ -2390,7 +2397,6 @@
"_sessions": [
{
"_sessionName": "session5",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer5",
@@ -2409,7 +2415,6 @@
"_sessions": [
{
"_sessionName": "session6",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer6",
@@ -2428,7 +2433,6 @@
"_sessions": [
{
"_sessionName": "session7",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer7",
@@ -2447,7 +2451,6 @@
"_sessions": [
{
"_sessionName": "session8",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer8",
@@ -2466,7 +2469,6 @@
"_sessions": [
{
"_sessionName": "session9",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer9",
@@ -2485,7 +2487,6 @@
"_sessions": [
{
"_sessionName": "session10",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer10",
@@ -2509,7 +2510,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer1",
@@ -2526,7 +2526,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer2",
@@ -2543,7 +2542,6 @@
"_sessions": [
{
"_sessionName": "session3",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer3",
@@ -2560,7 +2558,6 @@
"_sessions": [
{
"_sessionName": "session4",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer4",
@@ -2577,7 +2574,6 @@
"_sessions": [
{
"_sessionName": "session5",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer5",
@@ -2604,6 +2600,14 @@
"_durable": true
}
],
+ "_iterations":[
+ {
+ "_acknowledgeMode": 0
+ },
+ {
+ "_acknowledgeMode": 1
+ }
+ ],
"_clients":[
{
"_name": "producingClient",
@@ -2614,7 +2618,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer1",
@@ -2633,7 +2636,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer2",
@@ -2652,7 +2654,6 @@
"_sessions": [
{
"_sessionName": "session3",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer3",
@@ -2671,7 +2672,6 @@
"_sessions": [
{
"_sessionName": "session4",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer4",
@@ -2690,7 +2690,6 @@
"_sessions": [
{
"_sessionName": "session5",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer5",
@@ -2709,7 +2708,6 @@
"_sessions": [
{
"_sessionName": "session6",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer6",
@@ -2728,7 +2726,6 @@
"_sessions": [
{
"_sessionName": "session7",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer7",
@@ -2747,7 +2744,6 @@
"_sessions": [
{
"_sessionName": "session8",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer8",
@@ -2766,7 +2762,6 @@
"_sessions": [
{
"_sessionName": "session9",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer9",
@@ -2785,7 +2780,6 @@
"_sessions": [
{
"_sessionName": "session10",
- "_acknowledgeMode": 1,
"_producers": [
{
"_name": "Producer10",
@@ -2809,7 +2803,6 @@
"_sessions": [
{
"_sessionName": "session1",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer1",
@@ -2826,7 +2819,6 @@
"_sessions": [
{
"_sessionName": "session2",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer2",
@@ -2843,7 +2835,6 @@
"_sessions": [
{
"_sessionName": "session3",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer3",
@@ -2860,7 +2851,6 @@
"_sessions": [
{
"_sessionName": "session4",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer4",
@@ -2877,7 +2867,6 @@
"_sessions": [
{
"_sessionName": "session5",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer5",
@@ -2894,7 +2883,6 @@
"_sessions": [
{
"_sessionName": "session6",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer6",
@@ -2911,7 +2899,6 @@
"_sessions": [
{
"_sessionName": "session7",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer7",
@@ -2928,7 +2915,6 @@
"_sessions": [
{
"_sessionName": "session8",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer8",
@@ -2945,7 +2931,6 @@
"_sessions": [
{
"_sessionName": "session9",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer9",
@@ -2962,7 +2947,6 @@
"_sessions": [
{
"_sessionName": "session10",
- "_acknowledgeMode": 1,
"_consumers": [
{
"_name": "Consumer10",
diff --git a/java/perftests/etc/testdefs/VaryingNumberOfProducerSessionsSingleConnection.js b/java/perftests/etc/testdefs/VaryingNumberOfProducerSessionsSingleConnection.js
new file mode 100644
index 0000000000..c62a8344b1
--- /dev/null
+++ b/java/perftests/etc/testdefs/VaryingNumberOfProducerSessionsSingleConnection.js
@@ -0,0 +1,95 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+var jsonObject = {
+ _tests:[]
+};
+
+var duration = 30000;
+var queueName = "direct://amq.direct//varNumOfSessions?durable='true'";
+
+var numbersOfSessions = [1, 2, 5, 10, 20, 40, 80];
+var numberOfConsumingClients = 20;
+
+for(i=0; i < numbersOfSessions.length ; i++)
+{
+ var sessionNumber = numbersOfSessions[i];
+ var test = {
+ "_name": sessionNumber,
+ "_queues":[
+ {
+ "_name": queueName,
+ "_durable": "true"
+ }
+ ],
+ "_clients":[
+ {
+ "_name": "producingClient",
+ "_connections":[
+ {
+ "_name": "connection1",
+ "_factory": "connectionfactory",
+ "_sessions": QPID.times(sessionNumber,
+ {
+ "_sessionName": "session__SESSION_INDEX",
+ "_producers": [
+ {
+ "_name": "Producer__SESSION_INDEX",
+ "_destinationName": queueName,
+ "_deliveryMode": 2,
+ "_acknowledgeMode": 0,
+ "_maximumDuration": duration
+ }
+ ]
+ },
+ "__SESSION_INDEX")
+ }
+ ]
+ },
+ ].concat(QPID.times(numberOfConsumingClients,
+ {
+ "_name": "consumingClient__CONSUMING_CLIENT_INDEX",
+ "_connections":[
+ {
+ "_name": "client__CONSUMING_CLIENT_INDEXconnection1",
+ "_factory": "connectionfactory",
+ "_sessions":
+ [
+ {
+ "_sessionName": "client__CONSUMING_CLIENT_INDEXsession1",
+ "_consumers": [
+ {
+ "_name": "client__CONSUMING_CLIENT_INDEXConsumer1Session1",
+ "_destinationName": queueName,
+ "_acknowledgeMode": 1,
+ "_maximumDuration": duration
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "__CONSUMING_CLIENT_INDEX"))
+ };
+
+ jsonObject._tests= jsonObject._tests.concat(test);
+}
+
diff --git a/java/perftests/etc/visualisation-timeseries.sh b/java/perftests/etc/visualisation-timeseries.sh
new file mode 100755
index 0000000000..32db2cb010
--- /dev/null
+++ b/java/perftests/etc/visualisation-timeseries.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# Runs the visualisation tool against perftest output assumed to be in a Derby database in the current directory
+
+BASE_DIR=`dirname $0`
+
+# Uncomment to read perftest data from a Derby database
+JDBC_URL=jdbcUrl=jdbc:derby:perftestResultsDb
+JDBC_DRIVER=jdbcDriverClass=org.apache.derby.jdbc.EmbeddedDriver
+
+java -cp "${BASE_DIR}:${BASE_DIR}/../../build/lib/*" \
+ -Djava.awt.headless=true -Dlog4j.configuration=file:log4j.properties \
+ org.apache.qpid.disttest.charting.ChartingUtil \
+ chart-defs=chartdefs/timeseries \
+ ${JDBC_DRIVER} ${JDBC_URL}
diff --git a/java/perftests/etc/visualisation.sh b/java/perftests/etc/visualisation.sh
new file mode 100755
index 0000000000..53a3f94f9c
--- /dev/null
+++ b/java/perftests/etc/visualisation.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# Runs the visualisation tool against perftest CSV output assumed to be in the current directory
+
+BASE_DIR=`dirname $0`
+
+# Uncomment to read perftest data from a Derby database
+# JDBC_URL=jdbcUrl=jdbc:derby:perftestResultsDb
+# JDBC_DRIVER=jdbcDriverClass=org.apache.derby.jdbc.EmbeddedDriver
+
+java -cp "${BASE_DIR}:${BASE_DIR}/../../build/lib/*" \
+ -Djava.awt.headless=true -Dlog4j.configuration=file:log4j.properties \
+ -DcsvCurrentDir=. \
+ -DcsvBaselineDir=. \
+ org.apache.qpid.disttest.charting.ChartingUtil \
+ chart-defs=chartdefs \
+ ${JDBC_DRIVER} ${JDBC_URL}