Emit the perf_hooks node timing milestones as trace events. PR-URL: https://github.com/nodejs/node/pull/19175 Reviewed-By: Anna Henningsen <anna@addaleax.net>
1.9 KiB
Tracing
Trace Event provides a mechanism to centralize tracing information generated by V8, Node.js core, and userspace code.
Tracing can be enabled by passing the --trace-events-enabled flag when
starting a Node.js application.
The set of categories for which traces are recorded can be specified using the
--trace-event-categories flag followed by a list of comma separated category
names.
The available categories are:
nodenode.async_hooks- Enables capture of detailed async_hooks trace data.node.bootstrap- Enables capture of Node.js bootstrap milestones.node.perf- Enables capture of Performance API measurements.node.perf.usertiming- Enables capture of only Performance API User Timing measures and marks.node.perf.timerify- Enables capture of only Performance API timerify measurements.
v8
By default the node, node.async_hooks, and v8 categories are enabled.
node --trace-events-enabled --trace-event-categories v8,node,node.async_hooks server.js
Running Node.js with tracing enabled will produce log files that can be opened
in the chrome://tracing
tab of Chrome.
The logging file is by default called node_trace.${rotation}.log, where
${rotation} is an incrementing log-rotation id. The filepath pattern can
be specified with --trace-event-file-pattern that accepts a template
string that supports ${rotation} and ${pid}. For example:
node --trace-events-enabled --trace-event-file-pattern '${pid}-${rotation}.log' server.js
Starting with Node.js 10.0.0, the tracing system uses the same time source
as the one used by process.hrtime()
however the trace-event timestamps are expressed in microseconds,
unlike process.hrtime() which returns nanoseconds.