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

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

Powered by Google App Engine
This is Rietveld 408576698