summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2013-12-19 17:12:25 +0000
committerSimon MacMullen <simon@rabbitmq.com>2013-12-19 17:12:25 +0000
commita21b837610581ebd4c07bbca3f241468c0a4945a (patch)
treecafbe0dffd305fff1a94018be908cc5afaf90e7a
parent66c088bf4c62ab7792022cfb2d4c0aa642d1b8b2 (diff)
downloadrabbitmq-server-git-a21b837610581ebd4c07bbca3f241468c0a4945a.tar.gz
Nicer UI.
-rw-r--r--deps/rabbitmq_top/priv/www/js/tmpl/processes.ejs12
-rw-r--r--deps/rabbitmq_top/priv/www/js/top.js10
-rw-r--r--deps/rabbitmq_top/src/rabbit_top_wm_processes.erl4
3 files changed, 17 insertions, 9 deletions
diff --git a/deps/rabbitmq_top/priv/www/js/tmpl/processes.ejs b/deps/rabbitmq_top/priv/www/js/tmpl/processes.ejs
index 5a7568e44e..c758c85664 100644
--- a/deps/rabbitmq_top/priv/www/js/tmpl/processes.ejs
+++ b/deps/rabbitmq_top/priv/www/js/tmpl/processes.ejs
@@ -1,10 +1,12 @@
-<h1>Top Processes</h1>
+<h1>Top Processes: <b><%= top.node %></b></h1>
<p>
- Nodes:
+ Node:
+ <select id="top-node">
<% for (var i = 0; i < nodes.length; i++) { %>
- <a href="#/top/<%= fmt_string(nodes[i].name) %>"><%= nodes[i].name %></a>
+ <option name="#/top/<%= fmt_string(nodes[i].name) %>"<% if (nodes[i].name == top.node) { %>selected="selected"<% } %>><%= nodes[i].name %></option>
<% } %>
+ </select>
</p>
<table class="list updatable">
@@ -21,8 +23,8 @@
</thead>
<tbody>
<%
- for (var i = 0; i < processes.length; i++) {
- var process = processes[i];
+ for (var i = 0; i < top.processes.length; i++) {
+ var process = top.processes[i];
%>
<tr<%= alt_rows(i)%>>
<td><%= link_pid(process.pid) %></td>
diff --git a/deps/rabbitmq_top/priv/www/js/top.js b/deps/rabbitmq_top/priv/www/js/top.js
index 07da834dc1..17bbb8b5de 100644
--- a/deps/rabbitmq_top/priv/www/js/top.js
+++ b/deps/rabbitmq_top/priv/www/js/top.js
@@ -4,9 +4,9 @@ dispatcher_add(function(sammy) {
go_to('#/top/' + nodes[0].name);
});
sammy.get('#/top/:node', function() {
- render({'processes': {path: '/top/' + esc(this.params['node']),
- options: {sort:true}},
- 'nodes': '/nodes'},
+ render({'top': {path: '/top/' + esc(this.params['node']),
+ options: {sort:true}},
+ 'nodes': '/nodes'},
'processes', '#/top');
});
sammy.get('#/process/:pid', function() {
@@ -17,6 +17,10 @@ dispatcher_add(function(sammy) {
NAVIGATION['Admin'][0]['Top Processes'] = ['#/top', 'administrator'];
+$('select#top-node').live('change', function() {
+ go_to('#/top/' + $(this).val());
+});
+
function link_pid(name) {
return _link_to(name, '#/process/' + esc(name))
}
diff --git a/deps/rabbitmq_top/src/rabbit_top_wm_processes.erl b/deps/rabbitmq_top/src/rabbit_top_wm_processes.erl
index 5dd6cd1887..e75fdb1a68 100644
--- a/deps/rabbitmq_top/src/rabbit_top_wm_processes.erl
+++ b/deps/rabbitmq_top/src/rabbit_top_wm_processes.erl
@@ -39,7 +39,9 @@ to_json(ReqData, Context) ->
"true" -> asc;
_ -> desc
end,
- rabbit_mgmt_util:reply(procs(Node, Sort, Order), ReqData, Context).
+ rabbit_mgmt_util:reply([{node, Node},
+ {processes, procs(Node, Sort, Order)}],
+ ReqData, Context).
is_authorized(ReqData, Context) ->
rabbit_mgmt_util:is_authorized_admin(ReqData, Context).