From 6fc4dc4e27bed27e74da88e780c30621b66892c7 Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date: Tue, 22 Mar 2016 17:03:26 +0100
Subject: [PATCH] /queue-summary: Show number of queued builds by system type

---
 src/lib/Hydra/Controller/Root.pm |  4 ++++
 src/root/queue-summary.tt        | 17 +++++++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/src/lib/Hydra/Controller/Root.pm b/src/lib/Hydra/Controller/Root.pm
index 5109b3b8..728f10ba 100644
--- a/src/lib/Hydra/Controller/Root.pm
+++ b/src/lib/Hydra/Controller/Root.pm
@@ -109,6 +109,10 @@ sub queue_summary :Local :Path('queue-summary') :Args(0) {
         "select project, jobset, count(*) as queued, min(timestamp) as oldest, max(timestamp) as newest from Builds " .
         "where finished = 0 group by project, jobset order by queued desc",
         { Slice => {} });
+
+    $c->stash->{systems} = dbh($c)->selectall_arrayref(
+        "select system, count(*) as c from Builds where finished = 0 group by system order by c desc",
+        { Slice => {} });
 }
 
 
diff --git a/src/root/queue-summary.tt b/src/root/queue-summary.tt
index 277da444..b6cd4339 100644
--- a/src/root/queue-summary.tt
+++ b/src/root/queue-summary.tt
@@ -28,6 +28,23 @@
     </tdata>
   </table>
 
+  <table class="table table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>System type</th>
+        <th># Queued</th>
+      </tr>
+    </thead>
+    <tdata>
+      [% FOREACH s IN systems %]
+        <tr>
+          <td><tt>[% HTML.escape(s.system) %]</tt></td>
+          <td>[% s.c %]</td>
+        </tr>
+      [% END %]
+    </tdata>
+  </table>
+
 [% END %]
 
 [% END %]