chromium/third_party/blink/web_tests/inspector-protocol/memory/sampling-native-profile-blink-gc.js

(async function(/** @type {import('test_runner').TestRunner} */ testRunner) {
  var {page, session, dp} = await testRunner.startBlank(
      `Test sampling native memory profiler (Blink GC hook).`);

  await dp.Memory.startSampling({samplingInterval: 10000, suppressRandomness: true});
  testRunner.log('Sampling started');

  await session.evaluate(function() {
    const div = document.createElement('div');
    document.body.appendChild(div);
    for (let i = 0; i < 1000; ++i)
      div.addEventListener('click', new Function());
  });
  const message = await dp.Memory.getSamplingProfile();
  await dp.Memory.stopSampling();
  testRunner.log('Sampling stopped');

  const profile = message.result.profile;
  const foundTheSample = profile.samples.some(sample =>
    sample.stack.some(frame => frame.includes('AddEventListener')));
  testRunner.log('Found sample: ' + foundTheSample);
  if (!foundTheSample)
    testRunner.log(profile);

  testRunner.completeTest();
})