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 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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> |
OLD | NEW |