summaryrefslogtreecommitdiff
path: root/qpid/java/perftests/example
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2012-07-04 15:06:05 +0000
committerKeith Wall <kwall@apache.org>2012-07-04 15:06:05 +0000
commite40eb10fcbde6c1227d523befec06a64c4727f5f (patch)
tree26365896e4b12928c17c35f3d0339909027c81ae /qpid/java/perftests/example
parent021cb0af0cef02fbdd8132ce598f8663954dbdfc (diff)
downloadqpid-python-e40eb10fcbde6c1227d523befec06a64c4727f5f.tar.gz
QPID-4103: [Java Performance Tests] Allow specifying of test configuration with javascript
Applied patch from Oleksandr Rudyy <orudyy@gmail.com> and Philip Harvey <phil@philharveyonline.com>. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1357294 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/perftests/example')
-rw-r--r--qpid/java/perftests/example/perftests.js106
1 files changed, 106 insertions, 0 deletions
diff --git a/qpid/java/perftests/example/perftests.js b/qpid/java/perftests/example/perftests.js
new file mode 100644
index 0000000000..51160e7214
--- /dev/null
+++ b/qpid/java/perftests/example/perftests.js
@@ -0,0 +1,106 @@
+
+var jsonObject = {
+ _tests:[]
+};
+
+jsonObject._tests= jsonObject._tests.concat(
+ QPID.transform(
+ {
+ "_name": "Multiple clients: 1 consumer - 1 producer - PERSISTENT - message size=1024",
+ "_queues":[
+ {
+ "_name": "direct://amq.direct//varying-consumers?durable='true'",
+ "_durable": true,
+ "_attributes":
+ {
+ "x-qpid-capacity": 10485760,
+ "x-qpid-flow-resume-capacity": 8388608
+ }
+ }
+ ],
+ "_clients":[
+ {
+ "_name": "producingClient",
+ "_connections":[
+ {
+ "_name": "connection__INDEX_",
+ "_factory": "connectionfactory",
+ "_sessions": [
+ {
+ "_sessionName": "session__INDEX_",
+ "_acknowledgeMode": 1,
+ "_producers": [
+ {
+ "_name": "Producer__INDEX_",
+ "_destinationName": "direct://amq.direct//varying-consumers?durable='true'",
+ "_maximumDuration": 60000,
+ "_deliveryMode": 2,
+ "_messageSize": 1024
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "_name": "consumingClient",
+ "_connections":[
+ {
+ "_name": "connection__INDEX_",
+ "_factory": "connectionfactory",
+ "_sessions": [
+ {
+ "_sessionName": "session__INDEX_",
+ "_acknowledgeMode": 1,
+ "_consumers": [
+ {
+ "_name": "Consumer__INDEX_",
+ "_destinationName": "direct://amq.direct//varying-consumers?durable='true'",
+ "_maximumDuration": 60000
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ function(json)
+ {
+ var producerNumbers = [1, 2, 5, 10];
+ var consumerNumbers = [1, 2, 5, 10];
+ var results = [];
+ for( var i =0; i < producerNumbers.length; i++)
+ {
+ for( var j = 0; j < consumerNumbers.length; j++)
+ {
+ var test = QPID.cloneJSON(json);
+ test._name = "Multiple clients: " + consumerNumbers[j] + " consumer - " + producerNumbers[i] + " producer";
+ results.push(test);
+ test._clients[0]._connections = QPID.times(producerNumbers[i], test._clients[0]._connections[0], "__INDEX_")
+ test._clients[1]._connections = QPID.times(consumerNumbers[j], test._clients[1]._connections[0], "__INDEX_")
+ for (var k =0; k< consumerNumbers[j]; k++)
+ {
+ test._clients[1]._connections[k]._sessions[0]._consumers[0]._name = "consumer_" + k;
+ test._clients[1]._connections[k]._sessions[0]._sessionName = "session_" + k;
+ test._clients[1]._connections[k]._name = "connection_" + k;
+ test._clients[1]._connections[k]._sessions[0]._consumers[0]._maximumDuration = 30000;
+ }
+ for (var k =0; k< producerNumbers[i]; k++)
+ {
+ test._clients[0]._connections[k]._sessions[0]._producers[0]._name = "producer_" + k;
+ test._clients[0]._connections[k]._sessions[0]._sessionName = "session_" + k;
+ test._clients[0]._connections[k]._name = "connection_" + k;
+ test._clients[0]._connections[k]._sessions[0]._producers[0]._maximumDuration= 30000;
+ test._queues[0]._attributes["x-qpid-capacity"] = Math.round(10485760/producerNumbers[i]);
+ test._queues[0]._attributes["x-qpid-flow-resume-capacity"] = Math.round(8388608/producerNumbers[i]);
+ }
+ }
+ }
+ return results;
+ }
+ )
+);
+