While using performance.measure(...) the detail fields isn't passed on to the PerformanceObserver since Node V20 #53570
Closed
Description
Version
20
Platform
Mac
Subsystem
perf_hooks
What steps will reproduce the bug?
const { performance, PerformanceObserver } = require('perf_hooks');
const perfObserver = new PerformanceObserver((items) => {
const entries = items.getEntries();
entries.forEach((entry) => console.log(entry));
});
perfObserver.observe({ entryTypes: ['measure'] });
performance.mark(`sample-start`);
console.log('doing some work...');
performance.mark('sample-end');
performance.measure('sample', {
start: 'sample-start',
end: 'sample-end',
detail: { some: 'data' },
});
How often does it reproduce? Is there a required condition?
Reproduces consistently
What is the expected behavior? Why is that the expected behavior?
The expected output-
doing some work...
PerformanceMeasure {
name: 'sample',
entryType: 'measure',
startTime: 8.93499899105882,
duration: 6.525000999999975,
detail: { some: 'data' }
}
What do you see instead?
doing some work...
PerformanceMeasure {
name: 'sample',
entryType: 'measure',
startTime: 8.93499899105882,
duration: 6.525000999999975,
}
Additional information
Works well when using Node V18