I am looking for a method to do precise Node.JS
profiling of script execution times on Linux.
There are interesting projects like the NodeTime.com Performance Profiler, but this profiles the timing of I/O httprequests and such, not execution time of lines of code.
I am looking for a way to figure out exactly where I can optimize my Javascript, where most of the time is spent, etc.
One interesting method I've seen is trying to create a FlameGraph using DTrace to profile Node.JS.
However, dtrace
is very Solaris-specific.
- For Linux (Debian/Ubuntu),
dtrace
can be found in thesytemtap-sdt-dev
package. However,stap dtrace
is not the same, and lacks all relevant hooks/probes. - Paul Fox made a port from the Unix version. It's more feature complete but somehow the hooks/probes don't work in userspace as the Solaris one, and also cannot be used to profile node.
ftp://crisp.dyndns-server.com/pub/release/website/dtrace/ (It's pretty easy to build, see README.) - There's also an
Oracle
port, but noone would recommend it. Apparently, it only has about 0,1 percent of the probes the Paul Fox port. (Which is ironic, becauseOracle
was formerlySun
, original authors ofdtrace
forSolaris
)
How, in Linux, using the terminal or using Eclipse, can I profile the code of my Node.JS scripts? I'm looking for something specific like the Zend Profiler shows execution times of each command in code of PHP scripts.