| OLD | NEW |
| 1 /* | 1 /* |
| 2 Handlers and types specific to Chromium perf tasks. | 2 Handlers and types specific to Chromium perf tasks. |
| 3 */ | 3 */ |
| 4 | 4 |
| 5 package chromium_perf | 5 package chromium_perf |
| 6 | 6 |
| 7 import ( | 7 import ( |
| 8 "database/sql" | 8 "database/sql" |
| 9 "encoding/json" | 9 "encoding/json" |
| 10 "fmt" | 10 "fmt" |
| (...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 227 default: | 227 default: |
| 228 return nil, fmt.Errorf("CL project is %s; only chromium and skia
are supported.", detail.Project) | 228 return nil, fmt.Errorf("CL project is %s; only chromium and skia
are supported.", detail.Project) |
| 229 } | 229 } |
| 230 return clData, nil | 230 return clData, nil |
| 231 } | 231 } |
| 232 | 232 |
| 233 func getCLHandler(w http.ResponseWriter, r *http.Request) { | 233 func getCLHandler(w http.ResponseWriter, r *http.Request) { |
| 234 w.Header().Set("Content-Type", "application/json") | 234 w.Header().Set("Content-Type", "application/json") |
| 235 detail, err := getCLDetail(r.FormValue("cl")) | 235 detail, err := getCLDetail(r.FormValue("cl")) |
| 236 if err != nil { | 236 if err != nil { |
| 237 » » httputils.ReportError(w, r, err, "") | 237 » » httputils.ReportError(w, r, err, "Failed to get CL details") |
| 238 return | 238 return |
| 239 } | 239 } |
| 240 if detail.Issue == 0 { | 240 if detail.Issue == 0 { |
| 241 // Return successful empty response, since the user could still
be typing. | 241 // Return successful empty response, since the user could still
be typing. |
| 242 if err := json.NewEncoder(w).Encode(map[string]interface{}{}); e
rr != nil { | 242 if err := json.NewEncoder(w).Encode(map[string]interface{}{}); e
rr != nil { |
| 243 httputils.ReportError(w, r, err, "Failed to encode JSON"
) | 243 httputils.ReportError(w, r, err, "Failed to encode JSON"
) |
| 244 } | 244 } |
| 245 return | 245 return |
| 246 } | 246 } |
| 247 patch, err := getCLPatch(detail, 0) | 247 patch, err := getCLPatch(detail, 0) |
| 248 if err != nil { | 248 if err != nil { |
| 249 » » httputils.ReportError(w, r, err, "") | 249 » » httputils.ReportError(w, r, err, "Failed to get CL patch") |
| 250 return | 250 return |
| 251 } | 251 } |
| 252 clData, err := gatherCLData(detail, patch) | 252 clData, err := gatherCLData(detail, patch) |
| 253 if err != nil { | 253 if err != nil { |
| 254 » » httputils.ReportError(w, r, err, "") | 254 » » httputils.ReportError(w, r, err, "Failed to get CL data") |
| 255 return | 255 return |
| 256 } | 256 } |
| 257 if err = json.NewEncoder(w).Encode(clData); err != nil { | 257 if err = json.NewEncoder(w).Encode(clData); err != nil { |
| 258 » » httputils.ReportError(w, r, err, "") | 258 » » httputils.ReportError(w, r, err, "Failed to encode JSON") |
| 259 return | 259 return |
| 260 } | 260 } |
| 261 } | 261 } |
| 262 | 262 |
| 263 type AddTaskVars struct { | 263 type AddTaskVars struct { |
| 264 task_common.AddTaskCommonVars | 264 task_common.AddTaskCommonVars |
| 265 | 265 |
| 266 Benchmark string `json:"benchmark"` | 266 Benchmark string `json:"benchmark"` |
| 267 Platform string `json:"platform"` | 267 Platform string `json:"platform"` |
| 268 PageSets string `json:"page_sets"` | 268 PageSets string `json:"page_sets"` |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 396 trybotTask := TrybotTask{} | 396 trybotTask := TrybotTask{} |
| 397 if err := json.Unmarshal(data, &trybotTask); err != nil { | 397 if err := json.Unmarshal(data, &trybotTask); err != nil { |
| 398 httputils.ReportError(w, r, err, fmt.Sprintf("Failed to add %v t
rybot task", trybotTask)) | 398 httputils.ReportError(w, r, err, fmt.Sprintf("Failed to add %v t
rybot task", trybotTask)) |
| 399 return | 399 return |
| 400 } | 400 } |
| 401 | 401 |
| 402 task := &trybotTask.TaskVars | 402 task := &trybotTask.TaskVars |
| 403 // Add patch data to the task. | 403 // Add patch data to the task. |
| 404 detail, err := getCLDetail(trybotTask.Issue) | 404 detail, err := getCLDetail(trybotTask.Issue) |
| 405 if err != nil { | 405 if err != nil { |
| 406 » » httputils.ReportError(w, r, err, "") | 406 » » httputils.ReportError(w, r, err, "Failed to get CL details") |
| 407 return | 407 return |
| 408 } | 408 } |
| 409 patchsetID, err := strconv.Atoi(trybotTask.PatchsetID) | 409 patchsetID, err := strconv.Atoi(trybotTask.PatchsetID) |
| 410 if err != nil { | 410 if err != nil { |
| 411 » » httputils.ReportError(w, r, err, "") | 411 » » httputils.ReportError(w, r, err, "Failed to get Patchset ID") |
| 412 return | 412 return |
| 413 } | 413 } |
| 414 patch, err := getCLPatch(detail, patchsetID) | 414 patch, err := getCLPatch(detail, patchsetID) |
| 415 if err != nil { | 415 if err != nil { |
| 416 » » httputils.ReportError(w, r, err, "") | 416 » » httputils.ReportError(w, r, err, "Failed to get CL patch") |
| 417 return | 417 return |
| 418 } | 418 } |
| 419 clData, err := gatherCLData(detail, patch) | 419 clData, err := gatherCLData(detail, patch) |
| 420 if err != nil { | 420 if err != nil { |
| 421 » » httputils.ReportError(w, r, err, "") | 421 » » httputils.ReportError(w, r, err, "Failed to get CL data") |
| 422 return | 422 return |
| 423 } | 423 } |
| 424 | 424 |
| 425 task.Description = fmt.Sprintf("Trybot run for http://codereview.chromiu
m.org/%s#ps%s", clData["cl"], clData["patchset"]) | 425 task.Description = fmt.Sprintf("Trybot run for http://codereview.chromiu
m.org/%s#ps%s", clData["cl"], clData["patchset"]) |
| 426 if val, ok := clData["chromium_patch"]; ok { | 426 if val, ok := clData["chromium_patch"]; ok { |
| 427 task.ChromiumPatch = val | 427 task.ChromiumPatch = val |
| 428 } | 428 } |
| 429 if val, ok := clData["skia_patch"]; ok { | 429 if val, ok := clData["skia_patch"]; ok { |
| 430 task.SkiaPatch = val | 430 task.SkiaPatch = val |
| 431 } | 431 } |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 475 r.HandleFunc("/"+ctfeutil.GET_CHROMIUM_PERF_RUN_STATUS_URI, getTaskStatu
sHandler).Methods("GET") | 475 r.HandleFunc("/"+ctfeutil.GET_CHROMIUM_PERF_RUN_STATUS_URI, getTaskStatu
sHandler).Methods("GET") |
| 476 r.HandleFunc("/"+ctfeutil.CHROMIUM_PERF_PARAMETERS_POST_URI, parametersH
andler).Methods("POST") | 476 r.HandleFunc("/"+ctfeutil.CHROMIUM_PERF_PARAMETERS_POST_URI, parametersH
andler).Methods("POST") |
| 477 r.HandleFunc("/"+ctfeutil.CHROMIUM_PERF_CL_DATA_POST_URI, getCLHandler).
Methods("POST") | 477 r.HandleFunc("/"+ctfeutil.CHROMIUM_PERF_CL_DATA_POST_URI, getCLHandler).
Methods("POST") |
| 478 r.HandleFunc("/"+ctfeutil.ADD_CHROMIUM_PERF_TASK_POST_URI, addTaskHandle
r).Methods("POST") | 478 r.HandleFunc("/"+ctfeutil.ADD_CHROMIUM_PERF_TASK_POST_URI, addTaskHandle
r).Methods("POST") |
| 479 r.HandleFunc("/"+ctfeutil.GET_CHROMIUM_PERF_TASKS_POST_URI, getTasksHand
ler).Methods("POST") | 479 r.HandleFunc("/"+ctfeutil.GET_CHROMIUM_PERF_TASKS_POST_URI, getTasksHand
ler).Methods("POST") |
| 480 r.HandleFunc("/"+ctfeutil.UPDATE_CHROMIUM_PERF_TASK_POST_URI, updateTask
Handler).Methods("POST") | 480 r.HandleFunc("/"+ctfeutil.UPDATE_CHROMIUM_PERF_TASK_POST_URI, updateTask
Handler).Methods("POST") |
| 481 r.HandleFunc("/"+ctfeutil.WEBHOOK_ADD_CHROMIUM_PERF_TASK_POST_URI, addTr
ybotTaskHandler).Methods("POST") | 481 r.HandleFunc("/"+ctfeutil.WEBHOOK_ADD_CHROMIUM_PERF_TASK_POST_URI, addTr
ybotTaskHandler).Methods("POST") |
| 482 r.HandleFunc("/"+ctfeutil.DELETE_CHROMIUM_PERF_TASK_POST_URI, deleteTask
Handler).Methods("POST") | 482 r.HandleFunc("/"+ctfeutil.DELETE_CHROMIUM_PERF_TASK_POST_URI, deleteTask
Handler).Methods("POST") |
| 483 r.HandleFunc("/"+ctfeutil.REDO_CHROMIUM_PERF_TASK_POST_URI, redoTaskHand
ler).Methods("POST") | 483 r.HandleFunc("/"+ctfeutil.REDO_CHROMIUM_PERF_TASK_POST_URI, redoTaskHand
ler).Methods("POST") |
| 484 } | 484 } |
| OLD | NEW |