[
https://issues.apache.org/jira/browse/QPID-3417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13125952#comment-13125952
]
[email protected] commented on QPID-3417:
-----------------------------------------------------
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2335/
-----------------------------------------------------------
(Updated 2011-10-12 16:15:37.240703)
Review request for qpid, Gordon Sim and Ted Ross.
Changes
-------
A complete patch, including additional tests.
The performance does drop as expected when enabled, but the perf when disabled
does not appear to degenerate from current trunk.
Patch w/o timestamping enabled:
[root@mrg44 tests]# qpid-cpp-benchmark --repeat=5 --summarize --messages=5000000
send-tp recv-tp l-min l-max l-avg
68834 68794 0.18 47.48 3.77
69200 69158 0.20 59.15 4.14
69116 69074 0.16 44.76 3.77
69273 69270 0.19 120.19 4.62
68360 68320 0.17 59.79 3.96
And enabled:
[root@mrg44 src]# ./qpidd -d --auth no --enable-timestamp=yes
[root@mrg44 src]# ps aux | grep qpidd
root 19248 0.0 0.0 135624 3544 ? Ssl 11:59 0:00
/root/kgiusti/qpid/cpp/src/.libs/lt-qpidd -d --auth no --enable-timestamp=yes
root 19259 0.0 0.0 61180 772 pts/0 S+ 11:59 0:00 grep qpidd
[root@mrg44 src]# qpid-cpp-benchmark --repeat=5 --summarize --messages=5000000
send-tp recv-tp l-min l-max l-avg
65561 65523 0.19 43.84 3.88
64773 64739 0.17 43.86 4.06
66266 66225 0.19 142.72 5.48
64238 64203 0.18 43.09 4.29
66369 66333 0.17 70.70 4.23
Summary
-------
A slight deviation from the design originally proposed in QPID-3417 - this
change adds the timestamp delivery property to messages using the relatively
simple approach as described in AMQP-0.10.
Other than the approach itself, the QMF management interface & schema changes
seem like I could be guilty of overkill - I'd like feedback before I go too far
down that hole...
This addresses bug qpid-3417.
https://issues.apache.org/jira/browse/qpid-3417
Diffs (updated)
-----
/trunk/qpid/cpp/src/qpid/broker/Broker.h 1182419
/trunk/qpid/cpp/src/qpid/broker/Broker.cpp 1182419
/trunk/qpid/cpp/src/qpid/broker/Message.h 1182419
/trunk/qpid/cpp/src/qpid/broker/Message.cpp 1182419
/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp 1182419
/trunk/qpid/cpp/src/qpid/broker/SessionState.cpp 1182419
/trunk/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp 1182419
/trunk/qpid/cpp/src/qpid/management/ManagementAgent.cpp 1182419
/trunk/qpid/cpp/src/tests/BrokerOptions.cpp PRE-CREATION
/trunk/qpid/cpp/src/tests/Makefile.am 1182419
/trunk/qpid/cpp/src/tests/QueueTest.cpp 1182419
/trunk/qpid/cpp/src/tests/acl.py 1182419
/trunk/qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFService.java
1182419
/trunk/qpid/specs/management-schema.xml 1182419
/trunk/qpid/tests/src/py/qpid_tests/broker_0_10/management.py 1182419
Diff: https://reviews.apache.org/r/2335/diff
Testing
-------
One unit test to verify the timestamp is being added. No dynamic control via
mgmt yet.
Simple perf testing didn't seem like the hit wasn't too bad so far:
Pre patch, from trunk:
[root@mrg44 tests]# qpid-cpp-benchmark --repeat=5 --summarize --messages=5000000
send-tp recv-tp l-min l-max l-avg
68428 68388 0.16 69.59 4.16
68238 68201 0.17 44.18 3.82
68622 68581 0.16 102.52 4.60
68688 68647 0.18 117.33 5.29
69142 69104 0.19 103.30 4.50
Patched, no timestamping:
[root@mrg44 src]# qpid-cpp-benchmark --repeat=5 --summarize --messages=5000000
send-tp recv-tp l-min l-max l-avg
67543 67471 0.17 79.76 4.37
69069 69028 0.15 42.92 3.78
68481 68439 0.17 45.91 3.98
68674 68636 0.18 41.30 3.74
67588 67587 0.17 60.23 4.21
Patched, timestamping enabled:
[root@mrg44 src]# qpid-cpp-benchmark --repeat=5 --summarize --messages=5000000
send-tp recv-tp l-min l-max l-avg
67228 67227 0.21 41.80 3.97
67697 67659 0.19 43.01 4.19
67405 67368 0.19 101.61 4.99
66515 66511 0.15 41.85 4.10
67664 67622 0.17 47.35 4.01
Thanks,
Kenneth
> Support for timestamping messages on arrival at the broker.
> -----------------------------------------------------------
>
> Key: QPID-3417
> URL: https://issues.apache.org/jira/browse/QPID-3417
> Project: Qpid
> Issue Type: New Feature
> Components: C++ Broker
> Affects Versions: 0.13
> Reporter: Ken Giusti
> Assignee: Ken Giusti
> Priority: Minor
> Fix For: 0.14
>
>
> AMQP 0.10 defines an optional message delivery property of timestamp:
> name: timestamp
> type: datetime
> description: message timestamp
> (optional) The timestamp is set by the broker on arrival of the message.
> I'd like to make use of this timestamp for a proposed debugging feature for
> message groups. See the message groups UI proposal in
> https://issues.apache.org/jira/browse/QPID-3346 for details of its use.
> I think it would more useful to introduce a generic message timestamp
> capability based on the AMQP 0.10 delivery property, rather than integrate
> something limited only to message groups.
> Functional Model:
> The broker would support the configuration of a "timestamp interval". This
> interval would be expressed in millisecond units, and would represent the
> granularity of the message timestamp. The default setting of this interval
> would be zero - which would be interpreted as disabled. When enabled
> (non-zero) the broker would maintain a time-of-day time stamp. This time
> stamp would be updated (resync'ed to the current time-of-day) periodically
> based on the configured "timestamp interval".
> When enabled, each message arriving at the broker will have the "timestamp"
> delivery property set to the current value of the broker's time stamp.
> This feature will need to be able to be turned on and off on demand, without
> restarting the broker. Therefore new QMF methods would be added to the
> broker's QMF object to support run-time configuration:
> method: getMessageTimestamp - returns the configured timestamp value for
> the broker in milliseconds.
> method: setMessageTimestamp - sets the broker's timestamp value (expressed
> in milliseconds).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]