/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
v24.14.1
test/common/cpu-prof.js
50 строк
1 KB
Antoine du Hamel
test: add trailing commas in `test/common` (#45550)
21 ноя 2022, 20:38
Не верифицирован
21 ноя 2022, 20:38
73da2c4
Код
Авторство
О чём код?
'use strict'; require('./'); const fs = require('fs'); const path = require('path'); const assert = require('assert'); function getCpuProfiles(dir) { const list = fs.readdirSync(dir); return list .filter((file) => file.endsWith('.cpuprofile')) .map((file) => path.join(dir, file)); } function getFrames(file, suffix) { const data = fs.readFileSync(file, 'utf8'); const profile = JSON.parse(data); const frames = profile.nodes.filter((i) => { const frame = i.callFrame; return frame.url.endsWith(suffix); }); return { frames, nodes: profile.nodes }; } function verifyFrames(output, file, suffix) { const { frames, nodes } = getFrames(file, suffix); if (frames.length === 0) { // Show native debug output and the profile for debugging. console.log(output.stderr.toString()); console.log(nodes); } assert.notDeepStrictEqual(frames, []); } // We need to set --cpu-interval to a smaller value to make sure we can // find our workload in the samples. 50us should be a small enough sampling // interval for this. const kCpuProfInterval = 50; const env = { ...process.env, NODE_DEBUG_NATIVE: 'INSPECTOR_PROFILER', }; module.exports = { getCpuProfiles, kCpuProfInterval, env, getFrames, verifyFrames, };