aboutsummaryrefslogtreecommitdiff
path: root/test/parallel/test-performance-measure.js
blob: 06e04cc219c7fd8e87c12b6b33415bd4a7906c68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
'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);