diff --git a/src/node/db/DB.js b/src/node/db/DB.js index c0993e8ec..e1097e905 100644 --- a/src/node/db/DB.js +++ b/src/node/db/DB.js @@ -24,6 +24,7 @@ const ueberDB = require('ueberdb2'); const settings = require('../utils/Settings'); const log4js = require('log4js'); +const stats = require('../stats'); const util = require('util'); // set database settings @@ -48,6 +49,13 @@ exports.init = async () => await new Promise((resolve, reject) => { process.exit(1); } + if (db.metrics != null) { + for (const [metric, value] of Object.entries(db.metrics)) { + if (typeof value !== 'number') continue; + stats.gauge(`ueberdb_${metric}`, () => db.metrics[metric]); + } + } + // everything ok, set up Promise-based methods ['get', 'set', 'findKeys', 'getSub', 'setSub', 'remove'].forEach((fn) => { exports[fn] = util.promisify(db[fn].bind(db));