summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/tests/perftest.cpp
diff options
context:
space:
mode:
authorCarl C. Trieloff <cctrieloff@apache.org>2007-11-12 14:02:14 +0000
committerCarl C. Trieloff <cctrieloff@apache.org>2007-11-12 14:02:14 +0000
commite8dc83933232bbdfa5ab59ad19a2acebb074aa54 (patch)
treec99fc22e179330a55efbb6e6064a23faad31986e /qpid/cpp/src/tests/perftest.cpp
parente2c3c3831e8e980bd7b9b423ca4e23d007a04e19 (diff)
downloadqpid-python-e8dc83933232bbdfa5ab59ad19a2acebb074aa54.tar.gz
-- added sync request
-- make queue durable if -- durable yes specified git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@594151 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests/perftest.cpp')
-rw-r--r--qpid/cpp/src/tests/perftest.cpp28
1 files changed, 24 insertions, 4 deletions
diff --git a/qpid/cpp/src/tests/perftest.cpp b/qpid/cpp/src/tests/perftest.cpp
index 8d970a0a6f..8e16844720 100644
--- a/qpid/cpp/src/tests/perftest.cpp
+++ b/qpid/cpp/src/tests/perftest.cpp
@@ -24,6 +24,7 @@
#include "qpid/client/Session_0_10.h"
#include "qpid/client/SubscriptionManager.h"
#include "qpid/client/Connection.h"
+#include "qpid/client/Completion.h"
#include "qpid/client/Message.h"
#include "qpid/sys/Time.h"
@@ -173,15 +174,22 @@ void PublishThread::run() {
sprintf(msgBuf, "%d", i);
session.messageTransfer(arg::destination=exchange(),
arg::content=msg);
- if (!opts.summary && (i%10000)==0) cout << "." << flush;
+ if (!opts.summary && (i%10000)==0){
+ cout << "." << flush;
+ session.execution().sendSyncRequest();
+ }
}
+ session.execution().sendSyncRequest();
+
+ //Completion compl;
if (!opts.summary) cout << " done." << endl;
msg.setData("done"); // Send done messages.
if (mode==SHARED)
for (int i = 0; i < opts.consumers; ++i)
- session.messageTransfer(arg::destination=exchange(), arg::content=msg);
+ session.messageTransfer(arg::destination=exchange(), arg::content=msg);
else
session.messageTransfer(arg::destination=exchange(), arg::content=msg);
+ session.execution().sendSyncRequest();
AbsTime end=now();
// Report
@@ -191,6 +199,16 @@ void PublishThread::run() {
<< "publish count:" << opts.count << endl
<< "publish secs:" << secs(start,end) << endl
<< "publish rate:" << publish_rate << endl;
+
+
+
+ // Report
+// end=now(); //compl.wait(); (wait for publish confirm of write if durable)
+// publish_rate=(opts.count)/secs(start,end);
+// if (!opts.summary)
+// cout << endl
+// << "synced secs:" << secs(start,end) << endl
+// << "synced rate:" << publish_rate << endl;
double consume_rate = 0; // Average rate for consumers.
// Wait for consumer(s) to finish.
@@ -247,7 +265,8 @@ void ListenThread::run() {
consumeQueue=session.getId().str(); // Unique name.
session.queueDeclare(arg::queue=consumeQueue,
arg::exclusive=true,
- arg::autoDelete=true);
+ arg::autoDelete=true,
+ arg::durable=opts.durable);
session.queueBind(arg::queue=consumeQueue,
arg::exchange=exchange(),
arg::routingKey="perftest");
@@ -263,8 +282,9 @@ void ListenThread::run() {
Message msg;
while ((msg=consume.pop()).getData() != "done") {
++consumed;
+
}
- msg.acknowledge(); // Ack all outstanding messages.
+ msg.acknowledge(); // Ack all outstanding messages -- ??
AbsTime end=now();
// Report to publisher.