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

Side by Side Diff: tools/telemetry/support/html_output/results-template.html

Issue 1309143006: [Telemetry] Update the ConfindenceInterval calculation in results.html to use (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address petrcermak's comment Created 5 years, 3 months 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 | « no previous file | tools/telemetry/telemetry/internal/results/html_output_formatter.py » ('j') | 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 <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 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 var SORT_UP_CLASS = 'sortUp'; 272 var SORT_UP_CLASS = 'sortUp';
273 var BETTER_CLASS = 'better'; 273 var BETTER_CLASS = 'better';
274 var WORSE_CLASS = 'worse'; 274 var WORSE_CLASS = 'worse';
275 var UNKNOWN_CLASS = 'unknown' 275 var UNKNOWN_CLASS = 'unknown'
276 // px Indentation for graphs 276 // px Indentation for graphs
277 var GRAPH_INDENT = 64; 277 var GRAPH_INDENT = 64;
278 var PADDING_UNDER_GRAPH = 5; 278 var PADDING_UNDER_GRAPH = 5;
279 // px Indentation for nested children left-margins 279 // px Indentation for nested children left-margins
280 var INDENTATION = 40; 280 var INDENTATION = 40;
281 281
282 function TestResult(metric, values, associatedRun) { 282 function TestResult(metric, values, associatedRun, std, degreesOfFreedom) {
283 if (values) { 283 if (values) {
284 if (values[0] instanceof Array) { 284 if (values[0] instanceof Array) {
285 var flattenedValues = []; 285 var flattenedValues = [];
286 for (var i = 0; i < values.length; i++) 286 for (var i = 0; i < values.length; i++)
287 flattenedValues = flattenedValues.concat(values[i]); 287 flattenedValues = flattenedValues.concat(values[i]);
288 values = flattenedValues; 288 values = flattenedValues;
289 } 289 }
290 290
291 if (jQuery.type(values[0]) === 'string') { 291 if (jQuery.type(values[0]) === 'string') {
292 try { 292 try {
(...skipping 21 matching lines...) Expand all
314 values = []; 314 values = [];
315 } 315 }
316 316
317 this.test = function () { return metric; } 317 this.test = function () { return metric; }
318 this.values = function () { return values.map(function (value) { return metr ic.scalingFactor() * value; }); } 318 this.values = function () { return values.map(function (value) { return metr ic.scalingFactor() * value; }); }
319 this.unscaledMean = function () { return Statistics.sum(values) / values.len gth; } 319 this.unscaledMean = function () { return Statistics.sum(values) / values.len gth; }
320 this.mean = function () { return metric.scalingFactor() * this.unscaledMean( ); } 320 this.mean = function () { return metric.scalingFactor() * this.unscaledMean( ); }
321 this.min = function () { return metric.scalingFactor() * Statistics.min(valu es); } 321 this.min = function () { return metric.scalingFactor() * Statistics.min(valu es); }
322 this.max = function () { return metric.scalingFactor() * Statistics.max(valu es); } 322 this.max = function () { return metric.scalingFactor() * Statistics.max(valu es); }
323 this.confidenceIntervalDelta = function () { 323 this.confidenceIntervalDelta = function () {
324 if (std !== undefined) {
325 return metric.scalingFactor() * Statistics.confidenceIntervalDeltaFr omStd(0.95, values.length,
Yuta Kitamura 2015/09/28 04:32:37 On my environment, I consistently see the followin
nednguyen 2015/09/28 15:33:23 I cannot reproduce this error (see http://imgur.co
326 std, degreesOfFreedom);
327 }
324 return metric.scalingFactor() * Statistics.confidenceIntervalDelta(0.95, values.length, 328 return metric.scalingFactor() * Statistics.confidenceIntervalDelta(0.95, values.length,
325 Statistics.sum(values), Statistics.squareSum(values)); 329 Statistics.sum(values), Statistics.squareSum(values));
326 } 330 }
327 this.confidenceIntervalDeltaRatio = function () { return this.confidenceInte rvalDelta() / this.mean(); } 331 this.confidenceIntervalDeltaRatio = function () { return this.confidenceInte rvalDelta() / this.mean(); }
328 this.percentDifference = function(other) { 332 this.percentDifference = function(other) {
329 if (other === undefined) { 333 if (other === undefined) {
330 return undefined; 334 return undefined;
331 } 335 }
332 return (other.unscaledMean() - this.unscaledMean()) / this.unscaledMean( ); 336 return (other.unscaledMean() - this.unscaledMean()) / this.unscaledMean( );
333 } 337 }
(...skipping 1018 matching lines...) Expand 10 before | Expand all | Expand 10 after
1352 for (var testName in tests) { 1356 for (var testName in tests) {
1353 var rawMetrics = tests[testName].metrics; 1357 var rawMetrics = tests[testName].metrics;
1354 1358
1355 for (var metricName in rawMetrics) { 1359 for (var metricName in rawMetrics) {
1356 var fullMetricName = testName + ':' + metricName; 1360 var fullMetricName = testName + ':' + metricName;
1357 var metric = metrics[fullMetricName]; 1361 var metric = metrics[fullMetricName];
1358 if (!metric) { 1362 if (!metric) {
1359 metric = new PerfTestMetric(testName, metricName, rawMet rics[metricName].units, rawMetrics[metricName].important); 1363 metric = new PerfTestMetric(testName, metricName, rawMet rics[metricName].units, rawMetrics[metricName].important);
1360 metrics[fullMetricName] = metric; 1364 metrics[fullMetricName] = metric;
1361 } 1365 }
1362 metric.addResult(new TestResult(metric, rawMetrics[metricNam e].current, run)); 1366 // std & degrees_of_freedom could be undefined
1367 metric.addResult(
1368 new TestResult(metric, rawMetrics[metricName].current,
1369 run, rawMetrics[metricName].['std'], rawMetrics[metr icName]['degrees_of_freedom']));
1363 } 1370 }
1364 } 1371 }
1365 } 1372 }
1366 1373
1367 addTests(entry.tests); 1374 addTests(entry.tests);
1368 }); 1375 });
1369 1376
1370 var useLargeLinePlots = false; 1377 var useLargeLinePlots = false;
1371 var shouldIgnoreMemory= true; 1378 var shouldIgnoreMemory= true;
1372 var referenceIndex = 0; 1379 var referenceIndex = 0;
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
1415 } else { 1422 } else {
1416 $('#undelete').hide(); 1423 $('#undelete').hide();
1417 } 1424 }
1418 } 1425 }
1419 1426
1420 </script> 1427 </script>
1421 <script id="results-json" type="application/json">%json_results%</script> 1428 <script id="results-json" type="application/json">%json_results%</script>
1422 <script id="units-json" type="application/json">%json_units%</script> 1429 <script id="units-json" type="application/json">%json_units%</script>
1423 </body> 1430 </body>
1424 </html> 1431 </html>
OLDNEW
« no previous file with comments | « no previous file | tools/telemetry/telemetry/internal/results/html_output_formatter.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698