1'use strict'; 2const common = require('../common'); 3const tmpdir = require('../common/tmpdir'); 4const assert = require('assert'); 5const cp = require('child_process'); 6const fs = require('fs'); 7const path = require('path'); 8 9tmpdir.refresh(); 10 11const CODE = 12 'setTimeout(() => { for (let i = 0; i < 100000; i++) { "test" + i } }, 1)'; 13 14const proc = cp.spawn(process.execPath, [ 15 '--trace-events-enabled', 16 '--trace-event-file-pattern', 17 // eslint-disable-next-line no-template-curly-in-string 18 '${pid}-${rotation}-${pid}-${rotation}.tracing.log', 19 '-e', CODE, 20], { cwd: tmpdir.path }); 21 22proc.once('exit', common.mustCall(() => { 23 const expectedFilename = path.join(tmpdir.path, 24 `${proc.pid}-1-${proc.pid}-1.tracing.log`); 25 26 assert(fs.existsSync(expectedFilename)); 27 fs.readFile(expectedFilename, common.mustCall((err, data) => { 28 const traces = JSON.parse(data.toString()).traceEvents; 29 assert(traces.length > 0); 30 })); 31})); 32