diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2026-01-14 17:10:32 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2026-01-15 10:08:05 +0000 |
| commit | 41cfbc00ddb9f36db18d9e02ddd517d65ae1177c (patch) | |
| tree | c1c1c006a32dbe2d29e5e9c490d7b65c4fa7bfc0 | |
| parent | 82a2649e8d7d7a5cc81051c0a3520368a98cfbb2 (diff) | |
dashboard/app: show crash report on AI job page
| -rw-r--r-- | dashboard/app/ai.go | 27 | ||||
| -rw-r--r-- | dashboard/app/templates/ai_job.html | 5 |
2 files changed, 26 insertions, 6 deletions
diff --git a/dashboard/app/ai.go b/dashboard/app/ai.go index 511865da3..8d8767832 100644 --- a/dashboard/app/ai.go +++ b/dashboard/app/ai.go @@ -8,6 +8,7 @@ import ( "context" "encoding/json" "fmt" + "html/template" "net/http" "slices" "strings" @@ -33,8 +34,9 @@ type uiAIJobPage struct { Header *uiHeader Job *uiAIJob // The slice contains the same single Job, just for HTML templates convenience. - Jobs []*uiAIJob - Trajectory []*uiAITrajectorySpan + Jobs []*uiAIJob + CrashReport template.HTML + Trajectory []*uiAITrajectorySpan } type uiAIJob struct { @@ -131,12 +133,25 @@ func handleAIJobPage(ctx context.Context, w http.ResponseWriter, r *http.Request if err != nil { return err } + var args map[string]any + if job.Args.Valid { + args = job.Args.Value.(map[string]any) + } + var crashReport template.HTML + if reportID, _ := args["CrashReportID"].(json.Number).Int64(); reportID != 0 { + report, _, err := getText(ctx, textCrashReport, reportID) + if err != nil { + return err + } + crashReport = linkifyReport(report, args["KernelRepo"].(string), args["KernelCommit"].(string)) + } uiJob := makeUIAIJob(job) page := &uiAIJobPage{ - Header: hdr, - Job: uiJob, - Jobs: []*uiAIJob{uiJob}, - Trajectory: makeUIAITrajectory(trajectory), + Header: hdr, + Job: uiJob, + Jobs: []*uiAIJob{uiJob}, + CrashReport: crashReport, + Trajectory: makeUIAITrajectory(trajectory), } return serveTemplate(w, "ai_job.html", page) } diff --git a/dashboard/app/templates/ai_job.html b/dashboard/app/templates/ai_job.html index 34c7d39e8..8f2526c63 100644 --- a/dashboard/app/templates/ai_job.html +++ b/dashboard/app/templates/ai_job.html @@ -41,6 +41,11 @@ Detailed info on a single AI job execution. {{end}} {{end}} + {{if .CrashReport}} + <br><b>Crash report:</b><br> + <div id="crash_div"><pre>{{.CrashReport}}</pre></div><br> + {{end}} + <table class="list_table"> <caption>Trajectory:</caption> <thead><tr> |
