You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2010/04/21 16:49:06 UTC

svn commit: r936338 - in /qpid/trunk/qpid/cpp/src/tests: qpid_cpp_benchmark qpid_send.cpp

Author: aconway
Date: Wed Apr 21 14:49:06 2010
New Revision: 936338

URL: http://svn.apache.org/viewvc?rev=936338&view=rev
Log:
qpid_send: make serialno & timestamp optional.

Modified:
    qpid/trunk/qpid/cpp/src/tests/qpid_cpp_benchmark
    qpid/trunk/qpid/cpp/src/tests/qpid_send.cpp

Modified: qpid/trunk/qpid/cpp/src/tests/qpid_cpp_benchmark
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/qpid_cpp_benchmark?rev=936338&r1=936337&r2=936338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/qpid_cpp_benchmark (original)
+++ qpid/trunk/qpid/cpp/src/tests/qpid_cpp_benchmark Wed Apr 21 14:49:06 2010
@@ -36,7 +36,7 @@ op.add_option("-m", "--messages", defaul
                       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=[
               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)
 

Modified: qpid/trunk/qpid/cpp/src/tests/qpid_send.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/qpid_send.cpp?rev=936338&r1=936337&r2=936338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/qpid_send.cpp (original)
+++ qpid/trunk/qpid/cpp/src/tests/qpid_send.cpp Wed Apr 21 14:49:06 2010
@@ -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)



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org