aboutsummaryrefslogtreecommitdiffstats
path: root/syz-cluster/dashboard/handler.go
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2025-04-09 14:30:54 +0200
committerAleksandr Nogikh <nogikh@google.com>2025-04-11 13:02:25 +0000
commit0bd6db418098e2d98a2edf948b41410d3d9f9e70 (patch)
tree65a87774f63eadb75036b75c5294db051943de42 /syz-cluster/dashboard/handler.go
parent27ba3dade815757a586b8f5a994ff675786ca212 (diff)
syz-cluster: share and display triage logs
For now, only share it for the skipped series.
Diffstat (limited to 'syz-cluster/dashboard/handler.go')
-rw-r--r--syz-cluster/dashboard/handler.go12
1 files changed, 12 insertions, 0 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 {