diff --git a/package.json b/package.json index 3590ffea94..367c9641de 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,8 @@ "nconf": "*", "icalendar": "git://github.com/lefnire/node-icalendar#master", "resolve": "~0.2.3", - "browserify": "1.17.3" + "browserify": "1.17.3", + "webkit-devtools-agent": "*" }, "private": true, "subdomain": "habitrpg", diff --git a/server.js b/server.js index db73ddd361..51db9480cf 100644 --- a/server.js +++ b/server.js @@ -22,6 +22,17 @@ process.env.SMTP_SERVICE = conf.get("SMTP_SERVICE"); process.env.STRIPE_API_KEY = conf.get("STRIPE_API_KEY"); process.env.STRIPE_PUB_KEY = conf.get("STRIPE_PUB_KEY"); +var agent; +if (process.env.NODE_ENV === 'development') { + // Follow these instructions for profiling / debugging leaks + // * https://developers.google.com/chrome-developer-tools/docs/heap-profiling + // * https://developers.google.com/chrome-developer-tools/docs/memory-analysis-101 + agent = require('webkit-devtools-agent'); + console.log("To debug memory leaks:" + + "\n\t(1) Run `kill -SIGUSR2 " + process.pid + "`" + + "\n\t(2) open http://c4milo.github.com/node-webkit-agent/21.0.1180.57/inspector.html?host=localhost:1337&page=0"); +} + process.on('uncaughtException', function (error) { function sendEmail(mailData) { diff --git a/test/casper/memoryleak.casper.coffee b/test/casper/memoryleak.casper.coffee index 320442e66e..ff5357a90f 100644 --- a/test/casper/memoryleak.casper.coffee +++ b/test/casper/memoryleak.casper.coffee @@ -5,7 +5,7 @@ url = helpers.playUrl casper.start url -casper.repeat 50, -> +casper.repeat 100, -> casper.reload() casper.run ->