From 9b82d1d37d913fad0d2f230963554ab206629ba2 Mon Sep 17 00:00:00 2001 From: Richard Hansen Date: Wed, 10 Mar 2021 05:12:14 -0500 Subject: [PATCH] server: Log stats (metrics) on fatal error This might help users troubleshoot rare crashes. --- src/node/server.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/node/server.js b/src/node/server.js index fc62b4471..a574116eb 100755 --- a/src/node/server.js +++ b/src/node/server.js @@ -46,6 +46,7 @@ const hooks = require('../static/js/pluginfw/hooks'); const pluginDefs = require('../static/js/pluginfw/plugin_defs'); const plugins = require('../static/js/pluginfw/plugins'); const settings = require('./utils/Settings'); +const stats = require('./stats'); const logger = log4js.getLogger('server'); @@ -104,8 +105,6 @@ exports.start = async () => { // Check if Etherpad version is up-to-date UpdateCheck.check(); - // start up stats counting system - const stats = require('./stats'); stats.gauge('memoryUsage', () => process.memoryUsage().rss); stats.gauge('memoryUsageHeap', () => process.memoryUsage().heapUsed); @@ -215,6 +214,7 @@ exports.exit = async (err = null) => { logger.info('Received SIGTERM signal'); err = null; } else if (err != null) { + logger.error(`Metrics at time of fatal error:\n${JSON.stringify(stats.toJSON(), null, 2)}`); logger.error(err.stack || err.toString()); process.exitCode = 1; if (exitCalled) {