| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <head> | 2 <head> |
| 3 <meta charset="UTF-8"> | 3 <meta charset="UTF-8"> |
| 4 <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"> | 4 <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"> |
| 5 <title> Analysis of Flaky Test</title> | 5 <title> Analysis of Flaky Test</title> |
| 6 <style type="text/css"> | 6 <style type="text/css"> |
| 7 .container { | 7 .container { |
| 8 box-sizing: border-box; | 8 box-sizing: border-box; |
| 9 width: 600px; | 9 width: 600px; |
| 10 height: 300px; | 10 height: 300px; |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 return; | 61 return; |
| 62 } | 62 } |
| 63 | 63 |
| 64 var not_run_data = []; | 64 var not_run_data = []; |
| 65 var run_data = []; | 65 var run_data = []; |
| 66 $.each(findit.passRates, function(index, value) { | 66 $.each(findit.passRates, function(index, value) { |
| 67 // Convert pass rate from [0, 1] to a percentage. | 67 // Convert pass rate from [0, 1] to a percentage. |
| 68 var rate = (value[1] * 100).toFixed(0); | 68 var rate = (value[1] * 100).toFixed(0); |
| 69 // -1 means that the test doesn't exist or is disabled at the build. | 69 // -1 means that the test doesn't exist or is disabled at the build. |
| 70 if (rate < 0) { | 70 if (rate < 0) { |
| 71 not_run_data.push([value[0], 100]); | 71 not_run_data.push([value[0], 100, value[2]]); |
| 72 } else { | 72 } else { |
| 73 run_data.push([value[0], rate]); | 73 run_data.push([value[0], rate, value[2]]); |
| 74 } | 74 } |
| 75 }); | 75 }); |
| 76 | 76 |
| 77 var data_series = []; | 77 var data_series = []; |
| 78 var run_data_sery_index = 0; | 78 var run_data_sery_index = 0; |
| 79 if (not_run_data.length > 0) { | 79 if (not_run_data.length > 0) { |
| 80 data_series.push({ | 80 data_series.push({ |
| 81 data: not_run_data, | 81 data: not_run_data, |
| 82 color: "gray", | 82 color: "gray", |
| 83 points: { | 83 points: { |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 $("<div id='tooltip'></div>").css({ | 136 $("<div id='tooltip'></div>").css({ |
| 137 position: "absolute", | 137 position: "absolute", |
| 138 display: "none", | 138 display: "none", |
| 139 border: "1px solid #fdd", | 139 border: "1px solid #fdd", |
| 140 padding: "2px", | 140 padding: "2px", |
| 141 "background-color": "#fee", | 141 "background-color": "#fee", |
| 142 opacity: 0.80 | 142 opacity: 0.80 |
| 143 }).appendTo("body"); | 143 }).appendTo("body"); |
| 144 | 144 |
| 145 function showTooltipForDataPoint(item) { | 145 function showTooltipForDataPoint(item) { |
| 146 var buildNumber = item.datapoint[0]; | 146 var itemData = item.series.data[item.dataIndex]; |
| 147 var passRate = item.datapoint[1]; | 147 var buildNumber = itemData[0]; |
| 148 var passRate = itemData[1]; |
| 149 var taskUrl = itemData[2]; |
| 148 | 150 |
| 149 $("#tooltip").html('Build #: <a href="https://build.chromium.org/p/' + f
indit.masterName + '/builders/' + findit.builderName + '/builds/' + buildNumber
+ '" target="_blank">' + buildNumber + "</a><br> Pass rate: " + passRate + '%').
css({top: item.pageY + 5, left: item.pageX + 5}).show(); | 151 var tooltipStr = 'Build #: <a href="https://build.chromium.org/p/' + fin
dit.masterName + '/builders/' + findit.builderName + '/builds/' + buildNumber +
'" target="_blank">' + buildNumber + '</a><br> Pass rate: ' + passRate + '%'; |
| 152 if (taskUrl) { |
| 153 tooltipStr += '<br>Task: <a href="' + taskUrl +'" target="_blank">link
</a>'; |
| 154 } |
| 155 |
| 156 $("#tooltip").html(tooltipStr).css({top: item.pageY + 5, left: item.page
X + 5}).show(); |
| 150 } | 157 } |
| 151 | 158 |
| 152 var dataPointSelected = false; | 159 var dataPointSelected = false; |
| 153 $("#flake-data").bind("plothover", function (event, pos, item) { | 160 $("#flake-data").bind("plothover", function (event, pos, item) { |
| 154 if (dataPointSelected) | 161 if (dataPointSelected) |
| 155 return; // A data point is selected due to a click. | 162 return; // A data point is selected due to a click. |
| 156 | 163 |
| 157 if (item) { | 164 if (item) { |
| 158 showTooltipForDataPoint(item); | 165 showTooltipForDataPoint(item); |
| 159 } else { | 166 } else { |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 284 <td class="triage-cell">{{ triage_record.triage_result }}</td> | 291 <td class="triage-cell">{{ triage_record.triage_result }}</td> |
| 285 <td class="triage-cell">{{ triage_record.version_number }}</td> | 292 <td class="triage-cell">{{ triage_record.version_number }}</td> |
| 286 </tr> | 293 </tr> |
| 287 {% endfor %} | 294 {% endfor %} |
| 288 </tbody> | 295 </tbody> |
| 289 </table> | 296 </table> |
| 290 </div> | 297 </div> |
| 291 {% endif %} | 298 {% endif %} |
| 292 </body> | 299 </body> |
| 293 </html> | 300 </html> |
| OLD | NEW |