nodejs/test/parallel/test-performance-measure.js
himself65 d0a3bf1f11 perf_hooks: allow omitted parameters in 'performance.measure'
Make `startMark` and `endMark` parameters optional.

PR-URL: https://github.com/nodejs/node/pull/32651
Fixes: https://github.com/nodejs/node/issues/32647
Refs: https://www.w3.org/TR/user-timing-2/#measure-method
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2020-04-10 18:08:30 +08:00

26 lines
723 B
JavaScript

'use strict';
const common = require('../common');
const assert = require('assert');
const { PerformanceObserver, performance } = require('perf_hooks');
const DELAY = 1000;
const expected = ['Start to Now', 'A to Now', 'A to B'];
const obs = new PerformanceObserver(common.mustCall((items) => {
const entries = items.getEntries();
const { name, duration } = entries[0];
assert.ok(duration > DELAY);
assert.strictEqual(expected.shift(), name);
}, 3));
obs.observe({ entryTypes: ['measure'] });
performance.mark('A');
setTimeout(common.mustCall(() => {
performance.measure('Start to Now');
performance.measure('A to Now', 'A');
performance.mark('B');
performance.measure('A to B', 'A', 'B');
}), DELAY);