-
Notifications
You must be signed in to change notification settings - Fork 31k
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
Enable Vtune profiling support for JavaScript to provide source code level profiling in Nodejs #3688
Comments
Actually both can be made to work with the JS code. I forget how to do it for |
Doesn't |
Reasons why VTune is unlikely to get enabled by default:
A compile-time option for the people that build from source is probably acceptable, pull requests welcome. I'll close the issue. |
Hello. I created the pull request #3785 for code review. This feature is a compile-time option according If this patch is landed, I will upload one guide document to describe how to use this feature. |
@cdai2 any chance you could link the guide document you mention on how to use this? Thank you! |
@dlsniper I will add the guide document tomorrow. Thanks. |
When debugging Nodejs application, it's very important and usefull that the developer can get the
JavaScript Source code line level profiling information. For example, which sentence of the JavaScript
source code is the most hot position, which sentence leads to cache miss etc. All other profiling tools
such as perf on linux system and the build-in profiling tools in V8 can profiling the C++ source code if
the symbol information is available. But for the the dynamic JITTed JavaScript code , they can not
provided such detailed Source Code Level profiling information.
V8 Javascript engine contains a component which can enable the JavaScript source code
level profiling for the powerful Intel Vtune Amplifier. And this functionality is already enabled by V8
embedder such as chrome and D8 shell. The basic idea is registering the code event handler in
Nodejs for V8. Then Vtune profiling tool will be used to do profiling when running NodeJS.
This functionality will be switched on /off by one runtime flag. And it will be enabled when developer
profiling / optimizing the applications. So it will not lead to any performance impact or correctness issue when running applications under offical senarios.
The text was updated successfully, but these errors were encountered: