gemmellr commented on code in PR #4126:
URL: https://github.com/apache/activemq-artemis/pull/4126#discussion_r910028571


##########
artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConsumerView.java:
##########
@@ -58,6 +60,16 @@ public JsonObjectBuilder toJson(ServerConsumer consumer) {
          consumerClientID = 
session.getMetaData(ClientSession.JMS_SESSION_CLIENT_ID_PROPERTY);
       }
 
+      List<MessageReference> deliveringMessages = 
consumer.getDeliveringMessages();
+      long deliveringMessageSize = 0;
+      for (int i = 0; i < deliveringMessages.size(); i++) {
+         MessageReference messageReference =  deliveringMessages.get(i);
+         deliveringMessageSize += 
messageReference.getMessage().getEncodeSize();
+      }
+      long currentTime = System.currentTimeMillis();
+      long lastDeliveredTimeElapsed = consumer.getLastDeliveredTime() == 0 ? 0 
: currentTime - consumer.getLastDeliveredTime();
+      long lastAckTimeElapsed = consumer.getLastAcknowledgedTime() == 0 ? 0 : 
currentTime - consumer.getLastAcknowledgedTime();

Review Comment:
   Seems familiar..more scope for sharing impl?



##########
artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConsumerView.java:
##########
@@ -111,6 +128,27 @@ public Object getField(ServerConsumer consumer, String 
fieldName) {
             return consumer.getConnectionRemoteAddress();
          case CREATION_TIME:
             return new Date(consumer.getCreationTime());
+         case DELIVERING_COUNT:
+            return consumer.getDeliveringMessages().size();
+         case DELIVERING_SIZE:
+            List<MessageReference> deliveringMessages = 
consumer.getDeliveringMessages();
+            long deliveringMessageSize = 0;
+            for (int i = 0; i < deliveringMessages.size(); i++) {
+               MessageReference messageReference =  deliveringMessages.get(i);
+               deliveringMessageSize += 
messageReference.getMessage().getEncodeSize();
+            }
+            return deliveringMessageSize;
+         case MESSAGES_ACKNOWLEDGED:
+            return consumer.getMessagesAcknowledged();
+         case LAST_DELIVERED_TIME_ELAPSED: {
+            long currentTime = System.nanoTime();
+            return consumer.getLastDeliveredTime() == 0 ? 0 : currentTime - 
consumer.getLastDeliveredTime();
+         }
+         case LAST_ACKNOWLEDGED_TIME_ELAPSED: {
+            long currentTime = System.nanoTime();
+            return consumer.getLastAcknowledgedTime() == 0 ? 0 : currentTime - 
consumer.getLastAcknowledgedTime();

Review Comment:
   Ditto



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to