Uploaded image for project: 'ActiveMQ Artemis'
  1. ActiveMQ Artemis
  2. ARTEMIS-3875

Improve consumer/producer metrics

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.28.0
    • None
    • None

    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

      Attachments

        Issue Links

          Activity

            People

              andytaylor Andy Taylor
              andytaylor Andy Taylor
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 15h 20m
                  15h 20m