diff options
| author | Phil Harvey <philharveyonline@apache.org> | 2013-02-23 15:17:42 +0000 |
|---|---|---|
| committer | Phil Harvey <philharveyonline@apache.org> | 2013-02-23 15:17:42 +0000 |
| commit | ee8380c8f9089e396c0fcaa12ebc3d16aab8f25e (patch) | |
| tree | 9f5500f581373c914a707aeafb8cf0c823d70cbb /qpid/java/perftests/etc | |
| parent | 35a5dcbeab7bd020dad9ad22c893b799341c444c (diff) | |
| download | qpid-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')
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} |
