Commit Graph

52 Commits

Author SHA1 Message Date
Endre Stølsvik 9167a79b79 StatisticsBrokerPlugin: Add feat: request destination firstMessageTimestamp
Adding a feature (STATS_FIRST_MESSAGE_TIMESTAMP) to the
StatisticsBrokerPlugin's destination-statistics for getting the
timestamp of the first message in the destination(s) being requested: If
you on the query-message set the property
StatisticsBroker.STATS_FIRST_MESSAGE_TIMESTAMP to anything (e.g. boolean
true), a long value "firstMessageTimestamp" will be added to the
statistics reply message(s). Since the reply message has JMSTimestamp
set, which is the broker's now-timestamp, you may also on the query side
calculate the age of the first message in milliseconds. The key name was
chosen since that is the name of the corresponding feature in Artemis.

This extension of the existing feature is implemented to be as
non-intrusive as possible, adding very little runtime cost if not
requested. It also seems like the runtime cost for enabling this
feature, thus finding and adding the firstMessageTimestamp, is small.

While at it, also slightly improving an existing feature
(STATS_DENOTE_END_LIST) where a reply to a destination query can be
"null terminated": After sending the relevant replies, the
StatisticsBroker also sends an empty message. This feature is relevant
if the query is a wildcard query, thus returning multiple messages: The
empty message denotes the end of the replies. However, to activate this
feature, a somewhat complicated query destination had to be constructed.
Adopting the solution for the other StatisticsBroker feature where you
may reset the broker statistics by adding a property to the query
message, this null-termination feature now /also/ checks for the
presence of this query modifier STATS_DENOTE_END_LIST as a property.
(This property based solution was thus also adopted for the present
'firstMessageTimestamp' solution, as it was found much more intuitive).

Added tests for both the STATS_FIRST_MESSAGE_TIMESTAMP query modifier,
and the improved STATS_DENOTE_END_LIST property-based query modifier.

Had to make the Topic.doBrowse(List browseList, int max) public - the
corresponding method for Queue was already public.

Made the evaluation of whether this is a StatisticsBroker-relevant
message a microscopic bit more performant (exiting faster if not
relevant): To the initial test of whether the message is relevant, which
only checked for replyTo being set, a check for 'destination.
startsWith("ActiveMQ.Statistics")' was added. Only if so, the rest of
the evaluations kick in. Also using 'string.startsWith(..)' instead of
the verbose 'string.regionMatches(..)'.

