Chromium Code Reviews| Index: third_party/WebKit/PerformanceTests/resources/runner.js |
| diff --git a/third_party/WebKit/PerformanceTests/resources/runner.js b/third_party/WebKit/PerformanceTests/resources/runner.js |
| index 22a5e8eadcce6f54b3ce7bc6bde46b2d979af781..7ce98b7a6e066a234b59009ba97269ae7de1c4cf 100644 |
| --- a/third_party/WebKit/PerformanceTests/resources/runner.js |
| +++ b/third_party/WebKit/PerformanceTests/resources/runner.js |
| @@ -157,8 +157,16 @@ if (window.testRunner) { |
| PerfTestRunner.log("Running " + iterationCount + " times"); |
| if (test.doNotIgnoreInitialRun) |
| completedIterations++; |
| - if (runner) |
| + |
| + if (runner && test.tracingCategories && window.testRunner && |
| + window.testRunner.supportTracing) { |
| + window.testRunner.traceEventsToMeasure = test.traceEventsToMeasure; |
| + window.testRunner.startTracing(test.tracingCategories, function() { |
| + scheduleNextRun(scheduler, runner); |
| + }); |
| + } else if (runner) { |
| scheduleNextRun(scheduler, runner); |
| + } |
| } |
| function scheduleNextRun(scheduler, runner) { |
| @@ -225,8 +233,17 @@ if (window.testRunner) { |
| logInDocument("Got an exception while finalizing the test with name=" + exception.name + ", message=" + exception.message); |
| } |
| - if (window.testRunner) |
| - testRunner.notifyDone(); |
| + if (window.testRunner) { |
| + if (currentTest.traceEventsToMeasure && |
| + testRunner.supportTracing) { |
| + testRunner.stopTracingAndMeasure( |
| + currentTest.traceEventsToMeasure, function() { |
|
nednguyen
2017/04/24 22:37:34
not sure why but here, I can't just put "testRunne
Xianzhu
2017/04/24 22:46:04
topTracingAndMeasure(..., testRunner.notifyDone) d
|
| + testRunner.notifyDone(); |
| + }); |
| + } else { |
| + testRunner.notifyDone(); |
| + } |
| + } |
| } |
| PerfTestRunner.prepareToMeasureValuesAsync = function (test) { |
| @@ -248,6 +265,25 @@ if (window.testRunner) { |
| finish(); |
| } |
| + function addRunTestStartMarker() { |
| + if (!window.testRunner || !window.testRunner.supportTracing) |
| + return; |
| + if (completedIterations < 0) |
| + console.time('blink_perf.runTest.warmup'); |
| + else |
| + console.time('blink_perf.runTest'); |
| + } |
| + |
| + function addRunTestEndMarker() { |
| + if (!window.testRunner || !window.testRunner.supportTracing) |
| + return; |
| + if (completedIterations < 0) |
| + console.timeEnd('blink_perf.runTest.warmup'); |
| + else |
| + console.timeEnd('blink_perf.runTest'); |
| + } |
| + |
| + |
| PerfTestRunner.measureFrameTime = function (test) { |
| PerfTestRunner.unit = "ms"; |
| PerfTestRunner.bufferedLog = true; |
| @@ -261,9 +297,12 @@ if (window.testRunner) { |
| var lastFrameTime = -1; |
| function measureFrameTimeOnce() { |
| + if (lastFrameTime != -1) |
| + addRunTestEndMarker(); |
| var now = PerfTestRunner.now(); |
| var result = lastFrameTime == -1 ? -1 : now - lastFrameTime; |
| lastFrameTime = now; |
| + addRunTestStartMarker(); |
| var returnValue = currentTest.run(); |
| if (returnValue - 0 === returnValue) { |
| @@ -290,7 +329,9 @@ if (window.testRunner) { |
| PerfTestRunner.gc(); |
| var start = PerfTestRunner.now(); |
| + addRunTestStartMarker(); |
| var returnValue = currentTest.run(); |
| + addRunTestEndMarker(); |
| var end = PerfTestRunner.now(); |
| if (returnValue - 0 === returnValue) { |