aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/manager
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2025-07-29 15:56:25 +0200
committerAleksandr Nogikh <nogikh@google.com>2025-08-07 09:24:57 +0000
commit3ba98b073d93c50bf808f43b482702184f6da7c5 (patch)
treed64cc0c2347c3b484c9a66adc29e88d0de4fe9de /pkg/manager
parent00dc68fb94791fb479cdd1932b9dd6793f14fefd (diff)
pkg/manager: display repro attempts
On the syz-manager's html dashboard, dispay the number of repro attempts per each bug. It will help distinguish the bugs where reproduction was attempted and failed from those that have never been reproduced yet.
Diffstat (limited to 'pkg/manager')
-rw-r--r--pkg/manager/html/main.html1
-rw-r--r--pkg/manager/http.go42
2 files changed, 23 insertions, 20 deletions
diff --git a/pkg/manager/html/main.html b/pkg/manager/html/main.html
index 2b0cb2250..eb3644bba 100644
--- a/pkg/manager/html/main.html
+++ b/pkg/manager/html/main.html
@@ -35,6 +35,7 @@ Use of this source code is governed by Apache 2 LICENSE that can be found in the
<td class="time {{if not $c.New}}inactive{{end}}">{{formatTime $c.FirstTime}}</td>
<td class="time {{if not $c.Active}}inactive{{end}}">{{formatTime $c.LastTime}}</td>
<td>
+ {{if $c.ReproAttempts}}[{{$c.ReproAttempts}} repro attempts]{{end}}
{{if $c.Triaged}}
<a href="/report?id={{$c.ID}}">{{$c.Triaged}}</a>
{{end}}
diff --git a/pkg/manager/http.go b/pkg/manager/http.go
index b8ffbca81..3e7ba6fcf 100644
--- a/pkg/manager/http.go
+++ b/pkg/manager/http.go
@@ -355,16 +355,17 @@ func makeUICrashType(info *BugInfo, startTime time.Time, repros map[string]bool)
triaged := reproStatus(info.HasRepro, info.HasCRepro, repros[info.Title],
info.ReproAttempts >= MaxReproAttempts)
return UICrashType{
- Description: info.Title,
- FirstTime: info.FirstTime,
- LastTime: info.LastTime,
- New: info.FirstTime.After(startTime),
- Active: info.LastTime.After(startTime),
- ID: info.ID,
- Count: len(info.Crashes),
- Triaged: triaged,
- Strace: info.StraceFile,
- Crashes: crashes,
+ Description: info.Title,
+ FirstTime: info.FirstTime,
+ LastTime: info.LastTime,
+ New: info.FirstTime.After(startTime),
+ Active: info.LastTime.After(startTime),
+ ID: info.ID,
+ Count: len(info.Crashes),
+ Triaged: triaged,
+ Strace: info.StraceFile,
+ Crashes: crashes,
+ ReproAttempts: info.ReproAttempts,
}
}
@@ -1028,16 +1029,17 @@ type UICrashPage struct {
}
type UICrashType struct {
- Description string
- FirstTime time.Time
- LastTime time.Time
- New bool // was first found in the current run
- Active bool // was found in the current run
- ID string
- Count int
- Triaged string
- Strace string
- Crashes []UICrash
+ Description string
+ FirstTime time.Time
+ LastTime time.Time
+ New bool // was first found in the current run
+ Active bool // was found in the current run
+ ID string
+ Count int
+ Triaged string
+ Strace string
+ ReproAttempts int
+ Crashes []UICrash
}
type UICrash struct {