This commit is contained in:
Dan Janosik 2019-10-01 13:26:23 -04:00
parent 0fd7214474
commit a6e7bea9ee
No known key found for this signature in database
GPG key ID: C6F8CE9FFDB2CED2
3 changed files with 38 additions and 1 deletions

View file

@ -11,6 +11,7 @@ var config = require("./config.js");
var coins = require("./coins.js");
var coinConfig = coins[config.coin];
var redisCache = require("./redisCache.js");
var heapdump = require("heapdump");
var exponentScales = [
@ -229,6 +230,7 @@ function ellipsize(str, length) {
}
}
global.lastHeapdump = -1;
function logMemoryUsage() {
var mbUsed = process.memoryUsage().heapUsed / 1024 / 1024;
mbUsed = Math.round(mbUsed * 100) / 100;
@ -236,7 +238,26 @@ function logMemoryUsage() {
var mbTotal = process.memoryUsage().heapTotal / 1024 / 1024;
mbTotal = Math.round(mbTotal * 100) / 100;
//debugLog("memoryUsage: heapUsed=" + mbUsed + ", heapTotal=" + mbTotal + ", ratio=" + parseInt(mbUsed / mbTotal * 100));
if (global.gc) {
debugLog("Forcing garbage collection...");
global.gc();
}
debugLog("MemoryUsage: heapUsed=" + mbUsed + ", heapTotal=" + mbTotal + ", ratio=" + parseInt(mbUsed / mbTotal * 100));
var minutesBetweenHeapdumps = 10;
if (Date.now() - global.lastHeapdump > minutesBetweenHeapdumps * 60000) {
global.lastHeapdump = Date.now();
heapdump.writeSnapshot(function(err, filename) {
if (err != null) {
debugErrorLog(`Heapdump error: ${err}`);
}
debugLog(`Heapdump written to: ${filename}`);
});
}
}
function getMinerFromCoinbaseTx(tx) {

15
npm-shrinkwrap.json generated
View file

@ -1262,6 +1262,21 @@
"minimalistic-assert": "^1.0.1"
}
},
"heapdump": {
"version": "0.3.15",
"resolved": "https://registry.npmjs.org/heapdump/-/heapdump-0.3.15.tgz",
"integrity": "sha512-n8aSFscI9r3gfhOcAECAtXFaQ1uy4QSke6bnaL+iymYZ/dWs9cqDqHM+rALfsHUwukUbxsdlECZ0pKmJdQ/4OA==",
"requires": {
"nan": "^2.13.2"
},
"dependencies": {
"nan": {
"version": "2.14.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
"integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg=="
}
}
},
"hmac-drbg": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",

View file

@ -34,6 +34,7 @@
"electrum-client": "github:chaintools/node-electrum-client#43a999036f9c5",
"express": "^4.17.1",
"express-session": "1.16.1",
"heapdump": "0.3.15",
"jstransformer-markdown-it": "^2.1.0",
"lru-cache": "5.1.1",
"meow": "^5.0.0",