summaryrefslogtreecommitdiff
path: root/qpid/java/perftests
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2012-09-21 12:34:44 +0000
committerKeith Wall <kwall@apache.org>2012-09-21 12:34:44 +0000
commitfc62a60d120f829c2a9c3c173fb4e0db3dfba633 (patch)
treed364964ed67abf6ffdb7331c42a69203f1533e88 /qpid/java/perftests
parent7baf23b894093bcf83fe396b34a37ddf4fd80997 (diff)
downloadqpid-python-fc62a60d120f829c2a9c3c173fb4e0db3dfba633.tar.gz
QPID-4338: [Java Performance Charts] Added descriptions to all charts; use consistent colours across all charts; use dotted series for baselines
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1388458 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/perftests')
-rw-r--r--qpid/java/perftests/etc/chartdefs/1001-MessageSize-Transient-ByteSec.chartdef5
-rw-r--r--qpid/java/perftests/etc/chartdefs/1002-MessageSize-Persistent-ByteSec.chartdef5
-rw-r--r--qpid/java/perftests/etc/chartdefs/1003-MessageSize-Transient-MsgSec.chartdef5
-rw-r--r--qpid/java/perftests/etc/chartdefs/1004-MessageSize-Persistent-MsgSec.chartdef5
-rw-r--r--qpid/java/perftests/etc/chartdefs/1011-VaryingNumberOfProducers-AutoAck.chartdef7
-rw-r--r--qpid/java/perftests/etc/chartdefs/1012-VaryingNumberOfConsumers-AutoAck.chartdef7
-rw-r--r--qpid/java/perftests/etc/chartdefs/1015-VaryingNumberOfProducers-SessionTrans.chartdef7
-rw-r--r--qpid/java/perftests/etc/chartdefs/1016-VaryingNumberOfConsumers-SessionTrans.chartdef7
-rw-r--r--qpid/java/perftests/etc/chartdefs/1021-AcknowledgementModes-Persistent.chartdef7
-rw-r--r--qpid/java/perftests/etc/chartdefs/1022-AcknowledgementModes-Transient.chartdef4
-rw-r--r--qpid/java/perftests/etc/chartdefs/1030-BatchSize.chartdef5
-rw-r--r--qpid/java/perftests/etc/chartdefs/1040-QueueTypes.chartdef4
-rw-r--r--qpid/java/perftests/etc/chartdefs/1050-VaryingNumberOfProducerSessionsSingleConnection.chartdef7
-rw-r--r--qpid/java/perftests/etc/chartdefs/1500-Topic-NumberOfConsumers.chartdef5
-rw-r--r--qpid/java/perftests/etc/chartdefs/1501-Topic-NumberOfTopics.chartdef5
-rw-r--r--qpid/java/perftests/etc/chartdefs/1502-Topic-Persistence.chartdef7
-rw-r--r--qpid/java/perftests/etc/chartdefs/1503-Topic-AckModes.chartdef7
-rw-r--r--qpid/java/perftests/etc/chartdefs/2001-Latency-MessageSize-Transient.chartdef6
-rw-r--r--qpid/java/perftests/etc/chartdefs/2002-Latency-MessageSize-Persistent.chartdef6
-rw-r--r--qpid/java/perftests/etc/chartdefs/2011-Latency-QueuesWithNonOverlappingSelectors-Transient.chartdef6
-rw-r--r--qpid/java/perftests/etc/chartdefs/2012-Latency-QueuesWithOverlappingSelectors-Transient.chartdef6
-rw-r--r--qpid/java/perftests/etc/chartdefs/2021-Latency-QueuesWithNonOverlappingSelectors-Persistent.chartdef6
-rw-r--r--qpid/java/perftests/etc/chartdefs/2022-Latency-QueuesWithOverlappingSelectors-Persistent.chartdef6
-rw-r--r--qpid/java/perftests/etc/chartdefs/2031-Latency-VaryingNumberOfParticipants.chartdef7
-rw-r--r--qpid/java/perftests/etc/chartdefs/2041-Latency-QueueTypes.chartdef6
-rw-r--r--qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/BaseChartBuilder.java28
-rw-r--r--qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/StatisticalBarCharBuilder.java18
-rw-r--r--qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/writer/ChartWriter.java2
-rw-r--r--qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/ChartWriterTest.java1
-rwxr-xr-xqpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/expected-chart-summary.html4
30 files changed, 187 insertions, 14 deletions
diff --git a/qpid/java/perftests/etc/chartdefs/1001-MessageSize-Transient-ByteSec.chartdef b/qpid/java/perftests/etc/chartdefs/1001-MessageSize-Transient-ByteSec.chartdef
index 757a396dff..5ce2d26ffe 100644
--- a/qpid/java/perftests/etc/chartdefs/1001-MessageSize-Transient-ByteSec.chartdef
+++ b/qpid/java/perftests/etc/chartdefs/1001-MessageSize-Transient-ByteSec.chartdef
@@ -20,13 +20,18 @@
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 (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/qpid/java/perftests/etc/chartdefs/1002-MessageSize-Persistent-ByteSec.chartdef b/qpid/java/perftests/etc/chartdefs/1002-MessageSize-Persistent-ByteSec.chartdef
index 58c280e227..4b9ce0b85b 100644
--- a/qpid/java/perftests/etc/chartdefs/1002-MessageSize-Persistent-ByteSec.chartdef
+++ b/qpid/java/perftests/etc/chartdefs/1002-MessageSize-Persistent-ByteSec.chartdef
@@ -20,13 +20,18 @@
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 (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/qpid/java/perftests/etc/chartdefs/1003-MessageSize-Transient-MsgSec.chartdef b/qpid/java/perftests/etc/chartdefs/1003-MessageSize-Transient-MsgSec.chartdef
index 2d61dc6ac9..7f18fcc986 100644
--- a/qpid/java/perftests/etc/chartdefs/1003-MessageSize-Transient-MsgSec.chartdef
+++ b/qpid/java/perftests/etc/chartdefs/1003-MessageSize-Transient-MsgSec.chartdef
@@ -20,13 +20,18 @@
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/qpid/java/perftests/etc/chartdefs/1004-MessageSize-Persistent-MsgSec.chartdef b/qpid/java/perftests/etc/chartdefs/1004-MessageSize-Persistent-MsgSec.chartdef
index 9cc0ddfe7e..667be044bc 100644
--- a/qpid/java/perftests/etc/chartdefs/1004-MessageSize-Persistent-MsgSec.chartdef
+++ b/qpid/java/perftests/etc/chartdefs/1004-MessageSize-Persistent-MsgSec.chartdef
@@ -20,13 +20,18 @@
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/qpid/java/perftests/etc/chartdefs/1011-VaryingNumberOfProducers-AutoAck.chartdef b/qpid/java/perftests/etc/chartdefs/1011-VaryingNumberOfProducers-AutoAck.chartdef
index 58441c3044..b3038c1671 100644
--- a/qpid/java/perftests/etc/chartdefs/1011-VaryingNumberOfProducers-AutoAck.chartdef
+++ b/qpid/java/perftests/etc/chartdefs/1011-VaryingNumberOfProducers-AutoAck.chartdef
@@ -20,21 +20,28 @@
chartType=XYLINE
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 (messages/s)
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, 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, 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, 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/qpid/java/perftests/etc/chartdefs/1012-VaryingNumberOfConsumers-AutoAck.chartdef b/qpid/java/perftests/etc/chartdefs/1012-VaryingNumberOfConsumers-AutoAck.chartdef
index 4eec862e31..d1f3d6e9a4 100644
--- a/qpid/java/perftests/etc/chartdefs/1012-VaryingNumberOfConsumers-AutoAck.chartdef
+++ b/qpid/java/perftests/etc/chartdefs/1012-VaryingNumberOfConsumers-AutoAck.chartdef
@@ -20,21 +20,28 @@
chartType=XYLINE
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 (messages/s)
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, 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, 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, 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/qpid/java/perftests/etc/chartdefs/1015-VaryingNumberOfProducers-SessionTrans.chartdef b/qpid/java/perftests/etc/chartdefs/1015-VaryingNumberOfProducers-SessionTrans.chartdef
index c57770907c..42ba6f8f20 100644
--- a/qpid/java/perftests/etc/chartdefs/1015-VaryingNumberOfProducers-SessionTrans.chartdef
+++ b/qpid/java/perftests/etc/chartdefs/1015-VaryingNumberOfProducers-SessionTrans.chartdef
@@ -20,21 +20,28 @@
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/qpid/java/perftests/etc/chartdefs/1016-VaryingNumberOfConsumers-SessionTrans.chartdef b/qpid/java/perftests/etc/chartdefs/1016-VaryingNumberOfConsumers-SessionTrans.chartdef
index 5f3cac5645..0afd162ad0 100644
--- a/qpid/java/perftests/etc/chartdefs/1016-VaryingNumberOfConsumers-SessionTrans.chartdef
+++ b/qpid/java/perftests/etc/chartdefs/1016-VaryingNumberOfConsumers-SessionTrans.chartdef
@@ -20,21 +20,28 @@
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/qpid/java/perftests/etc/chartdefs/1021-AcknowledgementModes-Persistent.chartdef b/qpid/java/perftests/etc/chartdefs/1021-AcknowledgementModes-Persistent.chartdef
index 8034373adc..827f8b5567 100644
--- a/qpid/java/perftests/etc/chartdefs/1021-AcknowledgementModes-Persistent.chartdef
+++ b/qpid/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 (messages/s)
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, 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/qpid/java/perftests/etc/chartdefs/1022-AcknowledgementModes-Transient.chartdef b/qpid/java/perftests/etc/chartdefs/1022-AcknowledgementModes-Transient.chartdef
index 130d434a3e..8ca5d838e2 100644
--- a/qpid/java/perftests/etc/chartdefs/1022-AcknowledgementModes-Transient.chartdef
+++ b/qpid/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 (messages/s)
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, 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/qpid/java/perftests/etc/chartdefs/1030-BatchSize.chartdef b/qpid/java/perftests/etc/chartdefs/1030-BatchSize.chartdef
index 8b8ff05f7d..17d15fbf81 100644
--- a/qpid/java/perftests/etc/chartdefs/1030-BatchSize.chartdef
+++ b/qpid/java/perftests/etc/chartdefs/1030-BatchSize.chartdef
@@ -20,14 +20,19 @@
chartType=XYLINE
chartTitle=Transaction Batch Size
chartSubtitle=Persistent 1KB messages
+chartDescription=1P 1C, persistent, transacted with message payload 1KB and batch sizes 1-100 messages
+
xAxisTitle=Batch Size
yAxisTitle=Throughput (messages/s)
series.1.statement=SELECT batchSize, throughputMessagesPerS FROM BatchSize WHERE participantName = 'All'
series.1.legend=Current
series.1.dir=${csvCurrentDir}
+series.1.colourName=red
series.2.statement=SELECT batchSize, throughputMessagesPerS FROM BatchSize WHERE participantName = 'All'
series.2.legend=Baseline
series.2.dir=${csvBaselineDir}
+series.2.colourName=dark_red
+series.2.strokeWidth=-1
diff --git a/qpid/java/perftests/etc/chartdefs/1040-QueueTypes.chartdef b/qpid/java/perftests/etc/chartdefs/1040-QueueTypes.chartdef
index 90ccc7dd20..aacedab421 100644
--- a/qpid/java/perftests/etc/chartdefs/1040-QueueTypes.chartdef
+++ b/qpid/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 (messages/s)
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, throughputMessagesPerS FROM QueueTypes WHERE participantName = 'All'
series.2.legend=Baseline
series.2.dir=${csvBaselineDir}
+series.2.colourName=dark_red
diff --git a/qpid/java/perftests/etc/chartdefs/1050-VaryingNumberOfProducerSessionsSingleConnection.chartdef b/qpid/java/perftests/etc/chartdefs/1050-VaryingNumberOfProducerSessionsSingleConnection.chartdef
index e9dd195392..86b5496973 100644
--- a/qpid/java/perftests/etc/chartdefs/1050-VaryingNumberOfProducerSessionsSingleConnection.chartdef
+++ b/qpid/java/perftests/etc/chartdefs/1050-VaryingNumberOfProducerSessionsSingleConnection.chartdef
@@ -20,6 +20,7 @@
chartType=XYLINE
chartTitle=Varying number of producer sessions on single connection
chartSubtitle=Persistent messages (1024b)
+chartDescription=1-80P on single connection, 20C on separate connections, persistent, transacted with message payload 1KB.
xAxisTitle=Number of producer sessions
yAxisTitle=Throughput (KB/s)
@@ -28,15 +29,21 @@ yAxisTitle=Throughput (KB/s)
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/qpid/java/perftests/etc/chartdefs/1500-Topic-NumberOfConsumers.chartdef b/qpid/java/perftests/etc/chartdefs/1500-Topic-NumberOfConsumers.chartdef
index cb3efc7312..78fb37fe56 100644
--- a/qpid/java/perftests/etc/chartdefs/1500-Topic-NumberOfConsumers.chartdef
+++ b/qpid/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, auto-ack with message payload 1KB.
+
xAxisTitle=Numer of consumers
yAxisTitle=Throughput (messages/s)
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 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/qpid/java/perftests/etc/chartdefs/1501-Topic-NumberOfTopics.chartdef b/qpid/java/perftests/etc/chartdefs/1501-Topic-NumberOfTopics.chartdef
index 4d4bf7c1db..b6235b912c 100644
--- a/qpid/java/perftests/etc/chartdefs/1501-Topic-NumberOfTopics.chartdef
+++ b/qpid/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, auto-ack, with each PC pair having own topic, message payload 1KB.
+
xAxisTitle=Numer of topics
yAxisTitle=Throughput (messages/s)
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 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/qpid/java/perftests/etc/chartdefs/1502-Topic-Persistence.chartdef b/qpid/java/perftests/etc/chartdefs/1502-Topic-Persistence.chartdef
index 170a730bdc..90e3c58b9c 100644
--- a/qpid/java/perftests/etc/chartdefs/1502-Topic-Persistence.chartdef
+++ b/qpid/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
+chartDescription=1P 10C, auto-ack, message payload 1KB, transient messages on non-durable sub, persistent messages on durable sub
+
+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, 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/qpid/java/perftests/etc/chartdefs/1503-Topic-AckModes.chartdef b/qpid/java/perftests/etc/chartdefs/1503-Topic-AckModes.chartdef
index 65321f5293..9edb1950a4 100644
--- a/qpid/java/perftests/etc/chartdefs/1503-Topic-AckModes.chartdef
+++ b/qpid/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
+chartDescription=1P 10C, transient, non-durable subscription, message payload 1KB
+
+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, 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/qpid/java/perftests/etc/chartdefs/2001-Latency-MessageSize-Transient.chartdef b/qpid/java/perftests/etc/chartdefs/2001-Latency-MessageSize-Transient.chartdef
index c892ea16cf..67a0278bff 100644
--- a/qpid/java/perftests/etc/chartdefs/2001-Latency-MessageSize-Transient.chartdef
+++ b/qpid/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/qpid/java/perftests/etc/chartdefs/2002-Latency-MessageSize-Persistent.chartdef b/qpid/java/perftests/etc/chartdefs/2002-Latency-MessageSize-Persistent.chartdef
index 167e62603a..e9761f07d8 100644
--- a/qpid/java/perftests/etc/chartdefs/2002-Latency-MessageSize-Persistent.chartdef
+++ b/qpid/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/qpid/java/perftests/etc/chartdefs/2011-Latency-QueuesWithNonOverlappingSelectors-Transient.chartdef b/qpid/java/perftests/etc/chartdefs/2011-Latency-QueuesWithNonOverlappingSelectors-Transient.chartdef
index 45c6031b1e..af79634abd 100644
--- a/qpid/java/perftests/etc/chartdefs/2011-Latency-QueuesWithNonOverlappingSelectors-Transient.chartdef
+++ b/qpid/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 between 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/qpid/java/perftests/etc/chartdefs/2012-Latency-QueuesWithOverlappingSelectors-Transient.chartdef b/qpid/java/perftests/etc/chartdefs/2012-Latency-QueuesWithOverlappingSelectors-Transient.chartdef
index 351a4639b1..2dcc150911 100644
--- a/qpid/java/perftests/etc/chartdefs/2012-Latency-QueuesWithOverlappingSelectors-Transient.chartdef
+++ b/qpid/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 between 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/qpid/java/perftests/etc/chartdefs/2021-Latency-QueuesWithNonOverlappingSelectors-Persistent.chartdef b/qpid/java/perftests/etc/chartdefs/2021-Latency-QueuesWithNonOverlappingSelectors-Persistent.chartdef
index 9d95075b3d..64da668425 100644
--- a/qpid/java/perftests/etc/chartdefs/2021-Latency-QueuesWithNonOverlappingSelectors-Persistent.chartdef
+++ b/qpid/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 between 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/qpid/java/perftests/etc/chartdefs/2022-Latency-QueuesWithOverlappingSelectors-Persistent.chartdef b/qpid/java/perftests/etc/chartdefs/2022-Latency-QueuesWithOverlappingSelectors-Persistent.chartdef
index 9a323d4044..856d47a569 100644
--- a/qpid/java/perftests/etc/chartdefs/2022-Latency-QueuesWithOverlappingSelectors-Persistent.chartdef
+++ b/qpid/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 between 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/qpid/java/perftests/etc/chartdefs/2031-Latency-VaryingNumberOfParticipants.chartdef b/qpid/java/perftests/etc/chartdefs/2031-Latency-VaryingNumberOfParticipants.chartdef
index 82cf1168ef..d52b05d870 100644
--- a/qpid/java/perftests/etc/chartdefs/2031-Latency-VaryingNumberOfParticipants.chartdef
+++ b/qpid/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/qpid/java/perftests/etc/chartdefs/2041-Latency-QueueTypes.chartdef b/qpid/java/perftests/etc/chartdefs/2041-Latency-QueueTypes.chartdef
index c1aae19376..9698ad4b30 100644
--- a/qpid/java/perftests/etc/chartdefs/2041-Latency-QueueTypes.chartdef
+++ b/qpid/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 random keys, Priority - 200 random 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/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/BaseChartBuilder.java b/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/BaseChartBuilder.java
index 0be86fc747..2fe30bb751 100644
--- a/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/BaseChartBuilder.java
+++ b/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/BaseChartBuilder.java
@@ -52,11 +52,33 @@ public abstract class BaseChartBuilder implements ChartBuilder
}
if (seriesDefinition.getStrokeWidth() != null)
{
- stokeAndPaintAccessor.setSeriesStroke(i, new BasicStroke(seriesDefinition.getStrokeWidth()));
+ // Negative width used to signify dashed
+ boolean dashed = seriesDefinition.getStrokeWidth() < 0;
+ float width = Math.abs(seriesDefinition.getStrokeWidth());
+ BasicStroke stroke = buildStrokeOfWidth(width, dashed);
+ stokeAndPaintAccessor.setSeriesStroke(i, stroke);
}
}
}
+ public abstract JFreeChart createChartImpl(String title, String xAxisTitle,
+ String yAxisTitle, final Dataset dataset, PlotOrientation plotOrientation, boolean showLegend, boolean showToolTips,
+ boolean showUrls);
+
+ private BasicStroke buildStrokeOfWidth(float width, boolean dashed)
+ {
+ final BasicStroke stroke;
+ if (dashed)
+ {
+ stroke = new BasicStroke(width, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 1.0f, new float[] {5.0f, 3.0f}, 0.0f);
+ }
+ else
+ {
+ stroke = new BasicStroke(width, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);
+ }
+ return stroke;
+ }
+
private void addSubtitle(JFreeChart chart, ChartingDefinition chartingDefinition)
{
if (chartingDefinition.getChartSubtitle() != null)
@@ -70,8 +92,4 @@ public abstract class BaseChartBuilder implements ChartBuilder
chart.setBackgroundPaint(BLUE_GRADIENT);
}
- public abstract JFreeChart createChartImpl(String title, String xAxisTitle,
- String yAxisTitle, final Dataset dataset, PlotOrientation plotOrientation, boolean showLegend, boolean showToolTips,
- boolean showUrls);
-
}
diff --git a/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/StatisticalBarCharBuilder.java b/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/StatisticalBarCharBuilder.java
index 86c3f62e09..40a8b31b87 100644
--- a/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/StatisticalBarCharBuilder.java
+++ b/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/StatisticalBarCharBuilder.java
@@ -20,7 +20,9 @@
*/
package org.apache.qpid.disttest.charting.chartbuilder;
+import java.awt.Color;
import java.awt.Font;
+import java.awt.Stroke;
import org.apache.qpid.disttest.charting.definition.ChartingDefinition;
import org.apache.qpid.disttest.charting.definition.SeriesDefinition;
@@ -84,12 +86,26 @@ public class StatisticalBarCharBuilder extends BaseChartBuilder
_seriesBuilder.build(chartingDefinition.getSeries());
- JFreeChart chart = createChartImpl(title, xAxisTitle, yAxisTitle, dataset, PLOT_ORIENTATION, SHOW_LEGEND,
+ final JFreeChart chart = createChartImpl(title, xAxisTitle, yAxisTitle, dataset, PLOT_ORIENTATION, SHOW_LEGEND,
SHOW_TOOL_TIPS, SHOW_URLS);
chart.getCategoryPlot().getDomainAxis().setCategoryLabelPositions(CategoryLabelPositions.UP_45);
addCommonChartAttributes(chart, chartingDefinition);
+ addSeriesAttributes(chartingDefinition.getSeries(), new SeriesStokeAndPaintAccessor()
+ {
+ @Override
+ public void setSeriesStroke(int seriesIndex, Stroke stroke)
+ {
+ chart.getCategoryPlot().getRenderer().setSeriesStroke(seriesIndex, stroke);
+ }
+
+ @Override
+ public void setSeriesPaint(int seriesIndex, Color colour)
+ {
+ chart.getCategoryPlot().getRenderer().setSeriesPaint(seriesIndex, colour);
+ }
+ });
return chart;
}
diff --git a/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/writer/ChartWriter.java b/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/writer/ChartWriter.java
index c5958a4914..69997a051c 100644
--- a/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/writer/ChartWriter.java
+++ b/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/writer/ChartWriter.java
@@ -118,8 +118,8 @@ public class ChartWriter
for (File chartFile : _chartFilesToChartDef.keySet())
{
ChartingDefinition def = _chartFilesToChartDef.get(chartFile);
- writer.write(" <a name='" + chartFile.getName() + "'/>\n");
writer.write(" <figure>\n");
+ writer.write(" <a name='" + chartFile.getName() + "'/>\n");
writer.write(" <img src='" + chartFile.getName() + "'/>\n");
if (def.getChartDescription() != null)
{
diff --git a/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/ChartWriterTest.java b/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/ChartWriterTest.java
index 70998fec0c..b515e70f2c 100644
--- a/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/ChartWriterTest.java
+++ b/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/ChartWriterTest.java
@@ -36,7 +36,6 @@ import org.apache.qpid.test.utils.TestFileUtils;
import org.apache.qpid.util.FileUtils;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
-import org.jfree.chart.servlet.ChartDeleter;
import org.jfree.data.general.DefaultPieDataset;
public class ChartWriterTest extends TestCase
diff --git a/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/expected-chart-summary.html b/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/expected-chart-summary.html
index 4b9c2d1713..e7dadcb05b 100755
--- a/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/expected-chart-summary.html
+++ b/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/expected-chart-summary.html
@@ -8,13 +8,13 @@
<li><a href='#chart1.png'>chart1.png</a></li>
<li><a href='#chart2.png'>chart2.png</a></li>
</ul>
- <a name='chart1.png'/>
<figure>
+ <a name='chart1.png'/>
<img src='chart1.png'/>
<figcaption>chart description1</figcaption>
</figure>
- <a name='chart2.png'/>
<figure>
+ <a name='chart2.png'/>
<img src='chart2.png'/>
</figure>
</body>