Make DoYouEvenBench runnable by run-perf-tests
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 15 Jan 2014 08:01:52 +0000 (08:01 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 15 Jan 2014 08:01:52 +0000 (08:01 +0000)
commit5c185adad6636604d2ac53fef329f4bae466ee26
tree04ee4ef9fe47849c0551597dbb0317194ca89961
parent2880611c49bc7e665c2c17525a35be049b3eec4b
Make DoYouEvenBench runnable by run-perf-tests
https://bugs.webkit.org/show_bug.cgi?id=127030

Reviewed by Andreas Kling.

PerformanceTests:

Added Full.html that runs 5 iterations of DoYouEvenBench. This is the canonical DoYouEvenBench,
which is also runnable by run-perf-tests.

* DoYouEvenBench/Full.html: Added.

* DoYouEvenBench/benchmark.html:
(startTest): Updated the code to account for the fact old measuredValues is pushed down to tests
property and we now have total property so that we don't have to manually compute the total.

* DoYouEvenBench/resources/benchmark-report.js: Added. When we're inside a DRT/WTR, use
PerfTestRunner to output that can be parsed by run-perf-tests. Do the same when the query part
or the fragment part of the current URL is "webkit" for debugging purposes.

* DoYouEvenBench/resources/benchmark-runner.js:
(BenchmarkRunner):
(BenchmarkRunner.prototype._appendFrame): Position the frame at (0, 0) inside DRT and WTR since
we have exactly 800px by 600px inside those two test runners. Also always insert the iframe as
the first child of body to avoid inserting it after the pre inserted by the test runner.
(BenchmarkRunner.prototype.step): Initializes _measuredValues.
(BenchmarkRunner.prototype.runAllSteps): Merged callNextStep in benchmark.html.
(BenchmarkRunner.prototype.runMultipleIterations): Added.
(BenchmarkRunner.prototype._runTestAndRecordResults): Compute the grand total among suites.
Also push down the sync and async time into tests property for consistency.
(BenchmarkRunner.prototype._finalize):

* Dromaeo/resources/dromaeorunner.js:
(DRT.testObject): Renamed dromaeoIterationCount to customIterationCount as this option is also
used by DoYouEvenBench.

* resources/runner.js: Ditto.
(.finish): Spit out the aggregator name.

Tools:

Ignore console messages spit out by DoYouEvenBench and support aggregator names such as
":Total" to appear at the end of a test name. We don't do anything with it for now.

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest._metrics_regex): Handle aggregator names such as ":Total". We'll pass it down
to the JSON in a follow up patch for the perf dashboard.
(PerfTest._lines_to_ignore_in_parser_result): Added lines to ignore for DoYouEvenBench.

LayoutTests:

Use customIterationCount as it has been renamed from dromaeoIterationCount.

* fast/harness/perftests/runs-per-second-iterations.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162058 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/fast/harness/perftests/runs-per-second-iterations.html
PerformanceTests/ChangeLog
PerformanceTests/DoYouEvenBench/Full.html [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/benchmark.html
PerformanceTests/DoYouEvenBench/resources/benchmark-report.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/resources/benchmark-runner.js
PerformanceTests/Dromaeo/resources/dromaeorunner.js
PerformanceTests/resources/runner.js
Tools/ChangeLog
Tools/Scripts/webkitpy/performance_tests/perftest.py