| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <head> | 2 <head> |
| 3 <title>Build Failure</title> | 3 <title>Build Failure</title> |
| 4 <meta charset="utf-8"> | 4 <meta charset="utf-8"> |
| 5 <link rel="stylesheet" href="/common.css"> | 5 <link rel="stylesheet" href="/common.css"> |
| 6 <style> | 6 <style> |
| 7 .running { | 7 .running { |
| 8 color: #666666; | 8 color: #666666; |
| 9 background-color: #fffc6c; | 9 background-color: #fffc6c; |
| 10 border-color: #c5c56d; | 10 border-color: #c5c56d; |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 246 | 246 |
| 247 tableString += generateHeuristicCulpritCls(result.heuristic_analysis.s
uspected_cls, result.supported); | 247 tableString += generateHeuristicCulpritCls(result.heuristic_analysis.s
uspected_cls, result.supported); |
| 248 tableString += '</tr>'; | 248 tableString += '</tr>'; |
| 249 }); | 249 }); |
| 250 | 250 |
| 251 $('#reliable_failures_table tbody').append(tableString); | 251 $('#reliable_failures_table tbody').append(tableString); |
| 252 $('#reliable_failures').removeClass('not-display'); | 252 $('#reliable_failures').removeClass('not-display'); |
| 253 } | 253 } |
| 254 } | 254 } |
| 255 | 255 |
| 256 function displayReliableFailuresToSheriffs(step_name, results) { |
| 257 if (!jQuery.isEmptyObject(results)) { |
| 258 var tableString = ''; |
| 259 $.each(results, function(index, result) { |
| 260 tableString += '<tr>'; |
| 261 |
| 262 var tryJob = result.try_job; |
| 263 var tryJobCulprit = tryJob.culprit; |
| 264 var rowspan = 1; |
| 265 |
| 266 if (jQuery.isEmptyObject(tryJobCulprit)) { |
| 267 rowspan = result.heuristic_analysis.suspected_cls.length > 0 ? resul
t.heuristic_analysis.suspected_cls.length : 1; |
| 268 } |
| 269 tableString += generateCommonCellsForAllCategories(step_name, 'determi
ned', index, result.tests, result.first_failure, result.last_pass, 1); |
| 270 |
| 271 if (! jQuery.isEmptyObject(tryJobCulprit)) { |
| 272 tableString += '<td rowspan="' + rowspan + '">Try Job</td>'; |
| 273 var build_number = result.try_job.try_job_key.split('/')[2]; // try
_job_key would look like: 'master_name/builder_name/build_number'. |
| 274 tableString += '<td rowspan="' + rowspan + '"><a href="' + findit.bu
ilderUrl + '/builds/' + build_number + '">' + build_number + '</a></td>'; |
| 275 var review_url = tryJobCulprit.url || tryJobCulprit.review_url || (f
indit.defaultGitBaseUrl + tryJobCulprit.revision); |
| 276 tableString += '<td rowspan="' + rowspan + '"><a href="' + review_ur
l + '">' + tryJobCulprit.commit_position || tryJobCulprit.revision + '</a></td>'
; |
| 277 // Right now this cell is only for scores of heuristic results, plac
eholder for confidence in the future. |
| 278 tableString += '<td rowspan="' + rowspan + '">N/A</td>'; |
| 279 tableString += '<td rowspan="' + rowspan + '">'; |
| 280 tableString += '<li>Reliable failure: <a href="' + tryJob.task_url+
'">' + tryJob.task_id + '</a></li>'; |
| 281 if (tryJob.try_job_url) { |
| 282 tableString += '<li>For try job details: <a href="' + tryJob.try_j
ob_url+ '">' + tryJob.try_job_build_number + '</a></li>'; |
| 283 } |
| 284 tableString += '</td>'; |
| 285 tableString += '<td rowspan="' + rowspan + '">Try job completed succ
essfully.</td>'; |
| 286 |
| 287 } else { |
| 288 if (result.heuristic_analysis.suspected_cls.length > 0) { |
| 289 tableString += '<td rowspan="' + rowspan + '">Heuristic Analysis</
td>'; |
| 290 tableString += generateHeuristicCulpritCls(result.heuristic_analys
is.suspected_cls, result.supported); |
| 291 } else { |
| 292 var no_result_reason = 'Not Found'; |
| 293 if (! result.supported) { |
| 294 no_result_reason = 'Not Supported'; |
| 295 } |
| 296 tableString += '<td colspan="5" rowspan="' + rowspan + '">' + no_r
esult_reason + '</td>'; |
| 297 } |
| 298 tableString += '<td rowspan="' + rowspan + '">' + findit.tryjobStatu
sMessageMap[tryJob.status] + '</td>'; |
| 299 } |
| 300 |
| 301 tableString += '</tr>'; |
| 302 }); |
| 303 |
| 304 $('#reliable_failures_sheriffs_table tbody').append(tableString); |
| 305 $('#reliable_failures_sheriffs').removeClass('not-display'); |
| 306 } |
| 307 } |
| 308 |
| 256 function displayFlakyFailures(step_name, results) { | 309 function displayFlakyFailures(step_name, results) { |
| 257 if (!jQuery.isEmptyObject(results)) { | 310 if (!jQuery.isEmptyObject(results)) { |
| 258 var tableString = ''; | 311 var tableString = ''; |
| 259 $.each(results, function(index, result) { | 312 $.each(results, function(index, result) { |
| 260 tableString += '<tr>'; | 313 tableString += '<tr>'; |
| 261 var rowspan = result.heuristic_analysis.suspected_cls.length > 0 ? res
ult.heuristic_analysis.suspected_cls.length : 1; | 314 var rowspan = result.heuristic_analysis.suspected_cls.length > 0 ? res
ult.heuristic_analysis.suspected_cls.length : 1; |
| 262 tableString += generateCommonCellsForAllCategories(step_name, 'flaky',
index, result.tests, result.first_failure, result.last_pass, rowspan); | 315 tableString += generateCommonCellsForAllCategories(step_name, 'flaky',
index, result.tests, result.first_failure, result.last_pass, rowspan); |
| 263 | 316 |
| 264 tableString += '<td rowspan="' + rowspan + '"><a href="' + result.try_
job.task_url + '">' + result.try_job.task_id + '</a></td>'; | 317 tableString += '<td rowspan="' + rowspan + '"><a href="' + result.try_
job.task_url + '">' + result.try_job.task_id + '</a></td>'; |
| 265 | 318 |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 311 // TODO: use another style when no culprit CL is found. | 364 // TODO: use another style when no culprit CL is found. |
| 312 $('#status_message').text('completed'); | 365 $('#status_message').text('completed'); |
| 313 $('#status_message').attr('class', 'completed'); | 366 $('#status_message').attr('class', 'completed'); |
| 314 | 367 |
| 315 $('.triage').click(triageAnalysisResult); | 368 $('.triage').click(triageAnalysisResult); |
| 316 | 369 |
| 317 if (!jQuery.isEmptyObject(findit.analysisResult)) { | 370 if (!jQuery.isEmptyObject(findit.analysisResult)) { |
| 318 $.each(findit.analysisResult, function(step_name, step_results) { | 371 $.each(findit.analysisResult, function(step_name, step_results) { |
| 319 $.each(step_results.results, function(category, results) { | 372 $.each(step_results.results, function(category, results) { |
| 320 if (category == 'reliable_failures') { | 373 if (category == 'reliable_failures') { |
| 374 {% if show_debug_info %} |
| 321 displayReliableFailures(step_name, results); | 375 displayReliableFailures(step_name, results); |
| 376 {% else %} |
| 377 displayReliableFailuresToSheriffs(step_name, results); |
| 378 {% endif %} |
| 322 } else if (category == 'unclassified_failures') { | 379 } else if (category == 'unclassified_failures') { |
| 323 displayUnclassifiedFailures(step_name, results); | 380 displayUnclassifiedFailures(step_name, results); |
| 324 } else if (category == 'flaky_failures') { | 381 } else if (category == 'flaky_failures') { |
| 325 displayFlakyFailures(step_name, results); | 382 displayFlakyFailures(step_name, results); |
| 326 } else { | 383 } else { |
| 327 alert('Unrecongnizable category of test results, please file
a bug for it.'); | 384 alert('Unrecongnizable category of test results, please file
a bug for it.'); |
| 328 } | 385 } |
| 329 }); | 386 }); |
| 330 }); | 387 }); |
| 331 } else { | 388 } else { |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 404 <thead> | 461 <thead> |
| 405 <tr> | 462 <tr> |
| 406 <th rowspan="3" title="Failed step name" width="150px">Step</t
h> | 463 <th rowspan="3" title="Failed step name" width="150px">Step</t
h> |
| 407 <th rowspan="3" title="Failed test name" width="300px">Test(s)
</th> | 464 <th rowspan="3" title="Failed test name" width="300px">Test(s)
</th> |
| 408 <th rowspan="3" title="The build cycle in which the step start
ed to fail">First Failure</th> | 465 <th rowspan="3" title="The build cycle in which the step start
ed to fail">First Failure</th> |
| 409 <th rowspan="3" title="The last build cycle in which the step
passed">Last Pass<br>Before Failure</th> | 466 <th rowspan="3" title="The last build cycle in which the step
passed">Last Pass<br>Before Failure</th> |
| 410 <th colspan="8">Suspected CLs</th> | 467 <th colspan="8">Suspected CLs</th> |
| 411 </tr> | 468 </tr> |
| 412 <tr> | 469 <tr> |
| 413 <th colspan="3">Try Job Result</th> | 470 <th colspan="3">Try Job Result</th> |
| 414 <th colspan="4">Heuristic Analysis Result</th> | 471 <th colspan="5">Heuristic Analysis Result</th> |
| 415 </tr> | 472 </tr> |
| 416 <tr> | 473 <tr> |
| 417 <th title="The build cycle in which the CL was built or tested
for the first time">Build Number</th> | 474 <th title="The build cycle in which the CL was built or tested
for the first time">Build Number</th> |
| 418 <th title="Git commit position/hash">Commit</th> | 475 <th title="Git commit position/hash">Commit</th> |
| 419 <th title="Information about related swarming rerun and try jo
b">Swarming rerun and<br>Try Job Info</th> | 476 <th title="Information about related swarming rerun and try jo
b">Swarming rerun and<br>Try Job Info</th> |
| 420 <th title="The build cycle in which the CL was built or tested
for the first time">Build Number</th> | 477 <th title="The build cycle in which the CL was built or tested
for the first time">Build Number</th> |
| 421 <th title="Git commit position/hash">Commit</th> | 478 <th title="Git commit position/hash">Commit</th> |
| 422 <th title="The higher score, the more suspected">Score (<a cla
ss="score-info" href="javascript:">?</a>)</th> | 479 <th title="The higher score, the more suspected">Score (<a cla
ss="score-info" href="javascript:">?</a>)</th> |
| 423 <th title="Why this CL is related to the failure">Hints</th> | 480 <th title="Why this CL is related to the failure">Hints</th> |
| 424 </tr> | 481 </tr> |
| 425 </thead> | 482 </thead> |
| 426 <tbody> | 483 <tbody> |
| 427 </tbody> | 484 </tbody> |
| 428 </table> | 485 </table> |
| 429 <br> | 486 <br> |
| 430 </div> | 487 </div> |
| 431 | 488 |
| 489 <div id="reliable_failures_sheriffs" class='not-display'> |
| 490 <b>Reliable failures</b> |
| 491 <table id="reliable_failures_sheriffs_table"> |
| 492 <thead> |
| 493 <tr> |
| 494 <th rowspan="2" title="Failed step name" width="150px">Step</t
h> |
| 495 <th rowspan="2" title="Failed test name" width="300px">Test(s)
</th> |
| 496 <th rowspan="2" title="The build cycle in which the step start
ed to fail">First Failure</th> |
| 497 <th rowspan="2" title="The last build cycle in which the step
passed">Last Pass<br>Before Failure</th> |
| 498 <th colspan="6">Suspected CLs</th> |
| 499 </tr> |
| 500 <tr> |
| 501 <th title="The source of result, it could be a Try Job rerun o
r Heuristic Analysis on failure logs and CLs in regression range.">Analysis appr
oach</th> |
| 502 <th title="The build cycle in which the CL was built or tested
for the first time">Build Number</th> |
| 503 <th title="Git commit position/hash">Commit</th> |
| 504 <th title="The higher score, the more suspected">Score (<a cla
ss="score-info" href="javascript:">?</a>)</th> |
| 505 <th title="Why this CL is related to the failure">Reason</th> |
| 506 <th title="Additional information such as the status of try jo
b.">Note</th> |
| 507 </tr> |
| 508 </thead> |
| 509 <tbody> |
| 510 </tbody> |
| 511 </table> |
| 512 <br> |
| 513 </div> |
| 514 |
| 432 <div id="flaky_failures" class='not-display'> | 515 <div id="flaky_failures" class='not-display'> |
| 433 <b>Flaky failures</b> | 516 <b>Flaky failures</b> |
| 434 <table id="flaky_failures_table"> | 517 <table id="flaky_failures_table"> |
| 435 <thead> | 518 <thead> |
| 436 <tr> | 519 <tr> |
| 437 <th rowspan="3" title="Failed step name" width="150px">Step</t
h> | 520 <th rowspan="3" title="Failed step name" width="150px">Step</t
h> |
| 438 <th rowspan="3" title="Failed test name" width="300px">Test(s)
</th> | 521 <th rowspan="3" title="Failed test name" width="300px">Test(s)
</th> |
| 439 <th rowspan="3" title="The build cycle in which the step start
ed to fail">First Failure</th> | 522 <th rowspan="3" title="The build cycle in which the step start
ed to fail">First Failure</th> |
| 440 <th rowspan="3" title="The last build cycle in which the step
passed">Last Pass<br>Before Failure</th> | 523 <th rowspan="3" title="The last build cycle in which the step
passed">Last Pass<br>Before Failure</th> |
| 441 <th rowspan="3" title="link to swarming rerun">Swarming Rerun<
/th> | 524 <th rowspan="3" title="link to swarming rerun">Swarming Rerun<
/th> |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 475 <tr> | 558 <tr> |
| 476 <th title="The build cycle in which the CL was built or tested
for the first time">Build Number</th> | 559 <th title="The build cycle in which the CL was built or tested
for the first time">Build Number</th> |
| 477 <th title="Git commit position/hash">Commit</th> | 560 <th title="Git commit position/hash">Commit</th> |
| 478 <th title="The higher score, the more suspected">Score (<a cla
ss="score-info" href="javascript:">?</a>)</th> | 561 <th title="The higher score, the more suspected">Score (<a cla
ss="score-info" href="javascript:">?</a>)</th> |
| 479 <th title="Why this CL is related to the failure">Hints</th> | 562 <th title="Why this CL is related to the failure">Hints</th> |
| 480 </tr> | 563 </tr> |
| 481 </thead> | 564 </thead> |
| 482 <tbody> | 565 <tbody> |
| 483 </tbody> | 566 </tbody> |
| 484 </table> | 567 </table> |
| 568 <br> |
| 485 </div> | 569 </div> |
| 486 </div> | 570 </div> |
| 487 <br> | 571 |
| 488 <div class="thumbs-up-down"> | 572 <div class="thumbs-up-down"> |
| 489 <b>Feedback on Findit result:</b><br> | 573 <b>Feedback on Findit result:</b><br> |
| 490 <div class="triage thumb-up">Correct <img src="https://www.gstatic.com
/images/icons/material/system/1x/thumb_up_black_24dp.png"/></div> | 574 <div class="triage thumb-up">Correct <img src="https://www.gstatic.com
/images/icons/material/system/1x/thumb_up_black_24dp.png"/></div> |
| 491 <div class="triage thumb-down"><img src="https://www.gstatic.com/image
s/icons/material/system/1x/thumb_down_black_24dp.png"/> Incorrect</div> | 575 <div class="triage thumb-down"><img src="https://www.gstatic.com/image
s/icons/material/system/1x/thumb_down_black_24dp.png"/> Incorrect</div> |
| 492 </div> | 576 </div> |
| 493 </div> | 577 </div> |
| 494 {% endif %} | 578 {% endif %} |
| 495 {% endif %} | 579 {% endif %} |
| 496 | 580 |
| 497 {% if show_triage_help_button %} | 581 {% if show_triage_help_button %} |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 534 appearing in the failure log. (eg: file.h was changed and | 618 appearing in the failure log. (eg: file.h was changed and |
| 535 file_unittest.cc or file_impl.cc appeared in the log.)</li> | 619 file_unittest.cc or file_impl.cc appeared in the log.)</li> |
| 536 <li>1: The CL rolled a dependency within src/DEPS and a file of that | 620 <li>1: The CL rolled a dependency within src/DEPS and a file of that |
| 537 dependency appears in the failure log. (eg: third_party/dep | 621 dependency appears in the failure log. (eg: third_party/dep |
| 538 was changed in src/DEPS and third_party/dep/f.cpp appeared | 622 was changed in src/DEPS and third_party/dep/f.cpp appeared |
| 539 in the log.)</li> | 623 in the log.)</li> |
| 540 </ul> | 624 </ul> |
| 541 (More rules will be added when implemented.) | 625 (More rules will be added when implemented.) |
| 542 </div> | 626 </div> |
| 543 </body> | 627 </body> |
| OLD | NEW |