Skip to content

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

Closed
@mishaled

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

Metadata

Assignees

No one assigned

    Labels

    perf_hooksIssues and PRs related to the implementation of the Performance Timing API.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions