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

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: 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['master_name'] = findit.masterName;
61 parameters['builder_name'] = findit.builderName;
62 parameters['build_number'] = {{ build_number }};
63 parameters['step_name'] = encodeURIComponent("{{ step_name }}");
64 parameters['test_name'] = encodeURIComponent("{{ test_name }}");
65 parameters['version_number'] = {{ version_number }};
66 parameters['suspected_build_number'] = {{ suspected_flake.build_number }};
67 parameters['triage_result'] = triageResult;
68 return parameters
69 }
70
71 function createTriageUrl(parameters) {
72 var params = [];
73 for(var key in parameters) {
74 if (parameters[key] != undefined) {
75 params.push(key + '=' + parameters[key])
76 }
77 }
78
79 if (params.length == 0) {
80 return '/waterfall/triage-flake-analysis'
81 } else {
82 return '/waterfall/triage-flake-analysis?' + params.join('&');
83 }
84 };
85
58 function DrawFlakeTrend() { 86 function DrawFlakeTrend() {
59 if (findit.passRates.length == 0) { 87 if (findit.passRates.length == 0) {
60 $('#flake-data').html('No data available yet.'); 88 $('#flake-data').html('No data available yet.');
61 return; 89 return;
62 } 90 }
63 91
64 var not_run_data = []; 92 var not_run_data = [];
65 var run_data = []; 93 var run_data = [];
66 $.each(findit.passRates, function(index, value) { 94 $.each(findit.passRates, function(index, value) {
67 // Convert pass rate from [0, 1] to a percentage. 95 // Convert pass rate from [0, 1] to a percentage.
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 } 205 }
178 }); 206 });
179 207
180 $.each(run_data, function(index, value) { 208 $.each(run_data, function(index, value) {
181 if (value[0] == findit.regressedBuildNumber) 209 if (value[0] == findit.regressedBuildNumber)
182 plot.highlight(run_data_sery_index, index); 210 plot.highlight(run_data_sery_index, index);
183 }); 211 });
184 } 212 }
185 213
186 function triageSuspectedFlake(e) { 214 function triageSuspectedFlake(e) {
187 $.getJSON('/waterfall/triage-flake-analysis?flake_info=' + e.name + '&tria ge_result=' + e.value, function(data) { 215 $.getJSON(createTriageUrl(getTriageParameters(e.value)), function(data) {
188 if (! data['success']) { 216 if (! data['success']) {
189 alert('Failed to update datastore. Please refresh and try again.'); 217 alert('Failed to update datastore. Please refresh and try again.');
190 } else { 218 } else {
191 $('#flake_result_triaged').html('Result has been recorded. Thank you.' ) 219 $('#flake_result_triaged').html('Result has been recorded. Thank you.' )
192 } 220 }
193 }).error(function(xhr) { 221 }).error(function(xhr) {
194 // Replace the whole page with errors from server side. 222 // Replace the whole page with errors from server side.
195 document.body.outerHTML = xhr.responseText; 223 document.body.outerHTML = xhr.responseText;
196 }); 224 });
197 } 225 }
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 {% if suspected_flake %} 273 {% if suspected_flake %}
246 <b>Feedback:</b> 274 <b>Feedback:</b>
247 <table class="triage-table"> 275 <table class="triage-table">
248 <tr> 276 <tr>
249 <th class="triage-header" title="The test became flaky at this build"> Suspected Build</th> 277 <th class="triage-header" title="The test became flaky at this build"> Suspected Build</th>
250 <th class="triage-header">Feedback</th> 278 <th class="triage-header">Feedback</th>
251 </tr> 279 </tr>
252 <tr> 280 <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> 281 <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"> 282 <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 %} 283 {% if suspected_flake.triage_result == 1 %}
256 {% if suspected_flake.triage_result == 1 %} 284 <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; 285 <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 286 {% elif suspected_flake.triage_result == 2 %}
259 {% elif suspected_flake.triage_result == 2 %} 287 <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; 288 <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 289 {% else %}
262 {% else %} 290 <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; 291 <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 292 {% endif %}
265 {% endif %}
266 </td> 293 </td>
267 </tr> 294 </tr>
268 </table> 295 </table>
269 {% endif %} 296 {% endif %}
270 <div id="flake_result_triaged"></div> 297 <div id="flake_result_triaged"></div>
271 </div> 298 </div>
272 299
273 {% if show_debug_info and triage_history %} 300 {% if show_debug_info and triage_history %}
274 <br> 301 <br>
275 <b>Triage history:</b> 302 <b>Triage history:</b>
(...skipping 15 matching lines...) Expand all
291 <td class="triage-cell">{{ triage_record.triage_result }}</td> 318 <td class="triage-cell">{{ triage_record.triage_result }}</td>
292 <td class="triage-cell">{{ triage_record.version_number }}</td> 319 <td class="triage-cell">{{ triage_record.version_number }}</td>
293 </tr> 320 </tr>
294 {% endfor %} 321 {% endfor %}
295 </tbody> 322 </tbody>
296 </table> 323 </table>
297 </div> 324 </div>
298 {% endif %} 325 {% endif %}
299 </body> 326 </body>
300 </html> 327 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698