%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; const common = require('../common'); const assert = require('assert'); const cp = require('child_process'); const fs = require('fs'); const path = require('path'); const CODE = 'setTimeout(() => { for (let i = 0; i < 100000; i++) { "test" + i } }, 1);' + 'process.title = "foo"'; const tmpdir = require('../common/tmpdir'); tmpdir.refresh(); const FILE_NAME = path.join(tmpdir.path, 'node_trace.1.log'); const proc = cp.spawn(process.execPath, [ '--trace-event-categories', 'node.perf.usertiming', '--title=bar', '-e', CODE ], { cwd: tmpdir.path }); proc.once('exit', common.mustCall(() => { assert(fs.existsSync(FILE_NAME)); fs.readFile(FILE_NAME, common.mustCall((err, data) => { const traces = JSON.parse(data.toString()).traceEvents .filter((trace) => trace.cat === '__metadata'); assert(traces.length > 0); assert(traces.some((trace) => trace.name === 'thread_name' && trace.args.name === 'JavaScriptMainThread')); assert(traces.some((trace) => trace.name === 'thread_name' && trace.args.name === 'PlatformWorkerThread')); assert(traces.some((trace) => trace.name === 'version' && trace.args.node === process.versions.node)); assert(traces.some((trace) => trace.name === 'node' && trace.args.process.versions.http_parser === process.versions.http_parser && trace.args.process.versions.llhttp === process.versions.llhttp && trace.args.process.versions.node === process.versions.node && trace.args.process.versions.v8 === process.versions.v8 && trace.args.process.versions.uv === process.versions.uv && trace.args.process.versions.zlib === process.versions.zlib && trace.args.process.versions.ares === process.versions.ares && trace.args.process.versions.modules === process.versions.modules && trace.args.process.versions.nghttp2 === process.versions.nghttp2 && trace.args.process.versions.napi === process.versions.napi && trace.args.process.versions.openssl === process.versions.openssl && trace.args.process.arch === process.arch && trace.args.process.platform === process.platform && trace.args.process.release.name === process.release.name && (!process.release.lts || trace.args.process.release.lts === process.release.lts))); if (!common.isSunOS && !common.isIBMi) { // Changing process.title is currently unsupported on SunOS/SmartOS // and IBMi assert(traces.some((trace) => trace.name === 'process_name' && trace.args.name === 'foo')); assert(traces.some((trace) => trace.name === 'process_name' && trace.args.name === 'bar')); } })); }));