diff --git a/resources/benchmark-runner.mjs b/resources/benchmark-runner.mjs index acdd44a1b..625e390b9 100644 --- a/resources/benchmark-runner.mjs +++ b/resources/benchmark-runner.mjs @@ -237,6 +237,7 @@ export class BenchmarkRunner { const syncTime = syncEndTime - syncStartTime; + performance.mark(`${suite.name}.${test.name}-async-start`); const asyncStartTime = performance.now(); setTimeout(() => { // Some browsers don't immediately update the layout for paint. @@ -246,6 +247,8 @@ export class BenchmarkRunner { const asyncTime = asyncEndTime - asyncStartTime; this._frame.contentWindow._unusedHeightValue = height; // Prevent dead code elimination. performance.mark(`${suite.name}.${test.name}-async-end`); + performance.measure(`${suite.name}.${test.name}-sync`, `${suite.name}.${test.name}-start`, `${suite.name}.${test.name}-sync-end`); + performance.measure(`${suite.name}.${test.name}-async`, `${suite.name}.${test.name}-async-start`, `${suite.name}.${test.name}-async-end`); window.requestAnimationFrame(() => { callback(syncTime, asyncTime, height); }); diff --git a/tests/benchmark-runner-tests.mjs b/tests/benchmark-runner-tests.mjs index c63104563..66a21e198 100644 --- a/tests/benchmark-runner-tests.mjs +++ b/tests/benchmark-runner-tests.mjs @@ -211,8 +211,9 @@ describe("BenchmarkRunner", () => { it("should write performance marks at the start and end of the test with the correct test name", () => { assert.calledWith(peformanceMarkSpy, "Suite 1.Test 1-start"); assert.calledWith(peformanceMarkSpy, "Suite 1.Test 1-sync-end"); + assert.calledWith(peformanceMarkSpy, "Suite 1.Test 1-async-start"); assert.calledWith(peformanceMarkSpy, "Suite 1.Test 1-async-end"); - assert.calledThrice(peformanceMarkSpy); + expect(peformanceMarkSpy.callCount).to.equal(4); }); it("should run the test", () => {