arunoda:heapsave

v0.1.2Published 10 years ago

This package has not had recent updates. Please investigate it's current state before committing to using it in your project.

meteor-heapsave

Take Heapdump and save them into S3

Install

mrt add heapsave

Usage

1var save = HeapSave.toS3('access-key', 'access-secret', 'bucket');
2
3// save heapdumps per every hour
4Meteor.setInterval(function() {
5  var dumpName = 'myapp-' + Date.now();
6  save(dumpName);
7}, 1000 * 60 * 60);

Notice

  • In order to get a heapdump you need to have at least twice of Memory on the system.

So it's better to turn on swap if you are running under a low memory server.

  • Every heapdump will cause v8 to call gc(). It is a blocking operation.
  • Heapdump will be saved to disk using a child_process.
  • Heapdump will be compressed before sending it to s3. Compression also done via a child process.
  • refer node-heapdump project for more information

Analyzing

Heapdumps can be analyzed using Chrome dev tools.

  • download your dumps from s3
  • untar them
  • load them into chrome dev tool under "profiles" tab

Loading Heapdump into Chrome Dev Tools

  • learn how to analyze heap and detect memory leaks