Skip to content

Commit e554fbd

Browse files
committed
src: add support for ETW stack walking
V8 supports native stack walking in Windows by providing JIT code information to ETW (Event Tracing for Windows). But the option to enable it is not exposed in NodeJS. Just add command line (and environment variable) support for --enable-etw-stack-walking, that maps to V8 option of the same name. Fixes: #46202
1 parent 91ca2d4 commit e554fbd

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

doc/api/cli.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1992,6 +1992,7 @@ V8 options that are allowed are:
19921992

19931993
* `--abort-on-uncaught-exception`
19941994
* `--disallow-code-generation-from-strings`
1995+
* `--enable-etw-stack-walking`
19951996
* `--huge-max-old-generation-size`
19961997
* `--interpreted-frames-native-stack`
19971998
* `--jitless`
@@ -2008,6 +2009,8 @@ V8 options that are allowed are:
20082009
`--perf-basic-prof-only-functions`, `--perf-basic-prof`,
20092010
`--perf-prof-unwinding-info`, and `--perf-prof` are only available on Linux.
20102011

2012+
`--enable-etw-stack-walking` is only available on Windows.
2013+
20112014
### `NODE_PATH=path[:…]`
20122015

20132016
<!-- YAML

src/node_options.cc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -762,6 +762,10 @@ PerIsolateOptionsParser::PerIsolateOptionsParser(
762762
&PerIsolateOptions::report_signal,
763763
kAllowedInEnvvar);
764764
Implies("--report-signal", "--report-on-signal");
765+
AddOption("--enable-etw-stack-walking",
766+
"provides heap data to ETW Windows native tracing",
767+
V8Option{},
768+
kAllowedInEnvvar);
765769

766770
AddOption("--experimental-top-level-await", "", NoOp{}, kAllowedInEnvvar);
767771

0 commit comments

Comments
 (0)