diff --git a/src/static/riot/competitions/detail/worker-monitor-toggle.tag b/src/static/riot/competitions/detail/worker-monitor-toggle.tag index 48ea73e50..f13f859fe 100644 --- a/src/static/riot/competitions/detail/worker-monitor-toggle.tag +++ b/src/static/riot/competitions/detail/worker-monitor-toggle.tag @@ -41,18 +41,21 @@ +
-
- Queues stats -
+
Queues stats
+
-
+
- - + + @@ -62,7 +65,7 @@ - +
{ qs.source_name } @@ -83,24 +86,24 @@
+
+ + Queue stats collapsed. +
+
Public compute workers { sortedWorkers().length }
- -
-
@@ -110,7 +113,7 @@ - + @@ -128,9 +131,8 @@ - -
WorkerWorkers Status Last seen
{ formatLastSeen(getLastSeenValue(worker)) }
+
No public compute workers detected
Waiting for the first websocket snapshot.
@@ -140,20 +142,25 @@
-
Public workers list collapsed.
-
-
- Private compute workers - { sortedPrivateWorkers().length } + +
+
+
+ Private compute workers + { sortedPrivateWorkers().length } +
+
- -
+
@@ -183,9 +190,8 @@ - -
{ formatLastSeen(getLastSeenValue(worker)) }
+
No private compute workers detected
Waiting for the first websocket snapshot.
@@ -195,6 +201,10 @@
+
+ + Private workers list collapsed. +
@@ -425,6 +435,8 @@ self.dragOffsetX = 0 self.dragOffsetY = 0 self.publicWorkersCollapsed = false + self.queueStatsCollapsed = false + self.privateWorkersCollapsed = false self.panelResizeObserver = null self.queueKey = function (worker) { @@ -462,6 +474,18 @@ self.update() } + self.toggleQueueStats = function (event) { + if (event) { event.preventDefault(); event.stopPropagation() } + self.queueStatsCollapsed = !self.queueStatsCollapsed + self.update() + } + + self.togglePrivateWorkers = function (event) { + if (event) { event.preventDefault(); event.stopPropagation() } + self.privateWorkersCollapsed = !self.privateWorkersCollapsed + self.update() + } + self.toggleWorkersPanel = function () { if (self.inlineMode) return @@ -481,6 +505,14 @@ self.update() } + self.sortedQueueStats = function () { + return (self.queueStats || []).slice().sort(function (a, b) { + if (a.source_name === 'default') return -1 + if (b.source_name === 'default') return 1 + return a.source_name.localeCompare(b.source_name) + }) + } + self.close_workers_socket = function (allowReconnect) { if (self.wsReconnectTimer) { clearTimeout(self.wsReconnectTimer) diff --git a/src/templates/pages/monitor_queues.html b/src/templates/pages/monitor_queues.html index f7031c1b0..1e6c3eb05 100644 --- a/src/templates/pages/monitor_queues.html +++ b/src/templates/pages/monitor_queues.html @@ -6,6 +6,7 @@ {% endblock %} {% block content %} + {% if user.is_superuser %}