Home | History | Annotate | Download | only in app
      1 {{/*
      2 Copyright 2017 syzkaller project authors. All rights reserved.
      3 Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
      4 
      5 Main page.
      6 */}}
      7 
      8 <!doctype html>
      9 <html>
     10 <head>
     11 	{{template "head" .Header}}
     12 	<title>syzbot</title>
     13 </head>
     14 <body>
     15 	{{template "header" .Header}}
     16 
     17 	{{if .Log}}
     18 	<b>Error log:</b><br>
     19 	<textarea id="log_textarea" readonly rows="20" wrap=off>{{printf "%s" .Log}}</textarea>
     20 	<script>
     21 		var textarea = document.getElementById("log_textarea");
     22 		textarea.scrollTop = textarea.scrollHeight;
     23 	</script>
     24 	<br><br>
     25 	{{end}}
     26 
     27 	{{if $.Managers}}
     28 	<table class="list_table" id="managers">
     29 		<caption>Managers:</caption>
     30 		<tr>
     31 			<th>Name</th>
     32 			<th>Last Active</th>
     33 			<th>Current Build</th>
     34 			<th>Current Uptime</th>
     35 			<th>Today: Fuzzing Time</th>
     36 			<th>Corpus</th>
     37 			<th>Coverage</th>
     38 			<th>Crashes</th>
     39 			<th>Execs</th>
     40 			<th>Failed Build</th>
     41 		</tr>
     42 		{{range $mgr := $.Managers}}
     43 			<tr>
     44 				<td><a href="{{$mgr.Link}}">{{$mgr.Namespace}}/{{$mgr.Name}}</a></td>
     45 				<td class="stat {{if $mgr.LastActiveBad}}bad{{end}}">{{formatLateness $.Now $mgr.LastActive}}</td>
     46 				{{if $mgr.CurrentBuild}}
     47 					<td class="stat" title="{{$mgr.CurrentBuild.KernelAlias}}/{{$mgr.CurrentBuild.KernelCommit}} (syzkaller {{$mgr.CurrentBuild.SyzkallerCommit}})">{{formatLateness $.Now $mgr.CurrentBuild.Time}}</td>
     48 				{{else}}
     49 					<td></td>
     50 				{{end}}
     51 				<td class="stat">{{formatDuration $mgr.CurrentUpTime}}</td>
     52 				<td class="stat">{{formatDuration $mgr.TotalFuzzingTime}}</td>
     53 				<td class="stat">{{formatStat $mgr.MaxCorpus}}</td>
     54 				<td class="stat">{{formatStat $mgr.MaxCover}}</td>
     55 				<td class="stat">{{formatStat $mgr.TotalCrashes}}</td>
     56 				<td class="stat">{{formatStat $mgr.TotalExecs}}</td>
     57 				<td class="stat">{{if $mgr.FailedBuildBugLink}}<a href="{{$mgr.FailedBuildBugLink}}" class="bad">bug</a>{{end}}</td>
     58 			</tr>
     59 		{{end}}
     60 	</table>
     61 	<br><br>
     62 	{{end}}
     63 
     64 	{{if $.Jobs}}
     65 	<table class="list_table" id="jobs">
     66 		<caption>Recent jobs:</caption>
     67 		<tr>
     68 			<th>Bug</th>
     69 			<th>Created</th>
     70 			<th>Started</th>
     71 			<th>Finished</th>
     72 			<th>User</th>
     73 			<th>Patch</th>
     74 			<th>Repo</th>
     75 			<th>Manager</th>
     76 			<th>Result</th>
     77 		</tr>
     78 		{{range $job := $.Jobs}}
     79 			<tr>
     80 				<td class="title"><a href="{{$job.BugLink}}">{{$job.BugTitle}}</a></td>
     81 				<td class="time">{{if $job.ExternalLink}}<a href="{{$job.ExternalLink}}">{{formatTime $job.Created}}</a>{{else}}{{formatTime $job.Created}}{{end}}</td>
     82 				<td class="time">{{formatTime $job.Started}}{{if gt $job.Attempts 1}} ({{$job.Attempts}}){{end}}</td>
     83 				<td class="time">{{formatTime $job.Finished}}</td>
     84 				<td>{{$job.User}}</td>
     85 				<td><a href="{{$job.PatchLink}}">patch</a></td>
     86 				<td class="kernel" title="{{$job.KernelAlias}}">{{$job.KernelAlias}}</td>
     87 				<td title="{{$job.Namespace}}/{{$job.Reporting}}">{{$job.Manager}}</td>
     88 				{{if $job.ErrorLink}}
     89 					<td class="result"><a href="{{$job.ErrorLink}}">error</a></td>
     90 				{{else if $job.CrashTitle}}
     91 					<td class="result" title="{{$job.CrashTitle}}">
     92 						{{if $job.CrashReportLink}}
     93 							<a href="{{$job.CrashReportLink}}">report</a>
     94 						{{end}}
     95 						{{if $job.CrashLogLink}}
     96 							 <a href="{{$job.CrashLogLink}}">log</a>
     97 						{{end}}
     98 					</td>
     99 				{{else if formatTime $job.Finished}}
    100 					<td class="result">OK</td>
    101 				{{else if formatTime $job.Started}}
    102 					<td class="result">running</td>
    103 				{{else}}
    104 					<td class="result">pending</td>
    105 				{{end}}
    106 			</tr>
    107 		{{end}}
    108 	</table>
    109 	<br><br>
    110 	{{end}}
    111 
    112 	{{range $ns := $.BugNamespaces}}
    113 		<br>
    114 		<h2 id="{{$ns.Name}}">{{$ns.Caption}}</h2>
    115 		{{if $ns.FixedLink}}
    116 			{{if $ns.CoverLink}}
    117 				<a href="{{$ns.CoverLink}}" target="_blank">source coverage</a> |
    118 			{{end}}
    119 			<a href="{{$ns.FixedLink}}">fixed bugs ({{$ns.FixedCount}})</a>
    120 		{{end}}
    121 		{{range $group := $ns.Groups}}
    122 			{{template "bug_list" $group}}
    123 		{{end}}
    124 		<br>
    125 	{{end}}
    126 </body>
    127 </html>
    128