mattrpav commented on code in PR #1329:
URL: https://github.com/apache/activemq/pull/1329#discussion_r1878876829


##########
activemq-broker/src/main/java/org/apache/activemq/broker/region/DestinationStatistics.java:
##########
@@ -76,6 +87,17 @@ public DestinationStatistics() {
         networkEnqueues = new CountStatisticImpl("networkEnqueues", "The 
number of messages that have been sent to the destination via network 
connection");
         networkDequeues = new CountStatisticImpl("networkDequeues", "The 
number of messages that have been acknowledged from the destination via network 
connection");
 
+        enqueuedMessageBrokerInTime = new 
UnsampledStatisticImpl<>("enqueuedMessageBrokerInTime", "ms", "Broker in time 
(ms) of last enqueued message to the destination", Long.valueOf(0l));
+        enqueuedMessageClientID = new 
UnsampledStatisticImpl<>("enqueuedMessageClientID", "id", "ClientID of last 
enqueued message to the destination", null);
+        enqueuedMessageID = new UnsampledStatisticImpl<>("enqueuedMessageID", 
"id", "MessageID of last enqueued message to the destination", null);
+        enqueuedMessageTimestamp = new 
UnsampledStatisticImpl<>("enqueuedMessageTimestamp", "ms", "Message timestamp 
of last enqueued message to the destination", Long.valueOf(0l));
+
+        dequeuedMessageBrokerInTime = new 
UnsampledStatisticImpl<>("dequeuedMessageBrokerInTime", "ms", "Broker in time 
(ms) of last dequeued message to the destination", Long.valueOf(0l));

Review Comment:
   I experimented with this. I ran into a condition where supporting dynamic 
config update (good feature) would require a lock around all advanced network 
and advanced message stats operations.
   
   Possible paths to move forward:
   
   Option 1: Do not optimize for memory, allocate all metrics at startup time
   
   Option 2: Lazy init advanced stats fields. Support only allocating 
statistics when moving from enabled = false to enabled = true. Moving from 
enabled = true to enabled = false would leave metrics fields present (or 
perhaps we could reset them)
   
   Option 3: Add locking around all the advanced[Network|Message]Statistics 
operations (bleh)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: gitbox-unsubscr...@activemq.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscr...@activemq.apache.org
For additional commands, e-mail: gitbox-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact


Reply via email to