node icon indicating copy to clipboard operation
node copied to clipboard

While using performance.measure(...) the detail fields isn't passed on to the PerformanceObserver since Node V20

Open mishaled opened this issue 8 months ago • 3 comments

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

mishaled avatar Jun 24 '24 12:06 mishaled