diff options
Diffstat (limited to 'syz-cluster/dashboard')
| -rw-r--r-- | syz-cluster/dashboard/handler.go | 12 | ||||
| -rw-r--r-- | syz-cluster/dashboard/templates/series.html | 7 |
2 files changed, 18 insertions, 1 deletions
diff --git a/syz-cluster/dashboard/handler.go b/syz-cluster/dashboard/handler.go index c18436978..c17921351 100644 --- a/syz-cluster/dashboard/handler.go +++ b/syz-cluster/dashboard/handler.go @@ -57,6 +57,7 @@ var staticFs embed.FS func (h *dashboardHandler) Mux() *http.ServeMux { mux := http.NewServeMux() mux.HandleFunc("/sessions/{id}/log", errToStatus(h.sessionLog)) + mux.HandleFunc("/sessions/{id}/triage_log", errToStatus(h.sessionTriageLog)) mux.HandleFunc("/sessions/{id}/test_logs", errToStatus(h.sessionTestLog)) mux.HandleFunc("/sessions/{id}/test_artifacts", errToStatus(h.sessionTestArtifacts)) mux.HandleFunc("/series/{id}", errToStatus(h.seriesInfo)) @@ -223,6 +224,17 @@ func (h *dashboardHandler) sessionLog(w http.ResponseWriter, r *http.Request) er } // nolint:dupl +func (h *dashboardHandler) sessionTriageLog(w http.ResponseWriter, r *http.Request) error { + session, err := h.sessionRepo.GetByID(r.Context(), r.PathValue("id")) + if err != nil { + return err + } else if session == nil { + return fmt.Errorf("%w: session", errNotFound) + } + return h.streamBlob(w, session.TriageLogURI) +} + +// nolint:dupl func (h *dashboardHandler) patchContent(w http.ResponseWriter, r *http.Request) error { patch, err := h.seriesRepo.PatchByID(r.Context(), r.PathValue("id")) if err != nil { diff --git a/syz-cluster/dashboard/templates/series.html b/syz-cluster/dashboard/templates/series.html index 754bfe9e2..9a71e0053 100644 --- a/syz-cluster/dashboard/templates/series.html +++ b/syz-cluster/dashboard/templates/series.html @@ -99,7 +99,12 @@ {{if not .SkipReason.IsNull}} <tr> <th>Skipped</th> - <td>{{.SkipReason.StringVal}}</td> + <td> + {{.SkipReason.StringVal}} + {{if .TriageLogURI}} + <a href="/sessions/{{.ID}}/triage_log">[Log]</a> + {{end}} + </td> </tr> {{end}} {{if .LogURI}} |
