gabrielfalcao / nodegrind

Profile nodejs applications with kcachegrind, either using the nodegrind wrapper or the more targeted profiling module.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

nodegrind

Profile nodejs applications with kcachegrind, either using the nodegrind wrapper or the more targeted profiling module.

Installation

Node 0.10

npm install nodegrind@0.5.0

Node 4.2

npm install nodegrind

Full-program profiling:

node nodegrind [-o callgrind.out.<pid>] <main.js> <params>
kcachegrind nodegrind.callgrind

Targeted profiling by using nodegrind as a module

var nodegrind = require('nodegrind'),
	fs = require('fs');

nodegrind.startCPU('someProfile');

// Run the code you are interested in

// Get the callgrind profile as a string
var prof = nodegrind.stopCPU('someProfile');
fs.writeFileSync('callgrind.out.someProfile', prof);
// open kcachegrind with 'kcachegrind callgrind.out.someProfile'

// Alternatively, get a Chrome *.cpuprofile that you can load into the Chrome
// profiler (right-click on 'Profiles' in left pane in the 'Profiles' tab)
var prof = nodegrind.stopCPU('someProfile', 'cpuprofile');
fs.writeFileSync('someProfile.cpuprofile', prof);

KCachegrind screenshot

About

Profile nodejs applications with kcachegrind, either using the nodegrind wrapper or the more targeted profiling module.

License:GNU General Public License v2.0


Languages

Language:JavaScript 100.0%