Author: rgodfrey
Date: Wed Jun 13 14:49:03 2012
New Revision: 1349890

URL: http://svn.apache.org/viewvc?rev=1349890&view=rev
Log:
QPID-3999 : Add queue/exchange/connection counts to virtual host statistics

Modified:
    
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/qpid/management/Broker.js
    
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/VirtualHost.java
    
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java

Modified: 
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/qpid/management/Broker.js
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/qpid/management/Broker.js?rev=1349890&r1=1349889&r2=1349890&view=diff
==============================================================================
--- 
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/qpid/management/Broker.js
 (original)
+++ 
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/qpid/management/Broker.js
 Wed Jun 13 14:49:03 2012
@@ -91,7 +91,10 @@ define(["dojo/_base/xhr",
                              that.updateHeader();
                              that.vhostsGrid =
                                 new UpdatableStore(that.brokerData.vhosts, 
query(".broker-virtualhosts")[0],
-                                                [ { name: "Virtual Host",    
field: "name",      width: "100%"}
+                                                [ { name: "Virtual Host",    
field: "name",      width: "120px"},
+                                                    { name: "Connections",    
field: "connectionCount",      width: "80px"},
+                                                    { name: "Queues",    
field: "queueCount",      width: "80px"},
+                                                    { name: "Exchanges",    
field: "exchangeCount",      width: "100%"}
                                                 ], function(obj) {
                                                         
connect.connect(obj.grid, "onRowDblClick", obj.grid,
                                                         function(evt){

Modified: 
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/VirtualHost.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/VirtualHost.java?rev=1349890&r1=1349889&r2=1349890&view=diff
==============================================================================
--- 
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/VirtualHost.java
 (original)
+++ 
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/VirtualHost.java
 Wed Jun 13 14:49:03 2012
@@ -43,12 +43,16 @@ public interface VirtualHost extends Con
     public static final String XA_TRANSACTION_BRANCH_ENDS = 
"xaTransactionBranchEnds";
     public static final String XA_TRANSACTION_BRANCH_STARTS = 
"xaTransactionBranchStarts";
     public static final String XA_TRANSACTION_BRANCH_SUSPENDS = 
"xaTransactionBranchSuspends";
+    public static final String QUEUE_COUNT = "queueCount";
+    public static final String EXCHANGE_COUNT = "exchangeCount";
+    public static final String CONNECTION_COUNT = "connectionCount";
 
     public static final Collection<String> AVAILABLE_STATISTICS =
             Collections.unmodifiableList(
                     Arrays.asList(BYTES_IN, BYTES_OUT, BYTES_RETAINED, 
LOCAL_TRANSACTION_BEGINS,
                             LOCAL_TRANSACTION_ROLLBACKS, MESSAGES_IN, 
MESSAGES_OUT, MESSAGES_RETAINED, STATE_CHANGED,
-                            XA_TRANSACTION_BRANCH_ENDS, 
XA_TRANSACTION_BRANCH_STARTS, XA_TRANSACTION_BRANCH_SUSPENDS));
+                            XA_TRANSACTION_BRANCH_ENDS, 
XA_TRANSACTION_BRANCH_STARTS, XA_TRANSACTION_BRANCH_SUSPENDS,
+                            QUEUE_COUNT, EXCHANGE_COUNT, CONNECTION_COUNT));
 
     String ALERT_REPEAT_GAP = "alertRepeatGap";
     String ALERT_THRESHOLD_MESSAGE_AGE = "alertThresholdMessageAge";

Modified: 
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java?rev=1349890&r1=1349889&r2=1349890&view=diff
==============================================================================
--- 
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java
 (original)
+++ 
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java
 Wed Jun 13 14:49:03 2012
@@ -23,9 +23,11 @@ package org.apache.qpid.server.model.ada
 import java.security.AccessControlException;
 import java.security.Principal;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -85,7 +87,7 @@ final class VirtualHostAdapter extends A
         super(virtualHost.getName());
         _broker = brokerAdapter;
         _virtualHost = virtualHost;
-        _statistics = new StatisticsAdapter(virtualHost);
+        _statistics = new VirtualHostStatisticsAdapter(virtualHost);
         virtualHost.getQueueRegistry().addRegistryChangeListener(this);
         populateQueues();
         virtualHost.getExchangeRegistry().addRegistryChangeListener(this);
@@ -794,4 +796,49 @@ final class VirtualHostAdapter extends A
     {
         return AVAILABLE_ATTRIBUTES;
     }
+
+    private static class VirtualHostStatisticsAdapter extends StatisticsAdapter
+    {
+        private final org.apache.qpid.server.virtualhost.VirtualHost _vhost;
+
+        private static final Collection<String> VHOST_STATS = Arrays.asList(
+                VirtualHost.QUEUE_COUNT,
+                VirtualHost.EXCHANGE_COUNT,
+                VirtualHost.CONNECTION_COUNT);
+
+        public 
VirtualHostStatisticsAdapter(org.apache.qpid.server.virtualhost.VirtualHost 
virtualHost)
+        {
+            super(virtualHost);
+            _vhost = virtualHost;
+        }
+
+        @Override
+        public Collection<String> getStatisticNames()
+        {
+            Set<String> stats = new HashSet<String>(super.getStatisticNames());
+            stats.addAll(VHOST_STATS);
+            return stats;
+        }
+
+        @Override
+        public Object getStatistic(String name)
+        {
+            if(VirtualHost.QUEUE_COUNT.equals(name))
+            {
+                return _vhost.getQueueRegistry().getQueues().size();
+            }
+            else if(VirtualHost.EXCHANGE_COUNT.equals(name))
+            {
+                return _vhost.getExchangeRegistry().getExchanges().size();
+            }
+            else if(VirtualHost.CONNECTION_COUNT.equals(name))
+            {
+                return _vhost.getConnectionRegistry().getConnections().size();
+            }
+            else
+            {
+                return super.getStatistic(name);
+            }
+        }
+    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to