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]