diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2017-08-08 14:31:39 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2017-08-08 14:31:39 +0200 |
| commit | 3aabbf13cf93487165bb435899cd02a320d77bb0 (patch) | |
| tree | 4b8ff493d0de6b1e3545c4ad3b956e4f9e18563f | |
| parent | a3c5751de3df4c49b3025ccf5971602b7badb2d3 (diff) | |
dashboard/app: output more info about crashes
| -rw-r--r-- | dashboard/app/bug.html | 6 | ||||
| -rw-r--r-- | dashboard/app/config_stub.go | 1 | ||||
| -rw-r--r-- | dashboard/app/main.go | 47 | ||||
| -rw-r--r-- | dashboard/app/static/style.css | 2 |
4 files changed, 41 insertions, 15 deletions
diff --git a/dashboard/app/bug.html b/dashboard/app/bug.html index 94e59a90c..9b4d7425c 100644 --- a/dashboard/app/bug.html +++ b/dashboard/app/bug.html @@ -20,6 +20,9 @@ <tr> <th>Manager</th> <th>Time</th> + <th>Kernel</th> + <th>Commit</th> + <th>Config</th> <th>Log</th> <th>Report</th> <th>Syz repro</th> @@ -30,6 +33,9 @@ <tr> <td class="manager">{{$c.Manager}}</td> <td class="time">{{formatTime $c.Time}}</td> + <td class="kernel" title="{{$c.KernelRepo}}/{{$c.KernelBranch}}">{{$c.KernelRepo}}/{{$c.KernelBranch}}</td> + <td class="tag">{{$c.KernelCommit}}</td> + <td class="config"><a href="{{$c.KernelConfigLink}}">.config</a></td> <td class="repro">{{if $c.LogLink}}<a href="{{$c.LogLink}}">log</a>{{end}}</td> <td class="repro">{{if $c.ReportLink}}<a href="{{$c.ReportLink}}">report</a>{{end}}</td> <td class="repro">{{if $c.ReproSyzLink}}<a href="{{$c.ReproSyzLink}}">syz</a>{{end}}</td> diff --git a/dashboard/app/config_stub.go b/dashboard/app/config_stub.go index 0c68453a8..932ebf324 100644 --- a/dashboard/app/config_stub.go +++ b/dashboard/app/config_stub.go @@ -2,6 +2,7 @@ // Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. // +build !aetest +// +build package dash diff --git a/dashboard/app/main.go b/dashboard/app/main.go index b56706f03..f61a780e2 100644 --- a/dashboard/app/main.go +++ b/dashboard/app/main.go @@ -58,13 +58,18 @@ type uiBug struct { } type uiCrash struct { - Manager string - Time time.Time - Maintainers string - LogLink string - ReportLink string - ReproSyzLink string - ReproCLink string + Manager string + Time time.Time + Maintainers string + LogLink string + ReportLink string + ReproSyzLink string + ReproCLink string + SyzkallerCommit string + KernelRepo string + KernelBranch string + KernelCommit string + KernelConfigLink string } // handleMain serves main page. @@ -192,16 +197,30 @@ func loadCrashesForBug(c context.Context, bug *Bug) ([]*uiCrash, error) { if err != nil { return nil, err } + builds := make(map[string]*Build) var results []*uiCrash for _, crash := range crashes { + build := builds[crash.BuildID] + if build == nil { + build, err = loadBuild(c, bug.Namespace, crash.BuildID) + if err != nil { + return nil, err + } + builds[crash.BuildID] = build + } ui := &uiCrash{ - Manager: crash.Manager, - Time: crash.Time, - Maintainers: fmt.Sprintf("%q", crash.Maintainers), - LogLink: textLink("CrashLog", crash.Log), - ReportLink: textLink("CrashReport", crash.Report), - ReproSyzLink: textLink("ReproSyz", crash.ReproSyz), - ReproCLink: textLink("ReproC", crash.ReproC), + Manager: crash.Manager, + Time: crash.Time, + Maintainers: fmt.Sprintf("%q", crash.Maintainers), + LogLink: textLink("CrashLog", crash.Log), + ReportLink: textLink("CrashReport", crash.Report), + ReproSyzLink: textLink("ReproSyz", crash.ReproSyz), + ReproCLink: textLink("ReproC", crash.ReproC), + SyzkallerCommit: build.SyzkallerCommit, + KernelRepo: build.KernelRepo, + KernelBranch: build.KernelBranch, + KernelCommit: build.KernelCommit, + KernelConfigLink: textLink("KernelConfig", build.KernelConfig), } results = append(results, ui) } diff --git a/dashboard/app/static/style.css b/dashboard/app/static/style.css index 07f742485..a23ff5fd7 100644 --- a/dashboard/app/static/style.css +++ b/dashboard/app/static/style.css @@ -98,7 +98,7 @@ table td, table th { max-width: 300pt; } -.list_table .commits { +.list_table .kernel { width: 200pt; max-width: 200pt; } |
