Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Side by Side Diff: appengine/findit/templates/flake/result.html

Issue 2554143003: [Findit] Using master flake analysis key for updating triage results (Closed)
Patch Set: Addressing comments Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 <script src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.min .js"></script> 48 <script src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.min .js"></script>
49 <script src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.res ize.js"></script> 49 <script src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.res ize.js"></script>
50 <script src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.sym bol.js"></script> 50 <script src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.sym bol.js"></script>
51 <script type="text/javascript"> 51 <script type="text/javascript">
52 var findit = {}; 52 var findit = {};
53 findit.masterName = "{{ master_name }}"; 53 findit.masterName = "{{ master_name }}";
54 findit.builderName = "{{ builder_name }}"; 54 findit.builderName = "{{ builder_name }}";
55 findit.regressedBuildNumber = {{ suspected_flake.build_number or -1 }}; 55 findit.regressedBuildNumber = {{ suspected_flake.build_number or -1 }};
56 findit.passRates = {{ pass_rates | tojson | safe }}; 56 findit.passRates = {{ pass_rates | tojson | safe }};
57 57
58 function getTriageParameters(triageResult) {
59 parameters = {}
60 parameters['key'] = "{{ key }}";
61 parameters['suspected_build_number'] = {{ suspected_flake.build_number }};
chanli 2016/12/07 22:22:52 Same question as above.
lijeffrey 2016/12/08 01:23:46 Good catch, done.
62 parameters['triage_result'] = triageResult;
63 return parameters
64 }
65
66 function createTriageUrl(parameters) {
67 var params = [];
68 for(var key in parameters) {
69 if (parameters[key] != undefined) {
70 params.push(key + '=' + parameters[key])
71 }
72 }
73
74 if (params.length == 0) {
75 return '/waterfall/triage-flake-analysis'
76 } else {
77 return '/waterfall/triage-flake-analysis?' + params.join('&');
78 }
79 };
80
58 function DrawFlakeTrend() { 81 function DrawFlakeTrend() {
59 if (findit.passRates.length == 0) { 82 if (findit.passRates.length == 0) {
60 $('#flake-data').html('No data available yet.'); 83 $('#flake-data').html('No data available yet.');
61 return; 84 return;
62 } 85 }
63 86
64 var not_run_data = []; 87 var not_run_data = [];
65 var run_data = []; 88 var run_data = [];
66 $.each(findit.passRates, function(index, value) { 89 $.each(findit.passRates, function(index, value) {
67 // Convert pass rate from [0, 1] to a percentage. 90 // Convert pass rate from [0, 1] to a percentage.
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 } 200 }
178 }); 201 });
179 202
180 $.each(run_data, function(index, value) { 203 $.each(run_data, function(index, value) {
181 if (value[0] == findit.regressedBuildNumber) 204 if (value[0] == findit.regressedBuildNumber)
182 plot.highlight(run_data_sery_index, index); 205 plot.highlight(run_data_sery_index, index);
183 }); 206 });
184 } 207 }
185 208
186 function triageSuspectedFlake(e) { 209 function triageSuspectedFlake(e) {
187 $.getJSON('/waterfall/triage-flake-analysis?flake_info=' + e.name + '&tria ge_result=' + e.value, function(data) { 210 $.getJSON(createTriageUrl(getTriageParameters(e.value)), function(data) {
188 if (! data['success']) { 211 if (! data['success']) {
189 alert('Failed to update datastore. Please refresh and try again.'); 212 alert('Failed to update datastore. Please refresh and try again.');
190 } else { 213 } else {
191 $('#flake_result_triaged').html('Result has been recorded. Thank you.' ) 214 $('#flake_result_triaged').html('Result has been recorded. Thank you.' )
192 } 215 }
193 }).error(function(xhr) { 216 }).error(function(xhr) {
194 // Replace the whole page with errors from server side. 217 // Replace the whole page with errors from server side.
195 document.body.outerHTML = xhr.responseText; 218 document.body.outerHTML = xhr.responseText;
196 }); 219 });
197 } 220 }
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 {% if suspected_flake %} 268 {% if suspected_flake %}
246 <b>Feedback:</b> 269 <b>Feedback:</b>
247 <table class="triage-table"> 270 <table class="triage-table">
248 <tr> 271 <tr>
249 <th class="triage-header" title="The test became flaky at this build"> Suspected Build</th> 272 <th class="triage-header" title="The test became flaky at this build"> Suspected Build</th>
250 <th class="triage-header">Feedback</th> 273 <th class="triage-header">Feedback</th>
251 </tr> 274 </tr>
252 <tr> 275 <tr>
253 <td class="triage-cell"><a href="https://build.chromium.org/p/{{ maste r_name }}/builders/{{ builder_name }}/builds/{{ suspected_flake.build_number }}" target="_blank">{{ suspected_flake.build_number }}</a></a></td> 276 <td class="triage-cell"><a href="https://build.chromium.org/p/{{ maste r_name }}/builders/{{ builder_name }}/builds/{{ suspected_flake.build_number }}" target="_blank">{{ suspected_flake.build_number }}</a></a></td>
254 <td class="triage-cell"> 277 <td class="triage-cell">
255 {% set flake_info = master_name + '/' + builder_name + '/' + build_n umber | string + '/' + step_name + '/' + test_name + '/' + version_number | stri ng + '/' + suspected_flake.build_number | string %} 278 {% if suspected_flake.triage_result == 1 %}
256 {% if suspected_flake.triage_result == 1 %} 279 <input type="radio" name="triage-radio-button" value="2" onchange= "triageSuspectedFlake(this)">Correct &nbsp;&nbsp;
257 <input type="radio" name="{{ flake_info }}" value="2" onchange=" triageSuspectedFlake(this)">Correct &nbsp;&nbsp; 280 <input type="radio" name="triage-radio-button" value="1" checked=" checked" onchange= "triageSuspectedFlake(this)">Incorrect
258 <input type="radio" name="{{ flake_info }}" value="1" checked="c hecked"onchange= "triageSuspectedFlake(this)">Incorrect 281 {% elif suspected_flake.triage_result == 2 %}
259 {% elif suspected_flake.triage_result == 2 %} 282 <input type="radio" name="triage-radio-button" value="2" checked=" checked" onchange="triageSuspectedFlake(this)">Correct &nbsp;&nbsp;
260 <input type="radio" name="{{ flake_info }}" value="2" checked="c hecked" onchange="triageSuspectedFlake(this)">Correct &nbsp;&nbsp; 283 <input type="radio" name="triage-radio-button" value="1" onchange= "triageSuspectedFlake(this)">Incorrect
261 <input type="radio" name="{{ flake_info }}" value="1" onchange= "triageSuspectedFlake(this)">Incorrect 284 {% else %}
262 {% else %} 285 <input type="radio" name="triage-radio-button" value="2" onchange= "triageSuspectedFlake(this)">Correct &nbsp;&nbsp;
263 <input type="radio" name="{{ flake_info }}" value="2" onchange=" triageSuspectedFlake(this)">Correct &nbsp;&nbsp; 286 <input type="radio" name="triage-radio-button" value="1" onchange= "triageSuspectedFlake(this)">Incorrect
264 <input type="radio" name="{{ flake_info }}" value="1" onchange= "triageSuspectedFlake(this)">Incorrect 287 {% endif %}
265 {% endif %}
266 </td> 288 </td>
267 </tr> 289 </tr>
268 </table> 290 </table>
269 {% endif %} 291 {% endif %}
270 <div id="flake_result_triaged"></div> 292 <div id="flake_result_triaged"></div>
271 </div> 293 </div>
272 294
273 {% if show_debug_info and triage_history %} 295 {% if show_debug_info and triage_history %}
274 <br> 296 <br>
275 <b>Triage history:</b> 297 <b>Triage history:</b>
(...skipping 15 matching lines...) Expand all
291 <td class="triage-cell">{{ triage_record.triage_result }}</td> 313 <td class="triage-cell">{{ triage_record.triage_result }}</td>
292 <td class="triage-cell">{{ triage_record.version_number }}</td> 314 <td class="triage-cell">{{ triage_record.version_number }}</td>
293 </tr> 315 </tr>
294 {% endfor %} 316 {% endfor %}
295 </tbody> 317 </tbody>
296 </table> 318 </table>
297 </div> 319 </div>
298 {% endif %} 320 {% endif %}
299 </body> 321 </body>
300 </html> 322 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698