OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <title>Telemetry Performance Test Results</title> | 4 <title>Telemetry Performance Test Results</title> |
5 <style type="text/css"> | 5 <style type="text/css"> |
6 | 6 |
7 section { | 7 section { |
8 background: white; | 8 background: white; |
9 padding: 10px; | 9 padding: 10px; |
10 position: relative; | 10 position: relative; |
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
336 return false; | 336 return false; |
337 } | 337 } |
338 var diff = Math.abs(other.mean() - this.mean()); | 338 var diff = Math.abs(other.mean() - this.mean()); |
339 return diff > this.confidenceIntervalDelta() && diff > other.confidenceI
ntervalDelta(); | 339 return diff > this.confidenceIntervalDelta() && diff > other.confidenceI
ntervalDelta(); |
340 } | 340 } |
341 this.run = function () { return associatedRun; } | 341 this.run = function () { return associatedRun; } |
342 } | 342 } |
343 | 343 |
344 function TestRun(entry) { | 344 function TestRun(entry) { |
345 this.id = function() { return entry['buildTime'].replace(/[:.-]/g,''); } | 345 this.id = function() { return entry['buildTime'].replace(/[:.-]/g,''); } |
346 this.revision = function () { return entry['revision']; } | |
347 this.label = function () { | 346 this.label = function () { |
348 if (labelKey in localStorage) | 347 if (labelKey in localStorage) |
349 return localStorage[labelKey]; | 348 return localStorage[labelKey]; |
350 if (entry['label']) | 349 return entry['label']; |
351 return entry['label']; | |
352 return 'r' + this.revision(); | |
353 } | 350 } |
354 this.setLabel = function(label) { localStorage[labelKey] = label; } | 351 this.setLabel = function(label) { localStorage[labelKey] = label; } |
355 this.isHidden = function() { return localStorage[hiddenKey]; } | 352 this.isHidden = function() { return localStorage[hiddenKey]; } |
356 this.hide = function() { localStorage[hiddenKey] = true; } | 353 this.hide = function() { localStorage[hiddenKey] = true; } |
357 this.show = function() { localStorage.removeItem(hiddenKey); } | 354 this.show = function() { localStorage.removeItem(hiddenKey); } |
358 this.description = function() { | 355 this.description = function() { |
359 var label = this.label(); | 356 return new Date(entry['buildTime']).toLocaleString() + '\n' + entry['pla
tform'] + ' ' + this.label(); |
360 if (label != 'r' + this.revision()) | |
361 label = ' ' + label; | |
362 else | |
363 label = ''; | |
364 return new Date(entry['buildTime']).toLocaleString() + '\n' + entry['pla
tform'] + ' r' + entry['revision'] + label; | |
365 } | 357 } |
366 | 358 |
367 var labelKey = 'telemetry_label_' + this.id(); | 359 var labelKey = 'telemetry_label_' + this.id(); |
368 var hiddenKey = 'telemetry_hide_' + this.id(); | 360 var hiddenKey = 'telemetry_hide_' + this.id(); |
369 } | 361 } |
370 | 362 |
371 function PerfTestMetric(name, metric, unit, isImportant) { | 363 function PerfTestMetric(name, metric, unit, isImportant) { |
372 var testResults = []; | 364 var testResults = []; |
373 var cachedUnit = null; | 365 var cachedUnit = null; |
374 var cachedScalingFactor = null; | 366 var cachedScalingFactor = null; |
(...skipping 881 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1256 | 1248 |
1257 var referenceClass = shouldCompare ? '' : 'reference'; | 1249 var referenceClass = shouldCompare ? '' : 'reference'; |
1258 | 1250 |
1259 var statistics = 'σ=' + toFixedWidthPrecision(result.confidenceInterva
lDelta()) + ', min=' + toFixedWidthPrecision(result.min()) | 1251 var statistics = 'σ=' + toFixedWidthPrecision(result.confidenceInterva
lDelta()) + ', min=' + toFixedWidthPrecision(result.min()) |
1260 + ', max=' + toFixedWidthPrecision(result.max()) + '\n' + regressionAnalysi
s; | 1252 + ', max=' + toFixedWidthPrecision(result.max()) + '\n' + regressionAnalysi
s; |
1261 | 1253 |
1262 var confidence; | 1254 var confidence; |
1263 if (isNaN(result.confidenceIntervalDeltaRatio())) { | 1255 if (isNaN(result.confidenceIntervalDeltaRatio())) { |
1264 // Don't bother showing +- Nan as it is meaningless | 1256 // Don't bother showing +- Nan as it is meaningless |
1265 confidence = ''; | 1257 confidence = ''; |
1266 } else { | 1258 } else { |
1267 confidence = '± ' + formatPercentage(result.confidenceIntervalDel
taRatio()); | 1259 confidence = '± ' + formatPercentage(result.confidenceIntervalDel
taRatio()); |
1268 } | 1260 } |
1269 | 1261 |
1270 return '<td class="result ' + referenceClass + '" title="' + statistics + '"
>' + toFixedWidthPrecision(result.mean()) | 1262 return '<td class="result ' + referenceClass + '" title="' + statistics + '"
>' + toFixedWidthPrecision(result.mean()) |
1271 + '</td><td class="confidenceIntervalDelta ' + referenceClass + '" title
="' + statistics + '">' + confidence + warning + '</td>' + comparisonCell; | 1263 + '</td><td class="confidenceIntervalDelta ' + referenceClass + '" title
="' + statistics + '">' + confidence + warning + '</td>' + comparisonCell; |
1272 } | 1264 } |
1273 | 1265 |
1274 TableRow.prototype.markupForMissingRun = function(isReference) { | 1266 TableRow.prototype.markupForMissingRun = function(isReference) { |
1275 if (isReference) { | 1267 if (isReference) { |
1276 return '<td colspan=2 class="missingReference">Missing</td>'; | 1268 return '<td colspan=2 class="missingReference">Missing</td>'; |
(...skipping 25 matching lines...) Expand all Loading... |
1302 | 1294 |
1303 this.children.forEach(function(child) { | 1295 this.children.forEach(function(child) { |
1304 child.setVisibility(VISIBLE); | 1296 child.setVisibility(VISIBLE); |
1305 }); | 1297 }); |
1306 | 1298 |
1307 if (this.children.length === 1) { | 1299 if (this.children.length === 1) { |
1308 // If we only have a single child... | 1300 // If we only have a single child... |
1309 var child = this.children[0]; | 1301 var child = this.children[0]; |
1310 if (child.isImportant) { | 1302 if (child.isImportant) { |
1311 // ... and it is important (i.e. the summary row) just open it when | 1303 // ... and it is important (i.e. the summary row) just open it when |
1312 // parent is opened to save needless clicking | 1304 // parent is opened to save needless clicking |
1313 child.openRow(); | 1305 child.openRow(); |
1314 } | 1306 } |
1315 } | 1307 } |
1316 } | 1308 } |
1317 | 1309 |
1318 TableRow.prototype.closeRow = function() { | 1310 TableRow.prototype.closeRow = function() { |
1319 if (this.rowState === COLLAPSED) { | 1311 if (this.rowState === COLLAPSED) { |
1320 return; | 1312 return; |
1321 } | 1313 } |
1322 | 1314 |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1423 } else { | 1415 } else { |
1424 $('#undelete').hide(); | 1416 $('#undelete').hide(); |
1425 } | 1417 } |
1426 } | 1418 } |
1427 | 1419 |
1428 </script> | 1420 </script> |
1429 <script id="results-json" type="application/json">%json_results%</script> | 1421 <script id="results-json" type="application/json">%json_results%</script> |
1430 <script id="units-json" type="application/json">%json_units%</script> | 1422 <script id="units-json" type="application/json">%json_units%</script> |
1431 </body> | 1423 </body> |
1432 </html> | 1424 </html> |
OLD | NEW |