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

Unified Diff: third_party/WebKit/PerformanceTests/resources/runner.js

Issue 2819343002: Support tracing metrics for measureTime & measureFrameTime method in blink_perf (Closed)
Patch Set: Disable testBlinkPerfTracingMetricsForMeasureTime on Android Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
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() {
+ 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) {

Powered by Google App Engine
This is Rietveld 408576698