Author: rgodfrey
Date: Fri Mar 23 08:46:59 2012
New Revision: 1304231

URL: http://svn.apache.org/viewvc?rev=1304231&view=rev
Log:
NO-JIRA : [Java Config] update to queue monitoring page

Added:
    
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/queue.js
      - copied, changed from r1304041, 
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/broker.js
Modified:
    
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/queue.html

Copied: 
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/queue.js
 (from r1304041, 
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/broker.js)
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/queue.js?p2=qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/queue.js&p1=qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/broker.js&r1=1304041&r2=1304231&rev=1304231&view=diff
==============================================================================
--- 
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/broker.js
 (original)
+++ 
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/queue.js
 Fri Mar 23 08:46:59 2012
@@ -12,8 +12,9 @@ require(["dojo/store/JsonRest",
                                "dojo/query",
                                "dojo/store/Observable",
                 "dojo/_base/xhr",
+                "dojo/dom",
                                "dojo/domReady!"],
-            function(JsonRest, Memory, Cache, DataGrid, ObjectStore, query, 
Observable, xhr)
+            function(JsonRest, Memory, Cache, DataGrid, ObjectStore, query, 
Observable, xhr, dom)
             {
 
 
@@ -91,63 +92,68 @@ require(["dojo/store/JsonRest",
                          {
                              // ,,, if not in the store then add
                              store.put(data[i]);
-                             //store.notify(data[i], null);
                          }
                      }
                  });
          };
 
-         exchangeTuple = new UpdatableStore("/rest/exchange", "exchanges",
-                                            [ { name: "Name",        field: 
"name",          width: "190px"},
-                                              { name: "Type",        field: 
"type",          width: "90px"},
-                                              { name: "Durable",     field: 
"durable",       width: "80px"},
-                                              { name: "Auto-Delete", field: 
"auto-delete",   width: "100px"},
-                                              { name: "Bindings",    field: 
"binding-count", width: "80px"}
-                                              ]);
-         queueTuple = new UpdatableStore("/rest/queue", "queues",
-                                            [ { name: "Name",        field: 
"name",          width: "240px"},
-                                              { name: "Durable",     field: 
"durable",       width: "100px"},
-                                              { name: "Auto-Delete", field: 
"auto-delete",   width: "100px"},
-                                              { name: "Bindings",    field: 
"binding-count", width: "100px"} ]);
-         connectionTuple = new UpdatableStore("/rest/connection", 
"connections",
-                                                     [ { name: "Name",        
field: "name",          width: "160px"},
-                                                       { name: "Sessions",    
field: "session-count", width: "80px"},
-                                                       { name: "Msgs In",     
field: "msgs-in-total", width: "80px"},
-                                                       { name: "Msgs Out",    
field: "msgs-out-total",width: "80px"},
-                                                       { name: "Bytes In",    
field: "bytes-in-total", width: "80px"},
-                                                       { name: "Bytes Out",   
field: "bytes-out-total",width: "80px"}]);
-
-         vhostTuple = new UpdatableStore("/rest/virtualhost", "virtualHosts",
-                                                 [ { name: "Name",        
field: "name",             width: "180px"},
-                                                   { name: "Connections", 
field: "connection-count", width: "90px"},
-                                                   { name: "Queues",      
field: "queue-count",      width: "90px"},
-                                                   { name: "Exchanges",   
field: "exchange-count",   width: "90px"},
-                                                   { name: "Msgs In",     
field: "msgs-in-total", width: "80px"},
-                                                   { name: "Msgs Out",    
field: "msgs-out-total",width: "80px"},
-                                                   { name: "Bytes In",    
field: "bytes-in-total", width: "80px"},
-                                                   { name: "Bytes Out",   
field: "bytes-out-total",width: "80px"} ],
-                                        function(obj)
-                                        {
-                                            dojo.connect(obj.grid, 
"onRowClick", obj.grid, function(evt){
-                                                                               
                var idx = evt.rowIndex,
-                                                                               
            item = this.getItem(idx);
-
-                                                                            
exchangeTuple.query = "/rest/exchange/"+obj.dataStore.getValue(item, 
"name")+"/";
-                                                                            
exchangeTuple.update();
-                                                                            
queueTuple.query =  "/rest/queue/"+obj.dataStore.getValue(item, "name")+"/";
-                                                                            
queueTuple.update();
-                                                                            
connectionTuple.query = "/rest/connection/"+obj.dataStore.getValue(item, 
"name")+"/";
-                                                                            
connectionTuple.update();
-
-                                                                               
        });
-                                        });
-
-
-                setInterval(function(){
-                   for(var i = 0; i < updateList.length; i++)
-                   {
-                       var obj = updateList[i];
-                       obj.update();
-                   }}, 5000); // every second
-                });
+
+         queueUpdater = new Object();
+
+         function formatBytes(amount)
+         {
+            this.units = "bytes";
+            this.value = 0;
+
+            if(amount < 1000)
+            {
+                this.units = "bytes";
+                this.value = amount;
+            }
+            else if(amount < 1000 * 1024)
+            {
+                this.units = "Kb";
+                this.value = amount / 1024
+                this.value = this.value.toPrecision(3);
+            }
+            else if(amount < 1000 * 1024 * 1024)
+            {
+                this.units = "Mb";
+                this.value = amount / (1024 * 1024)
+                this.value = this.value.toPrecision(3);
+            }
+
+         }
+
+         queueUpdater.update = function() {
+            xhr.get({url: "/rest/queue/test/queue", handleAs: 
"json"}).then(function(data)
+                 {
+
+                    queueData = data[0];
+                    stats = queueData[ "statistics" ];
+                    dom.byId("name").innerHTML = queueData[ "name" ];
+                    dom.byId("state").innerHTML = queueData[ "state" ];
+                    dom.byId("durable").innerHTML = queueData[ "durable" ];
+                    dom.byId("lifetimePolicy").innerHTML = queueData[ 
"lifetimePolicy" ];
+
+                    dom.byId("queueDepthMessages").innerHTML = 
stats["queueDepthMessages"];
+                    bytesDepth = new formatBytes( stats["queueDepthBytes"] );
+                    dom.byId("queueDepthBytes").innerHTML = "(" + 
bytesDepth.value;
+                    dom.byId("queueDepthBytesUnits").innerHTML = 
bytesDepth.units + ")"
+
+
+                 });
+         };
+
+         updateList.push( queueUpdater );
+
+         queueUpdater.update();
+
+         setInterval(function(){
+               for(var i = 0; i < updateList.length; i++)
+               {
+                   var obj = updateList[i];
+                   obj.update();
+               }}, 5000);
+     });
 

