Browse Source

log mem usage and uptime, trying to identify cause of frequent crashes on demo site

fix-133-memory-crash
Dan Janosik 6 years ago
parent
commit
69082ad523
No known key found for this signature in database GPG Key ID: C6F8CE9FFDB2CED2
  1. 3
      app.js
  2. 23
      app/utils.js

3
app.js

@ -386,6 +386,9 @@ app.runOnStartup = function() {
// refresh exchange rate periodically
setInterval(utils.refreshExchangeRates, 1800000);
utils.logAppStats();
setInterval(utils.logAppStats, 15000);
utils.logMemoryUsage();
setInterval(utils.logMemoryUsage, 5000);
};

23
app/utils.js

@ -174,6 +174,28 @@ function seededRandomIntBetween(seed, min, max) {
return (min + (max - min) * rand);
}
function logAppStats() {
if (global.influxdb) {
var points = [];
points.push({
measurement:`app.memory_usage`,
tags:{app:("btc-rpc-explorer." + global.config.coin)},
fields:process.memoryUsage()
});
points.push({
measurement:`app.uptime`,
tags:{app:("btc-rpc-explorer." + global.config.coin)},
fields:{value:Math.floor(process.uptime())}
});
global.influxdb.writePoints(points).catch(err => {
console.error(`Error saving data to InfluxDB: ${err.stack}`);
});
}
}
function logMemoryUsage() {
var mbUsed = process.memoryUsage().heapUsed / 1024 / 1024;
mbUsed = Math.round(mbUsed * 100) / 100;
@ -508,6 +530,7 @@ module.exports = {
formatCurrencyAmountInSmallestUnits: formatCurrencyAmountInSmallestUnits,
seededRandom: seededRandom,
seededRandomIntBetween: seededRandomIntBetween,
logAppStats: logAppStats,
logMemoryUsage: logMemoryUsage,
getMinerFromCoinbaseTx: getMinerFromCoinbaseTx,
getBlockTotalFeesFromCoinbaseTxAndBlockHeight: getBlockTotalFeesFromCoinbaseTxAndBlockHeight,

Loading…
Cancel
Save