aboutsummaryrefslogtreecommitdiffstats
path: root/dashboard/app/admin.html
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2019-04-05 16:00:20 +0200
committerDmitry Vyukov <dvyukov@google.com>2019-04-05 17:56:42 +0200
commitfa763482c3e2ef60aa7210e1bff6b206ef814229 (patch)
tree1eb39831df3bbe69b4acb87ecc1ff5d80ee3d42a /dashboard/app/admin.html
parentecbfbf0bcfe4febf21a44d8e008b72e787b9fe98 (diff)
dashboard/app: add admin page
Add /admin page and move logs, jobs, manager onto it. The main page is too overloaded and takes too long to load. We need to start splitting it. This is a first step.
Diffstat (limited to 'dashboard/app/admin.html')
-rw-r--r--dashboard/app/admin.html80
1 files changed, 80 insertions, 0 deletions
diff --git a/dashboard/app/admin.html b/dashboard/app/admin.html
new file mode 100644
index 000000000..09fd67513
--- /dev/null
+++ b/dashboard/app/admin.html
@@ -0,0 +1,80 @@
+{{/*
+Copyright 2019 syzkaller project authors. All rights reserved.
+Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
+
+Main page.
+*/}}
+
+<!doctype html>
+<html>
+<head>
+ {{template "head" .Header}}
+ <title>syzbot</title>
+</head>
+<body>
+ {{template "header" .Header}}
+
+ <a class="plain" href="#log"><div id="log"><b>Error log:</b></div></a>
+ <textarea id="log_textarea" readonly rows="20" wrap=off>{{printf "%s" .Log}}</textarea>
+ <script>
+ var textarea = document.getElementById("log_textarea");
+ textarea.scrollTop = textarea.scrollHeight;
+ </script>
+ <br><br>
+
+ {{template "manager_list" $.Managers}}
+
+ <table class="list_table">
+ <caption id="jobs"><a class="plain" href="#jobs">Recent jobs:</a></caption>
+ <tr>
+ <th>Bug</th>
+ <th>Created</th>
+ <th>Duration</th>
+ <th>User</th>
+ <th>Patch</th>
+ <th>Repo</th>
+ <th>Manager</th>
+ <th>Result</th>
+ </tr>
+ {{range $job := $.Jobs}}
+ <tr>
+ <td class="title"><a href="{{$job.BugLink}}">{{$job.BugTitle}}</a></td>
+ <td class="time">{{link $job.ExternalLink (formatTime $job.Created)}}</td>
+ <td class="time" title="started: {{formatTime $job.Started}}&#013;finished: {{formatTime $job.Finished}}">
+ {{formatDuration $job.Duration}}{{if gt $job.Attempts 1}} ({{$job.Attempts}}){{end}}
+ </td>
+ <td>
+ {{if eq $job.Type 0}}
+ {{$job.User}}
+ {{else if eq $job.Type 1}}
+ bisect
+ {{else if eq $job.Type 2}}
+ bisect fix
+ {{end}}
+ </td>
+ <td>{{optlink $job.PatchLink "patch"}}</td>
+ <td class="kernel" title="{{$job.KernelAlias}}">{{$job.KernelAlias}}</td>
+ <td title="{{$job.Namespace}}/{{$job.Reporting}}">{{$job.Manager}}</td>
+ <td class="result">
+ {{if $job.ErrorLink}}
+ {{link $job.ErrorLink "error"}}
+ {{else if $job.LogLink}}
+ {{link $job.LogLink "log"}}
+ ({{if $job.Commit}}1{{else}}{{len $job.Commits}}{{end}})
+ {{else if $job.CrashTitle}}
+ {{optlink $job.CrashReportLink "report"}}
+ {{optlink $job.CrashLogLink "log"}}
+ {{else if formatTime $job.Finished}}
+ OK
+ {{else if formatTime $job.Started}}
+ running
+ {{else}}
+ pending
+ {{end}}
+ </td>
+ </tr>
+ {{end}}
+ </table>
+ <br><br>
+</body>
+</html>