Modified: 
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/queue.html
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/queue.html?rev=1304231&r1=1304230&r2=1304231&view=diff
==============================================================================
--- 
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/queue.html
 (original)
+++ 
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/queue.html
 Fri Mar 23 08:46:59 2012
@@ -27,6 +27,8 @@
                 "dijit/TitlePane", "dojo/parser"]);
             </script>
 
+        <script src="/js/queue.js">
+        </script>
        </head>
        <body class="claro">
 
@@ -35,30 +37,30 @@
         <div data-dojo-type="dijit.layout.ContentPane" 
data-dojo-props="region:'top'">Top pane</div>
         <div data-dojo-type="dijit.layout.ContentPane" 
data-dojo-props="region:'leading'">Leading pane</div>
         <div data-dojo-type="dijit.layout.ContentPane" 
data-dojo-props="region:'center'">
-            <span style="">Queue:</span><span style="position:absolute; 
left:6em">My Queue</span>
+            <span style="">Queue:</span><span id="name" 
style="position:absolute; left:6em"></span>
             <span style="position:absolute; left:26em">Size:</span>
-            <span id="queue-count" style="position:absolute; 
right:9.5em">1,000,000</span>
+            <span id="queueDepthMessages" style="position:absolute; 
right:9.5em"></span>
             <span style="position:absolute; right: 5em; width: 4em"> 
msgs</span>
-            <span style="position:absolute; right: 3.3em">(31.7</span> 
-            <span style="position:absolute; right: 0em; width: 3em">Mb)</span>
+            <span id="queueDepthBytes" style="position:absolute; right: 
3.3em">(</span>
+            <span id="queueDepthBytesUnits"style="position:absolute; right: 
0em; width: 3em">)</span>
             <br/>
-            <span style="">State:</span><span style="position:absolute; 
left:6em">ACTIVE</span>
+            <span style="">State:</span><span id="state" 
style="position:absolute; left:6em"></span>
             <span style="position:absolute; left:26em">Pre-fetched:</span>
             <span id="unack-count" style="position:absolute; 
right:9.5em">500</span>
             <span style="position:absolute; right: 5em; width: 4em"> 
msgs</span>
             <span style="position:absolute; right: 3.3em">(256</span>
             <span style="position:absolute; right: 0em; width: 3em">Kb)</span>
             <br/>
-            <span style="">Durable:</span><span style="position:absolute; 
left:6em">Yes</span>
+            <span style="">Durable:</span><span id="durable" 
style="position:absolute; left:6em"></span>
             <span style="position:absolute; left:26em">Inbound:</span>
             <span id="inbound-rate-msg" style="position:absolute; 
right:9.5em">347</span>
             <span style="position:absolute; right: 5em; width: 4em"> 
msg/s</span>
             <span style="position:absolute; right: 3.3em">(132</span>
             <span style="position:absolute; right: 0em; width: 
3em">Kb/s)</span>
             <br/>
-            <span style="">Lifespan:</span><span style="position:absolute; 
left:6em">Permanent</span>
+            <span style="">Lifespan:</span><span style="position:absolute; 
left:6em" id="lifetimePolicy"></span>
             <span style="position:absolute; left:26em">Outbound:</span>
-            <span id="inbound-rate-msg" style="position:absolute; 
right:9.5em">823</span>
+            <span id="outbound-rate-msg" style="position:absolute; 
right:9.5em">823</span>
             <span style="position:absolute; right: 5em; width: 4em"> 
msg/s</span>
             <span style="position:absolute; right: 3.3em">(0.92</span>
             <span style="position:absolute; right: 0em; width: 
3em">Mb/s)</span>
@@ -76,7 +78,7 @@
                 I'm pane #3
             </div>
         </div>
-        <div data-dojo-type="dijit.layout.ContentPane" 
data-dojo-props="region:'trailing'">Trailing pane</div>
+        <!--<div data-dojo-type="dijit.layout.ContentPane" 
data-dojo-props="region:'trailing'">Trailing pane</div>-->
         <div data-dojo-type="dijit.layout.ContentPane" 
data-dojo-props="region:'bottom'">Bottom pane</div>
     </div>
 



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

Reply via email to