'use strict'; const common = require('../common'); const { PerformanceObserver, performance: { timerify, }, } = require('perf_hooks'); const assert = require('assert'); const { setTimeout: sleep } = require('timers/promises'); let check = false; async function doIt() { await sleep(100); check = true; return check; } const obs = new PerformanceObserver(common.mustCall((list) => { const entry = list.getEntries()[0]; assert.strictEqual(entry.name, 'doIt'); assert(check); obs.disconnect(); })); obs.observe({ type: 'function' }); const timerified = timerify(doIt); const res = timerified(); assert(res instanceof Promise); res.then(common.mustCall(assert));