[
https://issues.apache.org/jira/browse/ARTEMIS-3875?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andy Taylor updated ARTEMIS-3875:
---------------------------------
Description:
adding the following metrics:
for the Consumer and the methods listAllConsumersAsJSON on server and queue
mbeans:
messagesInTransit - number of Messages out for delivery which have not yet been
acknowledged
messagesInTransitSize - The total size of Messages out for delivery which have
not yet been acknowledged
messagesDelivered - Number of messages delivered
messagesDeliveredSize' - total size of messages delivered
messagesAcknowledged - total number of Messages Acknowledged
messagesAcknowledgedAwaitingCommit - Total number of messages in a transaction
that are acknowledged but awaiting a commit
lastDeliveredTime - The time in milliseconds of the last message delivered
lastAcknowledgedTime - The time in milliseconds of the last message acknowledged
for the Producer add to the listProducers and listproducersasJSON mbean methods
msgSent - The number of messages sent by a producer
msgSizeSent - The total size of messages sent by a producer
lastUUIDSent - The UUID of the last message sent
The producer views are currently quite broken, different protocols show
different producer info and number of producers, this is because in core we add
a single producer per session which means you get 2 for every core session. We
also create a producer instance for every address sent to so anonymous
producers dont show as a single producer, this was also a DOS issue so we limit
the no of producers we track to 100.
Im changing this to work as expected so every JMS producer created will show as
a single producer, even anonymous producers to correctly show what producers
exist at a client. The downside to changing this so much is that producer
metrics will no longer be available for legacy clients.
Other improvements
* Consolidate the names used by the different methods to be more consistent
and referenced by static variables.
* use statics in all the tests
* add tests for different message count scenarios
was:
adding the following metrics:
for the Consumer and the methods listAllConsumersAsJSON on server and queue
mbeans:
messagesInTransit - number of Messages out for delivery which have not yet been
acknowledged
messagesInTransitSize - The total size of Messages out for delivery which have
not yet been acknowledged
messagesDelivered - Number of messages delivered
messagesDeliveredSize' - total size of messages delivered
messagesAcknowledged - total number of Messages Acknowledged
messagesAcknowledgedAwaitingCommit - Total number of messages in a transaction
that are acknowledged but awaiting a commit
lastDeliveredTime - The time in milliseconds of the last message delivered
lastAcknowledgedTime - The time in milliseconds of the last message acknowledged
for the Producer add to the listProducers and listproducersasJSON mbean methods
msgSent - The number of messages sent by a producer
msgSizeSent - The total size of messages sent by a producer
lastUUIDSent - The UUID of the last message sent
The producer views are currently quite broken, different protocols show
different producer info and number of producers, this is because in core we add
a single producer per session which means you get 2 for ecey core session. Im
changing this to be a producer for every address sent to. For normal producers
this will now show s single producer for every protocol, for anon producers
this will show a producer for every address sent to. For DOS protection this
will max on 100 producers and they will also be torn down when the session is
closed.
Ive also move the use of targetAddressInfos into the server producer for
consistencey.
Other improvements
* Consolidate the names used by the different methods to be more consistent
and referenced by static variables.
* use statics in all the tests
* add tests for different message count scenarios
> Improve consumer/producer metrics
> ---------------------------------
>
> Key: ARTEMIS-3875
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3875
> Project: ActiveMQ Artemis
> Issue Type: Improvement
> Reporter: Andy Taylor
> Assignee: Andy Taylor
> Priority: Major
> Time Spent: 7h
> Remaining Estimate: 0h
>
> adding the following metrics:
>
> for the Consumer and the methods listAllConsumersAsJSON on server and queue
> mbeans:
> messagesInTransit - number of Messages out for delivery which have not yet
> been acknowledged
> messagesInTransitSize - The total size of Messages out for delivery which
> have not yet been acknowledged
> messagesDelivered - Number of messages delivered
> messagesDeliveredSize' - total size of messages delivered
> messagesAcknowledged - total number of Messages Acknowledged
> messagesAcknowledgedAwaitingCommit - Total number of messages in a
> transaction that are acknowledged but awaiting a commit
> lastDeliveredTime - The time in milliseconds of the last message delivered
> lastAcknowledgedTime - The time in milliseconds of the last message
> acknowledged
>
> for the Producer add to the listProducers and listproducersasJSON mbean
> methods
> msgSent - The number of messages sent by a producer
> msgSizeSent - The total size of messages sent by a producer
> lastUUIDSent - The UUID of the last message sent
>
> The producer views are currently quite broken, different protocols show
> different producer info and number of producers, this is because in core we
> add a single producer per session which means you get 2 for every core
> session. We also create a producer instance for every address sent to so
> anonymous producers dont show as a single producer, this was also a DOS issue
> so we limit the no of producers we track to 100.
>
> Im changing this to work as expected so every JMS producer created will show
> as a single producer, even anonymous producers to correctly show what
> producers exist at a client. The downside to changing this so much is that
> producer metrics will no longer be available for legacy clients.
>
> Other improvements
> * Consolidate the names used by the different methods to be more consistent
> and referenced by static variables.
> * use statics in all the tests
> * add tests for different message count scenarios
--
This message was sent by Atlassian Jira
(v8.20.10#820010)