[
https://issues.apache.org/jira/browse/QPID-3417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13124562#comment-13124562
]
[email protected] commented on QPID-3417:
-----------------------------------------------------
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2335/
-----------------------------------------------------------
Review request for qpid, Gordon Sim and Ted Ross.
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
-----
/trunk/qpid/cpp/src/qpid/broker/Broker.h 1180888
/trunk/qpid/cpp/src/qpid/broker/Broker.cpp 1180888
/trunk/qpid/cpp/src/qpid/broker/Message.h 1180888
/trunk/qpid/cpp/src/qpid/broker/Message.cpp 1180888
/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp 1180888
/trunk/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp 1180888
/trunk/qpid/cpp/src/tests/BrokerOptions.cpp PRE-CREATION
/trunk/qpid/cpp/src/tests/Makefile.am 1180888
/trunk/qpid/specs/management-schema.xml 1180888
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]