diff --git a/app.js b/app.js index ed19364..a6cfedb 100755 --- a/app.js +++ b/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); }; diff --git a/app/utils.js b/app/utils.js index 3a41ccd..081e7b1 100644 --- a/app/utils.js +++ b/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,