summaryrefslogtreecommitdiff
path: root/qpid/cpp/src
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2010-04-21 14:49:06 +0000
committerAlan Conway <aconway@apache.org>2010-04-21 14:49:06 +0000
commit471114cb67d6b29a03971f4fa2083508da18e802 (patch)
treebc97231269c103fc442c576208b214b3c7b3ac12 /qpid/cpp/src
parentc0d39fa7f5075054e598e61bbea140d08648c40d (diff)
downloadqpid-python-471114cb67d6b29a03971f4fa2083508da18e802.tar.gz
qpid_send: make serialno & timestamp optional.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@936338 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src')
-rwxr-xr-xqpid/cpp/src/tests/qpid_cpp_benchmark8
-rw-r--r--qpid/cpp/src/tests/qpid_send.cpp20
2 files changed, 19 insertions, 9 deletions
diff --git a/qpid/cpp/src/tests/qpid_cpp_benchmark b/qpid/cpp/src/tests/qpid_cpp_benchmark
index cb53146006..7f9e5ce393 100755
--- a/qpid/cpp/src/tests/qpid_cpp_benchmark
+++ b/qpid/cpp/src/tests/qpid_cpp_benchmark
@@ -36,7 +36,7 @@ op.add_option("-m", "--messages", default=100000, type="int", metavar="N",
help="send N messages per sender (default %default)")
op.add_option("--queue-name", default="benchmark",
help="base name for queues (default %default)")
-op.add_option("--rate", default=0, metavar="R",
+op.add_option("--send-rate", default=0, metavar="R",
help="send rate limited to R messages/second, 0 means no limit (default %default)")
op.add_option("--content-size", default=1024, type="int", metavar="BYTES",
help="message size in bytes (default %default)")
@@ -49,6 +49,8 @@ op.add_option("--send-option", default=[], action="append", type="str",
help="Additional option for sending addresses")
op.add_option("--receive-option", default=[], action="append", type="str",
help="Additional option for receiving addresses")
+op.add_option("--no-timestamp", dest="timestamp", default=True,
+ action="store_false", help="don't add a timestamp, no latency results")
def start_receive(queue, opts, ready_queue):
address="%s;{%s}"%(queue,",".join(["create:always"]+opts.receive_option))
@@ -72,9 +74,11 @@ def start_send(queue, opts):
"--messages", str(opts.messages),
"--send-eos", str(opts.receivers),
"--content-size", str(opts.content_size),
- "--rate", str(opts.rate),
+ "--send-rate", str(opts.send_rate),
"--report-total",
"--report-header=no",
+ "--timestamp=%s"%(opts.timestamp and "yes" or "no"),
+ "--sequence=no",
],
stdout=PIPE, stderr=STDOUT)
diff --git a/qpid/cpp/src/tests/qpid_send.cpp b/qpid/cpp/src/tests/qpid_send.cpp
index 27f9b667c6..b3ca99799b 100644
--- a/qpid/cpp/src/tests/qpid_send.cpp
+++ b/qpid/cpp/src/tests/qpid_send.cpp
@@ -70,7 +70,9 @@ struct Options : public qpid::Options
bool reportTotal;
uint reportEvery;
bool reportHeader;
- uint rate;
+ uint sendRate;
+ bool sequence;
+ bool timestamp;
Options(const std::string& argv0=std::string())
: qpid::Options("Options"),
@@ -91,7 +93,9 @@ struct Options : public qpid::Options
reportTotal(false),
reportEvery(0),
reportHeader(true),
- rate(0)
+ sendRate(0),
+ sequence(true),
+ timestamp(true)
{
addOptions()
("broker,b", qpid::optValue(url, "URL"), "url of broker to connect to")
@@ -117,7 +121,9 @@ struct Options : public qpid::Options
("report-total", qpid::optValue(reportTotal), "Report total throughput statistics")
("report-every", qpid::optValue(reportEvery,"N"), "Report throughput statistics every N messages")
("report-header", qpid::optValue(reportHeader, "yes|no"), "Headers on report.")
- ("rate", qpid::optValue(rate,"N"), "Send at rate of N messages/second. 0 means send as fast as possible.")
+ ("send-rate", qpid::optValue(sendRate,"N"), "Send at rate of N messages/second. 0 means send as fast as possible.")
+ ("sequence", qpid::optValue(sequence, "yes|no"), "Add a sequence number messages property (required for duplicate/lost message detection)")
+ ("timestamp", qpid::optValue(sequence, "yes|no"), "Add a time stamp messages property (required for latency measurement)")
("help", qpid::optValue(help), "print this usage statement");
add(log);
}
@@ -277,11 +283,11 @@ int main(int argc, char ** argv)
qpid::sys::AbsTime start = qpid::sys::now();
int64_t interval = 0;
- if (opts.rate) interval = qpid::sys::TIME_SEC/opts.rate;
+ if (opts.sendRate) interval = qpid::sys::TIME_SEC/opts.sendRate;
while (contentGen->setContent(msg)) {
- msg.getProperties()[SN] = ++sent;
- msg.getProperties()[TS] = int64_t(
+ if (opts.sequence) msg.getProperties()[SN] = ++sent;
+ if (opts.timestamp) msg.getProperties()[TS] = int64_t(
qpid::sys::Duration(qpid::sys::EPOCH, qpid::sys::now()));
sender.send(msg);
reporter.message(msg);
@@ -293,7 +299,7 @@ int main(int argc, char ** argv)
session.commit();
}
if (opts.messages && sent >= opts.messages) break;
- if (opts.rate) {
+ if (opts.sendRate) {
qpid::sys::AbsTime waitTill(start, sent*interval);
int64_t delay = qpid::sys::Duration(qpid::sys::now(), waitTill);
if (delay > 0)