From 6a673c5037dce5b85634cac4fabcc3fa5d33bb43 Mon Sep 17 00:00:00 2001 From: Yulong Zhang Date: Sun, 8 Feb 2026 00:36:35 +0000 Subject: dashboard/app: add llm/tool stats/graphs --- dashboard/app/ai.go | 23 ++--- dashboard/app/templates/ai_job.html | 171 ++++++++++++++++++++++++++++++++++++ 2 files changed, 184 insertions(+), 10 deletions(-) diff --git a/dashboard/app/ai.go b/dashboard/app/ai.go index 053ce35de..166473494 100644 --- a/dashboard/app/ai.go +++ b/dashboard/app/ai.go @@ -39,10 +39,11 @@ type uiAIJobPage struct { Header *uiHeader Job *uiAIJob // The slice contains the same single Job, just for HTML templates convenience. - Jobs []*uiAIJob - CrashReport template.HTML - Trajectory []*uiAITrajectorySpan - History []*uiJobReviewHistory + Jobs []*uiAIJob + CrashReport template.HTML + Trajectory []*uiAITrajectorySpan + History []*uiJobReviewHistory + TrajectoryJSON template.JS } type uiJobReviewHistory struct { @@ -194,13 +195,15 @@ func handleAIJobPage(ctx context.Context, w http.ResponseWriter, r *http.Request crashReport = linkifyReport(report, args["KernelRepo"].(string), args["KernelCommit"].(string)) } uiJob := makeUIAIJob(job) + trajectoryJSON, _ := json.Marshal(makeUIAITrajectory(trajectory)) page := &uiAIJobPage{ - Header: hdr, - Job: uiJob, - Jobs: []*uiAIJob{uiJob}, - CrashReport: crashReport, - Trajectory: makeUIAITrajectory(trajectory), - History: makeUIJobReviewHistory(history), + Header: hdr, + Job: uiJob, + Jobs: []*uiAIJob{uiJob}, + CrashReport: crashReport, + Trajectory: makeUIAITrajectory(trajectory), + History: makeUIJobReviewHistory(history), + TrajectoryJSON: template.JS(trajectoryJSON), } return serveTemplate(w, "ai_job.html", page) } diff --git a/dashboard/app/templates/ai_job.html b/dashboard/app/templates/ai_job.html index 09b2e5370..ca3c10131 100644 --- a/dashboard/app/templates/ai_job.html +++ b/dashboard/app/templates/ai_job.html @@ -10,6 +10,144 @@ Detailed info on a single AI job execution. {{template "head" .Header}} syzbot + + {{template "header" .Header}} @@ -125,5 +263,38 @@ Detailed info on a single AI job execution. {{end}} + +
+ + + + + + + + + + + + +
LLM Calls Summary:
Total CallsTotal TokensAvg TokensTotal Duration (Seconds)Avg Duration (Seconds)
+
+ +
+ + + + + + + + + + +
Tool Calls Summary:
Total CallsTotal Duration (Seconds)Avg Duration (Seconds)
+
+ +
+
-- cgit mrf-deployment