[ 
https://issues.apache.org/jira/browse/AMQ-8463?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17482102#comment-17482102
 ] 

Matt Pavlovich edited comment on AMQ-8463 at 10/21/24 10:21 PM:
----------------------------------------------------------------

Next draft of metrics:

nextMessageEnqueuedTimestamp (from the message's brokerInTime)
nextMessageID

('last' aka the most recent message to be ack'd — processed in-flight)
lastEnqueuedMessageId (JMSMessageID -- noop)
lastEnqueuedMessageTimestamp (JMSTimestamp from message -- aka when it was sent 
by producer -- noop)
lastEnqueuedMessageBrokerInTime (Broker In Time from message -- noop)
lastDequeuedTimestamp (timestamp of when the message was dequeued -- 
System.nonoTime -- hopefully, same used by slow consumer strategy)
lastDequeuedMessageTimestamp (JMSTimestamp from message -- noop)
lastDequeuedMessageBrokerInTime (Broker In Time from message -- noop)
lastDequeuedMessageID (JMSMessageID -- noop

('First' aka first all time in the life of the destination since boot — 
processed in-flight)
firstEnqueuedMessageTimestamp (from brokerInTime)
firstDequeuedTimestamp (wall clock time when the message was dequeued)
firstDequeuedMessageTimestamp (from brokerInTime)

Calculations:
Queue processing latency can then be calculated as = 
lastDequeuedMessageTimestamp - lastDequeuedTimestamp

Oldest message age on the queue (when queueSize > 0): 
lastEnqueuedMessageTimestamp


was (Author: mattrpav):
Next draft of metrics:

(’next’ Aka ‘head’ or ’next’ message to be dequeued— requires a browse)
nextMessageEnqueuedTimestamp (from the message’s brokerInTime)
nextMessageID

(‘last’ aka the most recent message to be ack’d — processed in-flight)
lastEnqueuedMessageTimestamp (from brokerInTime on the message)
lastDequeuedTimestamp (clock timestamp of when the message was dequeued)
lastDequeuedMessageTimestamp (from brokerInTime on the message)
lastDequeuedMessageID

(‘First’ aka first all time in the life of the destination since boot — 
processed in-flight)
firstEnqueuedMessageTimestamp (from brokerInTime)
firstDequeuedTimestamp (wall clock time when the message was dequeued)
firstDequeuedMessageTimestamp (from brokerInTime)

Calculations:
   Queue processing latency can then be calculated as = 
lastDequeuedMessageTimestamp - lastDequeuedTimestamp

   Oldest message age on the queue (when queueSize > 0): 
lastEnqueuedMessageTimestamp


> Add lastMessageTimestamp and firstMessageTimestamp to destination
> -----------------------------------------------------------------
>
>                 Key: AMQ-8463
>                 URL: https://issues.apache.org/jira/browse/AMQ-8463
>             Project: ActiveMQ Classic
>          Issue Type: Improvement
>          Components: Broker
>            Reporter: Matt Pavlovich
>            Assignee: Jean-Baptiste Onofré
>            Priority: Major
>             Fix For: 6.2.0
>
>
> Observability and tracking metrics on the destination can provide current 
> message age and indication of message flow activity.
> firstMessageTimestamp - the timestamp of the first message to traverse the 
> destination
> lastMessageTimestamp - the timestamp of the most recent message to traverse 
> the destination (aka 'message age' for messages still on the queue)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to