stats: Expose ueberDB metrics

This commit is contained in:
Richard Hansen 2021-03-08 16:30:13 -05:00 committed by John McLear
parent 71dfa7070d
commit fcf43a7089
1 changed files with 8 additions and 0 deletions

View File

@ -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));