-
Notifications
You must be signed in to change notification settings - Fork 29.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ETW stack walking cannot be enabled from NODE_OPTIONS #46202
Comments
jdapena
added a commit
to jdapena/node
that referenced
this issue
Jan 13, 2023
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: nodejs#46202
jdapena
added a commit
to jdapena/node
that referenced
this issue
Jan 18, 2023
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: nodejs#46202
nodejs-github-bot
pushed a commit
that referenced
this issue
Jan 24, 2023
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 PR-URL: #46203 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
ruyadorno
pushed a commit
that referenced
this issue
Feb 1, 2023
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 PR-URL: #46203 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
juanarbol
pushed a commit
that referenced
this issue
Mar 3, 2023
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 PR-URL: #46203 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
juanarbol
pushed a commit
that referenced
this issue
Mar 5, 2023
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 PR-URL: #46203 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Version
19.4.0
Platform
Windows11 (Microsoft Windows NT 10.0.22621.0 x64)
Subsystem
No response
What steps will reproduce the bug?
Add to
NODE_OPTIONS
--enable-etw-stack-walking
.I.e. in Git Bash:
export NODE_OPTIONS="--enable-etw-stack-walking"
Then run Node:
node
How often does it reproduce? Is there a required condition?
Always
What is the expected behavior?
Node launches, and JIT code from scripts in Node generate symbols to provide stack walking in Windows Performance Recorder/Analyzer.
What do you see instead?
Node fails immediately:
Additional information
It works from command line, as V8 flags are also accepted:
node --enable-etw-stack-walking
When it is working, Windows Performance Recorder with CPU usage recording capture properly the JIT generated code symbols, and those are visible from Windows Performance Analyzer sampled views including stack data. Though, often that's not convenient (i.e. for launching all scripts in a session with ETW stack walk enabled as when running from npm or yarn). Environment variable allows to enable ETW stack walk for the whole shell session or even system wide for all the NodeJS sessions.
There is the possibility, in the future, that ETW is enabled by default, and then this will not be required. This depends on confirming the overload of enabling ETW without an ongoing tracing session is null or almost null and is going to be discussed at V8 level. Meanwhile, it will be interesting to support ETW stack walk in a convenient way for NodeJS community.
The text was updated successfully, but these errors were encountered: