mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-04-22 08:26:16 -04:00
stats: Expose ueberDB metrics
This commit is contained in:
parent
71dfa7070d
commit
fcf43a7089
1 changed files with 8 additions and 0 deletions
|
@ -24,6 +24,7 @@
|
||||||
const ueberDB = require('ueberdb2');
|
const ueberDB = require('ueberdb2');
|
||||||
const settings = require('../utils/Settings');
|
const settings = require('../utils/Settings');
|
||||||
const log4js = require('log4js');
|
const log4js = require('log4js');
|
||||||
|
const stats = require('../stats');
|
||||||
const util = require('util');
|
const util = require('util');
|
||||||
|
|
||||||
// set database settings
|
// set database settings
|
||||||
|
@ -48,6 +49,13 @@ exports.init = async () => await new Promise((resolve, reject) => {
|
||||||
process.exit(1);
|
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
|
// everything ok, set up Promise-based methods
|
||||||
['get', 'set', 'findKeys', 'getSub', 'setSub', 'remove'].forEach((fn) => {
|
['get', 'set', 'findKeys', 'getSub', 'setSub', 'remove'].forEach((fn) => {
|
||||||
exports[fn] = util.promisify(db[fn].bind(db));
|
exports[fn] = util.promisify(db[fn].bind(db));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue