- Assertion Testing
- Async Hooks
- Buffer
- C++ Addons
- C/C++ Addons - N-API
- Child Processes
- Cluster
- Command Line Options
- Console
- Crypto
- Debugger
- Deprecated APIs
- DNS
- Domain
- ECMAScript Modules
- Errors
- Events
- File System
- Globals
- HTTP
- HTTP/2
- HTTPS
- Inspector
- Internationalization
- Modules
- Net
- OS
- Path
- Performance Hooks
- Process
- Punycode
- Query Strings
- Readline
- REPL
- Stream
- String Decoder
- Timers
- TLS/SSL
- Tracing
- TTY
- UDP/Datagram
- URL
- Utilities
- V8
- VM
- ZLIB
Node.js v10.0.0-nightly20180401141be923f3 Documentation
Table of Contents
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:
node
node.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.