summaryrefslogtreecommitdiff
path: root/qpid/java/perftests/etc
diff options
context:
space:
mode:
authorPhil Harvey <philharveyonline@apache.org>2013-02-23 15:17:42 +0000
committerPhil Harvey <philharveyonline@apache.org>2013-02-23 15:17:42 +0000
commitee8380c8f9089e396c0fcaa12ebc3d16aab8f25e (patch)
tree9f5500f581373c914a707aeafb8cf0c823d70cbb /qpid/java/perftests/etc
parent35a5dcbeab7bd020dad9ad22c893b799341c444c (diff)
downloadqpid-python-ee8380c8f9089e396c0fcaa12ebc3d16aab8f25e.tar.gz
QPID-4597: Java performance tests now support visualisation of timeseries data.
Refactored ChartBuilder hierarchy to reduce duplication, and renamed several classes to make them more intuitive. Added timeseries chart definitions in perftests/etc/c/timeseries/. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1449342 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/perftests/etc')
-rw-r--r--qpid/java/perftests/etc/chartdefs/timeseries/1001-Large-Messages-Transient.chartdef29
-rw-r--r--qpid/java/perftests/etc/chartdefs/timeseries/1002-Large-Messages-Persistent.chartdef29
-rw-r--r--qpid/java/perftests/etc/chartdefs/timeseries/1011-MultipleProducersAndConsumers-Persistent.chartdef30
-rw-r--r--qpid/java/perftests/etc/chartdefs/timeseries/1030-Batch-Size-Small.chartdef30
-rw-r--r--qpid/java/perftests/etc/chartdefs/timeseries/1031-Batch-Size-Large.chartdef30
-rw-r--r--qpid/java/perftests/etc/chartdefs/timeseries/1040-SortedQueue.chartdef30
-rwxr-xr-xqpid/java/perftests/etc/visualisation-timeseries.sh33
7 files changed, 211 insertions, 0 deletions
diff --git a/qpid/java/perftests/etc/chartdefs/timeseries/1001-Large-Messages-Transient.chartdef b/qpid/java/perftests/etc/chartdefs/timeseries/1001-Large-Messages-Transient.chartdef
new file mode 100644
index 0000000000..e77f7b4eff
--- /dev/null
+++ b/qpid/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/qpid/java/perftests/etc/chartdefs/timeseries/1002-Large-Messages-Persistent.chartdef b/qpid/java/perftests/etc/chartdefs/timeseries/1002-Large-Messages-Persistent.chartdef
new file mode 100644
index 0000000000..ffcf8c26b8
--- /dev/null
+++ b/qpid/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/qpid/java/perftests/etc/chartdefs/timeseries/1011-MultipleProducersAndConsumers-Persistent.chartdef b/qpid/java/perftests/etc/chartdefs/timeseries/1011-MultipleProducersAndConsumers-Persistent.chartdef
new file mode 100644
index 0000000000..ba01d4b7ad
--- /dev/null
+++ b/qpid/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/qpid/java/perftests/etc/chartdefs/timeseries/1030-Batch-Size-Small.chartdef b/qpid/java/perftests/etc/chartdefs/timeseries/1030-Batch-Size-Small.chartdef
new file mode 100644
index 0000000000..f755bf4a5b
--- /dev/null
+++ b/qpid/java/perftests/etc/chartdefs/timeseries/1030-Batch-Size-Small.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
+chartSubtitle=Persistent 1KB messages
+chartDescription=1P 1C, persistent, transacted with message payload 1KB with batch size 1 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 1-1 - PERSISTENT'
+series.1.colourName=red
+series.1.legend=Throughput \ No newline at end of file
diff --git a/qpid/java/perftests/etc/chartdefs/timeseries/1031-Batch-Size-Large.chartdef b/qpid/java/perftests/etc/chartdefs/timeseries/1031-Batch-Size-Large.chartdef
new file mode 100644
index 0000000000..ca390f8226
--- /dev/null
+++ b/qpid/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/qpid/java/perftests/etc/chartdefs/timeseries/1040-SortedQueue.chartdef b/qpid/java/perftests/etc/chartdefs/timeseries/1040-SortedQueue.chartdef
new file mode 100644
index 0000000000..6dce3a1a77
--- /dev/null
+++ b/qpid/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/qpid/java/perftests/etc/visualisation-timeseries.sh b/qpid/java/perftests/etc/visualisation-timeseries.sh
new file mode 100755
index 0000000000..32db2cb010
--- /dev/null
+++ b/qpid/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}