summaryrefslogtreecommitdiffstats
path: root/third_party/webkit/PerformanceTests/Speedometer/resources/benchmark-report.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /third_party/webkit/PerformanceTests/Speedometer/resources/benchmark-report.js
parentInitial commit. (diff)
downloadfirefox-esr-upstream.tar.xz
firefox-esr-upstream.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/webkit/PerformanceTests/Speedometer/resources/benchmark-report.js')
-rw-r--r--third_party/webkit/PerformanceTests/Speedometer/resources/benchmark-report.js105
1 files changed, 105 insertions, 0 deletions
diff --git a/third_party/webkit/PerformanceTests/Speedometer/resources/benchmark-report.js b/third_party/webkit/PerformanceTests/Speedometer/resources/benchmark-report.js
new file mode 100644
index 0000000000..972fbb0529
--- /dev/null
+++ b/third_party/webkit/PerformanceTests/Speedometer/resources/benchmark-report.js
@@ -0,0 +1,105 @@
+// This file can be customized to report results as needed.
+
+(function () {
+ if ((!window.testRunner && location.search != '?webkit' && location.hash != '#webkit')
+ && location.search != '?gecko' && location.search != '?raptor')
+ return;
+
+ if (window.testRunner)
+ testRunner.waitUntilDone();
+
+ var scriptElement = document.createElement('script');
+ scriptElement.src = '../resources/runner.js';
+ document.head.appendChild(scriptElement);
+
+ var styleElement = document.createElement('style');
+ styleElement.textContent = 'pre { padding-top: 600px; }';
+ document.head.appendChild(styleElement);
+
+ var createTest;
+ var valuesByIteration = new Array;
+
+ window.onload = function () {
+ document.body.removeChild(document.querySelector('main'));
+ startBenchmark();
+ }
+
+ window.benchmarkClient = {
+ iterationCount: 5, // Use 4 different instances of DRT/WTR to run 5 iterations.
+ willStartFirstIteration: function (iterationCount) {
+ createTest = function (name, aggregator, isLastTest) {
+ return {
+ customIterationCount: iterationCount,
+ doNotIgnoreInitialRun: true,
+ doNotMeasureMemoryUsage: true,
+ continueTesting: !isLastTest,
+ unit: 'ms',
+ name: name,
+ aggregator: aggregator};
+ }
+ if (window.PerfTestRunner) {
+ PerfTestRunner.prepareToMeasureValuesAsync(createTest(null, 'Total'));
+ }
+ },
+ didRunSuites: function (measuredValues) {
+ if (window.PerfTestRunner)
+ PerfTestRunner.measureValueAsync(measuredValues.total);
+ valuesByIteration.push(measuredValues.tests);
+ },
+ didFinishLastIteration: function () {
+ document.head.removeChild(document.querySelector('style'));
+
+ var measuredValuesByFullName = {};
+ function addToMeasuredValue(value, fullName, aggregator) {
+ var values = measuredValuesByFullName[fullName] || new Array;
+ measuredValuesByFullName[fullName] = values;
+ values.push(value);
+ values.aggregator = aggregator;
+ }
+
+ valuesByIteration.forEach(function (measuredValues) {
+ for (var suiteName in measuredValues) {
+ var suite = measuredValues[suiteName];
+ for (var testName in suite.tests) {
+ var test = suite.tests[testName];
+ for (var subtestName in test.tests)
+ addToMeasuredValue(test.tests[subtestName], suiteName + '/' + testName + '/' + subtestName);
+ addToMeasuredValue(test.total, suiteName + '/' + testName, 'Total');
+ }
+ addToMeasuredValue(suite.total, suiteName, 'Total');
+ }
+ });
+
+ var fullNames = new Array;
+ for (var fullName in measuredValuesByFullName) {
+ fullNames.push(fullName);
+ }
+
+ if (typeof tpRecordTime !== "undefined" || location.search == '?raptor') {
+ var values = new Array;
+ var allNames = new Array;
+ for (var i = 0; i < fullNames.length; i++) {
+ vals = measuredValuesByFullName[fullNames[i]];
+ values.push(vals);
+ for (var count=0; count < vals.length; count ++) {
+ allNames.push(fullNames[i]);
+ }
+ }
+
+ if (location.search == '?raptor') {
+ _data = ['raptor-benchmark', 'speedometer', measuredValuesByFullName];
+ console.log('speedometer source about to post results to the raptor webext');
+ window.postMessage(_data, '*');
+ window.sessionStorage.setItem('benchmark_results', JSON.stringify(_data));
+ } else {
+ tpRecordTime(values.join(','), 0, allNames.join(','));
+ }
+ } else {
+ for (var i = 0; i < fullNames.length; i++) {
+ var values = measuredValuesByFullName[fullNames[i]];
+ PerfTestRunner.reportValues(createTest(fullNames[i], values.aggregator, i + 1 == fullNames.length), values);
+ }
+ }
+ }
+ };
+})();