2016-08-05 23:04:25 +02:00
|
|
|
# Tracing
|
|
|
|
|
2017-11-04 09:08:46 +01:00
|
|
|
<!--introduced_in=v7.7.0-->
|
|
|
|
|
2016-08-05 23:04:25 +02:00
|
|
|
Trace Event provides a mechanism to centralize tracing information generated by
|
|
|
|
V8, Node 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.
|
2017-07-18 01:47:12 +02:00
|
|
|
By default the `node`, `node.async_hooks`, and `v8` categories are enabled.
|
2016-08-05 23:04:25 +02:00
|
|
|
|
|
|
|
```txt
|
2017-07-18 01:47:12 +02:00
|
|
|
node --trace-events-enabled --trace-event-categories v8,node,node.async_hooks server.js
|
2016-08-05 23:04:25 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
Running Node.js with tracing enabled will produce log files that can be opened
|
|
|
|
in the [`chrome://tracing`](https://www.chromium.org/developers/how-tos/trace-event-profiling-tool)
|
|
|
|
tab of Chrome.
|
2018-01-17 02:13:36 +01:00
|
|
|
|
|
|
|
Starting with Node 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.
|