Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 14 additions & 7 deletions test/sequential/test-perf-hooks.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,10 @@ const epsilon = 50;
{
const uptime1 = Date.now() - performance.timeOrigin;
const uptime2 = performance.now();
const uptime3 = process.uptime() * 1000;
assert(Math.abs(uptime1 - uptime2) < epsilon,
`Date.now() - performance.timeOrigin (${uptime1}) - ` +
`performance.now() (${uptime2}) = ` +
`${uptime1 - uptime2} >= +- ${epsilon}`);
assert(Math.abs(uptime1 - uptime3) < epsilon,
`Date.now() - performance.timeOrigin (${uptime1}) - ` +
`process.uptime() * 1000 (${uptime3}) = ` +
`${uptime1 - uptime3} >= +- ${epsilon}`);
}

assert.strictEqual(performance.nodeTiming.name, 'node');
Expand All @@ -58,8 +53,8 @@ function checkNodeTiming(timing) {
// performance.now() i.e. measures Node.js instance up time.
assert.strictEqual(typeof timing.duration, 'number');
assert(timing.duration > 0, `timing.duration ${timing.duration} <= 0`);
assert(delta < 10,
`now (${now}) - timing.duration (${timing.duration}) = ${delta} >= ${10}`);
assert(delta < epsilon,
`now (${now}) - timing.duration (${timing.duration}) = ${delta} >= ${epsilon}`);

// Check that the following fields do not change.
assert.strictEqual(timing.startTime, initialTiming.startTime);
Expand Down Expand Up @@ -93,6 +88,18 @@ checkNodeTiming(initialTiming);
assert(nodeStart < testStartTime,
`nodeStart ${nodeStart} >= ${testStartTime}`);

{
// Due to https://github.com/nodejs/node/pull/46588,
// The difference between process.uptime() and (Date.now() - performance.timeOrigin)
// is roughly performance.nodeTiming.nodeStart
const uptime1 = Date.now() - performance.timeOrigin; // now - process start time
const uptime3 = process.uptime() * 1000; // now - node start time
assert(Math.abs(uptime1 - uptime3 - nodeStart) < epsilon,
`Date.now() - performance.timeOrigin (${uptime1}) - ` +
`process.uptime() * 1000 (${uptime3}) = ` +
`${uptime1 - uptime3} >= +- ${epsilon}`);
}

assert.strictEqual(typeof v8Start, 'number');
assert(v8Start > 0, `v8Start ${v8Start} <= 0`);
// V8 starts after the process starts.
Expand Down
Loading