From 9ab74b0a6162ca007c596569425e77ce065b0bf5 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Sat, 15 Nov 2014 19:09:44 -0500 Subject: [PATCH] added ability to take heap snapshots --- package.json | 1 + src/socket.io/admin.js | 4 ++++ src/views/admin/development/logger.tpl | 18 +++++++++++++++++- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 06787f9b1f..ebf8a998f0 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "express-session": "^1.8.2", "gm": "1.16.0", "gravatar": "^1.1.0", + "heapdump": "^0.3.0", "less": "^1.7.5", "logrotate-stream": "^0.2.3", "mkdirp": "~0.5.0", diff --git a/src/socket.io/admin.js b/src/socket.io/admin.js index d759e9cbb8..c55e04a5ad 100644 --- a/src/socket.io/admin.js +++ b/src/socket.io/admin.js @@ -299,4 +299,8 @@ SocketAdmin.getVoters = function(socket, pid, callback) { }); }; +SocketAdmin.takeHeapSnapshot = function(socket, data, callback) { + require('heapdump').writeSnapshot(callback); +}; + module.exports = SocketAdmin; diff --git a/src/views/admin/development/logger.tpl b/src/views/admin/development/logger.tpl index 4d23da5313..826f9e5bcc 100644 --- a/src/views/admin/development/logger.tpl +++ b/src/views/admin/development/logger.tpl @@ -2,7 +2,7 @@
Logger Settings
-
+

By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.

@@ -31,6 +31,13 @@
+ +
+
Heap Snapshot
+
+ +
+
@@ -47,5 +54,14 @@