Skip to content

gwicke/nodegrind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Resources

License

Stars

Watchers

Forks

Packages

No packages published