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

Side by Side Diff: third_party/WebKit/PerformanceTests/resources/runner.js

Issue 2864643002: Support tracing metrics for measureValueAsync method (Closed)
Patch Set: Address Wang Xianzhu's comment Created 3 years, 7 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 unified diff | Download patch
OLDNEW
1 // There are tests for computeStatistics() located in LayoutTests/fast/harness/p erftests 1 // There are tests for computeStatistics() located in LayoutTests/fast/harness/p erftests
2 2
3 if (window.testRunner) { 3 if (window.testRunner) {
4 testRunner.waitUntilDone(); 4 testRunner.waitUntilDone();
5 testRunner.dumpAsText(); 5 testRunner.dumpAsText();
6 } 6 }
7 7
8 (function () { 8 (function () {
9 var logLines = null; 9 var logLines = null;
10 var completedIterations = -1; 10 var completedIterations = -1;
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 ignoreWarmUpAndLog(measuredValue); 288 ignoreWarmUpAndLog(measuredValue);
289 } catch (exception) { 289 } catch (exception) {
290 PerfTestRunner.logFatalError("Got an exception while logging the res ult with name=" + exception.name + ", message=" + exception.message); 290 PerfTestRunner.logFatalError("Got an exception while logging the res ult with name=" + exception.name + ", message=" + exception.message);
291 return; 291 return;
292 } 292 }
293 293
294 if (completedIterations >= iterationCount) 294 if (completedIterations >= iterationCount)
295 finish(); 295 finish();
296 } 296 }
297 297
298 function addRunTestStartMarker() { 298 PerfTestRunner.addRunTestStartMarker = function () {
299 if (!window.testRunner || !window.testRunner.supportTracing) 299 if (!window.testRunner || !window.testRunner.supportTracing)
300 return; 300 return;
301 if (completedIterations < 0) 301 if (completedIterations < 0)
302 console.time('blink_perf.runTest.warmup'); 302 console.time('blink_perf.runTest.warmup');
303 else 303 else
304 console.time('blink_perf.runTest'); 304 console.time('blink_perf.runTest');
305 } 305 };
306 306
307 function addRunTestEndMarker() { 307 PerfTestRunner.addRunTestEndMarker = function () {
308 if (!window.testRunner || !window.testRunner.supportTracing) 308 if (!window.testRunner || !window.testRunner.supportTracing)
309 return; 309 return;
310 if (completedIterations < 0) 310 if (completedIterations < 0)
311 console.timeEnd('blink_perf.runTest.warmup'); 311 console.timeEnd('blink_perf.runTest.warmup');
312 else 312 else
313 console.timeEnd('blink_perf.runTest'); 313 console.timeEnd('blink_perf.runTest');
314 } 314 };
315 315
316 316
317 PerfTestRunner.measureFrameTime = function (test) { 317 PerfTestRunner.measureFrameTime = function (test) {
318 PerfTestRunner.unit = "ms"; 318 PerfTestRunner.unit = "ms";
319 PerfTestRunner.bufferedLog = true; 319 PerfTestRunner.bufferedLog = true;
320 test.warmUpCount = test.warmUpCount || 5; 320 test.warmUpCount = test.warmUpCount || 5;
321 test.iterationCount = test.iterationCount || 10; 321 test.iterationCount = test.iterationCount || 10;
322 // Force gc before starting the test to avoid the measured time from 322 // Force gc before starting the test to avoid the measured time from
323 // being affected by gc performance. See crbug.com/667811#c16. 323 // being affected by gc performance. See crbug.com/667811#c16.
324 PerfTestRunner.gc(); 324 PerfTestRunner.gc();
325 start(test, requestAnimationFrame, measureFrameTimeOnce); 325 start(test, requestAnimationFrame, measureFrameTimeOnce);
326 } 326 }
327 327
328 var lastFrameTime = -1; 328 var lastFrameTime = -1;
329 function measureFrameTimeOnce() { 329 function measureFrameTimeOnce() {
330 if (lastFrameTime != -1) 330 if (lastFrameTime != -1)
331 addRunTestEndMarker(); 331 PerfTestRunner.addRunTestEndMarker();
332 var now = PerfTestRunner.now(); 332 var now = PerfTestRunner.now();
333 var result = lastFrameTime == -1 ? -1 : now - lastFrameTime; 333 var result = lastFrameTime == -1 ? -1 : now - lastFrameTime;
334 lastFrameTime = now; 334 lastFrameTime = now;
335 addRunTestStartMarker(); 335 PerfTestRunner.addRunTestStartMarker();
336 336
337 var returnValue = currentTest.run(); 337 var returnValue = currentTest.run();
338 if (returnValue - 0 === returnValue) { 338 if (returnValue - 0 === returnValue) {
339 if (returnValue < 0) 339 if (returnValue < 0)
340 PerfTestRunner.log("runFunction returned a negative value: " + r eturnValue); 340 PerfTestRunner.log("runFunction returned a negative value: " + r eturnValue);
341 return returnValue; 341 return returnValue;
342 } 342 }
343 343
344 return result; 344 return result;
345 } 345 }
346 346
347 PerfTestRunner.measureTime = function (test) { 347 PerfTestRunner.measureTime = function (test) {
348 PerfTestRunner.unit = "ms"; 348 PerfTestRunner.unit = "ms";
349 PerfTestRunner.bufferedLog = true; 349 PerfTestRunner.bufferedLog = true;
350 start(test, zeroTimeoutScheduler, measureTimeOnce); 350 start(test, zeroTimeoutScheduler, measureTimeOnce);
351 } 351 }
352 352
353 function zeroTimeoutScheduler(task) { 353 function zeroTimeoutScheduler(task) {
354 setTimeout(task, 0); 354 setTimeout(task, 0);
355 } 355 }
356 356
357 function measureTimeOnce() { 357 function measureTimeOnce() {
358 // Force gc before measuring time to avoid interference between tests. 358 // Force gc before measuring time to avoid interference between tests.
359 PerfTestRunner.gc(); 359 PerfTestRunner.gc();
360 360
361 addRunTestStartMarker(); 361 PerfTestRunner.addRunTestStartMarker();
362 var start = PerfTestRunner.now(); 362 var start = PerfTestRunner.now();
363 var returnValue = currentTest.run(); 363 var returnValue = currentTest.run();
364 var end = PerfTestRunner.now(); 364 var end = PerfTestRunner.now();
365 addRunTestEndMarker(); 365 PerfTestRunner.addRunTestEndMarker();
366 366
367 if (returnValue - 0 === returnValue) { 367 if (returnValue - 0 === returnValue) {
368 if (returnValue < 0) 368 if (returnValue < 0)
369 PerfTestRunner.log("runFunction returned a negative value: " + r eturnValue); 369 PerfTestRunner.log("runFunction returned a negative value: " + r eturnValue);
370 return returnValue; 370 return returnValue;
371 } 371 }
372 372
373 return end - start; 373 return end - start;
374 } 374 }
375 375
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 438
439 iframe.contentDocument.close(); 439 iframe.contentDocument.close();
440 document.body.removeChild(iframe); 440 document.body.removeChild(iframe);
441 }; 441 };
442 442
443 PerfTestRunner.measureTime(test); 443 PerfTestRunner.measureTime(test);
444 } 444 }
445 445
446 window.PerfTestRunner = PerfTestRunner; 446 window.PerfTestRunner = PerfTestRunner;
447 })(); 447 })();
OLDNEW
« no previous file with comments | « third_party/WebKit/PerformanceTests/TestData/simple-blob-measure-async.html ('k') | tools/perf/benchmarks/blink_perf.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698