Removed an unused import on PartitionBrokerTest.java, as IntelliJ
complained about not finding it.
2022-01-25 09:45:48 +01:00
jbonofre 52a2bd446a [AMQ-7502] Remove leveldb 2021-03-25 18:54:53 +01:00
Christopher L. Shannon (cshannon) 17defa79d4 NO-JIRA: Update branch to 5.17.0-SNAPSHOT after release 2020-07-14 07:27:43 -04:00
Jean-Baptiste Onofré 334476ac63 [maven-release-plugin] prepare for next development iteration 2020-06-25 07:26:41 +02:00
Jean-Baptiste Onofré 86dd78b1aa [maven-release-plugin] prepare release activemq-5.16.0 2020-06-25 07:26:13 +02:00
Jean-Baptiste Onofré 6908749c2f Fix version 2020-06-25 07:13:04 +02:00
Jean-Baptiste Onofré ff2dae82f3 [maven-release-plugin] prepare release activemq-5.16.0 2020-06-24 21:56:52 +02:00
jbonofre 4ed2ba22a9 Cancel 5.16.0 release 2020-06-24 15:19:34 +02:00
Jean-Baptiste Onofré cd1e9f8697 [maven-release-plugin] prepare for next development iteration 2020-06-23 17:40:26 +02:00
Jean-Baptiste Onofré 2e890c6224 [maven-release-plugin] prepare release activemq-5.16.0 2020-06-23 17:39:53 +02:00
jbonofre 5f51b9c084 [AMQ-7407] Fix best target election for queue/topic partitioning 2020-02-27 22:16:46 +01:00
jbonofre ae96af6d0f [AMQ-7409] Exclude netty from zookeeper dependency
Credit To: Piyush Chugh <chughpiyush>
2020-02-19 08:00:10 +01:00
gtully 39047021e7 AMQ-7165 - randomize needs to be disabled to make test deterministic 2019-04-05 13:39:41 +01:00
Christopher L. Shannon (cshannon) a9fe4e33c3 [maven-release-plugin] prepare for next development iteration 2017-06-27 13:41:28 -04:00
Christopher L. Shannon (cshannon) 5f0d6943cb [maven-release-plugin] prepare release activemq-5.15.0 2017-06-27 13:41:01 -04:00
gtully 7cae60eae0 [AMQ-6684] exclude json cat-x transitive dep 2017-05-24 16:19:09 +01:00
Christopher L. Shannon (cshannon) 06a21dbbb3 [maven-release-plugin] prepare for next development iteration 2016-08-02 09:03:37 -04:00
Christopher L. Shannon (cshannon) 71cbc65283 [maven-release-plugin] prepare release activemq-5.14.0 2016-08-02 09:02:54 -04:00
Timothy Bish 4ecff14030 NO-JIRA Update master version to 5.14.0-SNAPSHOT to match the eventual
release version.
2016-01-20 12:40:20 -05:00
Christopher L. Shannon (cshannon) cfb4ca9f54 [maven-release-plugin] prepare for next development iteration 2015-11-30 13:48:58 +00:00
Christopher L. Shannon (cshannon) abfe038ddf [maven-release-plugin] prepare release activemq-5.13.0 2015-11-30 13:48:11 +00:00
Christopher L. Shannon (cshannon) 04ee70a161 https://issues.apache.org/jira/browse/AMQ-5889
Adding support for auto detection of wire protocols over a transport.
OpenWire, AMQP, STOMP, and MQTT can all be detected and the broker
will properly handle each one over a given Transport.  Currently
auto TCP, NIO, SSL, and NIO+SSL transports can handle auto-detection
of the wire format and client but support could be added in the
future for other transports like websockets.
2015-08-11 19:39:29 +00:00
Timothy Bish 6cdd750ddc [maven-release-plugin] prepare for next development iteration 2015-08-10 11:04:26 -04:00
Timothy Bish a9eeb03520 [maven-release-plugin] prepare release activemq-5.12.0 2015-08-10 11:04:17 -04:00
gtully a05a9a2129 https://issues.apache.org/jira/browse/AMQ-5552 - added profile for activemq.tests=smoke to run a fast subset of tests that gives a fast verification of a full build 2015-07-09 14:10:38 +01:00
Timothy Bish 9ef4259297 https://issues.apache.org/jira/browse/AMQ-5616
Use ConcurrentMap in declarations
2015-04-28 11:15:08 -04:00
gtully ae595c95b1 [maven-release-plugin] prepare for next development iteration 2015-01-30 12:46:19 +00:00
gtully 4ba1a1689f [maven-release-plugin] prepare release activemq-5.11.0 2015-01-30 12:46:08 +00:00
gtully bf5a2997c7 [maven-release-plugin] prepare for next development iteration 2015-01-26 16:48:46 +00:00
gtully eec2955bde [maven-release-plugin] prepare release activemq-5.11.0 2015-01-26 16:48:37 +00:00
gtully 64fa706d54 Revert "[maven-release-plugin] prepare release activemq-5.11.0"
This reverts commit f47fbe4b89.
2015-01-26 16:39:35 +00:00
gtully f47fbe4b89 [maven-release-plugin] prepare release activemq-5.11.0 2015-01-26 16:17:43 +00:00
Hadrian Zbarcea aedcae139b Revert "[maven-release-plugin] prepare release activemq-5.11.0"
This reverts commit 48b0cf396c.
2015-01-05 12:25:58 -05:00
Hadrian Zbarcea 89995f4723 Revert "[maven-release-plugin] prepare for next development iteration"
This reverts commit 7b285c6f52.
2015-01-05 12:25:47 -05:00
Dejan Bosanac 7b285c6f52 [maven-release-plugin] prepare for next development iteration 2014-12-29 12:44:32 +01:00
Dejan Bosanac 48b0cf396c [maven-release-plugin] prepare release activemq-5.11.0 2014-12-29 12:44:20 +01:00
gtully 66a689df0e fix up karaf-itests , related commits https://issues.apache.org/jira/browse/AMQ-5224 https://issues.apache.org/jira/browse/AMQ-5105 Update poms to fully load into M2E - 06bb7a2716 2014-07-28 15:30:12 +01:00
Dejan Bosanac 4da588d4fc https://issues.apache.org/jira/browse/AMQ-5105 - problem starting broker with leveldb store 2014-07-17 17:12:52 +02:00
Dejan Bosanac fa086396a7 [maven-release-plugin] prepare for next development iteration 2014-06-05 11:59:29 +02:00
Dejan Bosanac 58dd93e42e [maven-release-plugin] prepare release activemq-5.10.0 2014-06-05 11:59:17 +02:00
Dejan Bosanac c2cf78542f [maven-release-plugin] prepare for next development iteration 2014-06-04 11:33:17 +02:00
Dejan Bosanac 5bc741f227 [maven-release-plugin] prepare release activemq-5.10.0 2014-06-04 11:33:03 +02:00
Hiram Chirino bdb24ee7c7 Fixes AMQ-5176: Support building ActiveMQ using Java 8 JDK 2014-05-07 10:53:51 -04:00
gtully 864aa6798f [maven-release-plugin] prepare for next development iteration 2013-10-14 23:38:35 +01:00
gtully 87c9bbebac [maven-release-plugin] prepare release activemq-5.9.0 2013-10-14 23:38:22 +01:00
gtully ee0933c71e [maven-release-plugin] prepare for next development iteration 2013-10-11 14:51:36 +01:00
gtully b276006911 [maven-release-plugin] prepare release activemq-5.9.0 2013-10-11 14:51:24 +01:00
Claus Ibsen 59af7479b2 Polished the logging 2013-10-11 11:20:22 +02:00
Hiram Chirino 25f70ad483 Implementing AMQ-4788 - Adding tests for the ZooKeeper variant of the partition broker plugin. 2013-10-08 11:09:39 -04:00
Hiram Chirino 21edf2b5bb Implementing AMQ-4788 - make sure you can configure the partition broker plugin via activemq.xml 2013-10-07 13:19:42 -04:00