mirror of
https://github.com/wekan/wekan.git
synced 2025-12-28 21:28:49 +01:00
Add to Admin Panel / Version: Meteor version, MongoDB version, MongoDB storage engine,
MongoDB Oplog enabled. Thanks to RocketChat developers for MongoDB detection code and xet7 for other code.
This commit is contained in:
parent
ad09cdb1d1
commit
20294d833a
53 changed files with 262 additions and 4 deletions
|
|
@ -1,9 +1,13 @@
|
|||
import { MongoInternals } from 'meteor/mongo';
|
||||
|
||||
Meteor.methods({
|
||||
getStatistics() {
|
||||
const os = require('os');
|
||||
const pjson = require('/package.json');
|
||||
const statistics = {};
|
||||
statistics.version = pjson.version;
|
||||
let wekanVersion = pjson.version;
|
||||
wekanVersion = wekanVersion.replace('v', '');
|
||||
statistics.version = wekanVersion;
|
||||
statistics.os = {
|
||||
type: os.type(),
|
||||
platform: os.platform(),
|
||||
|
|
@ -15,12 +19,50 @@ Meteor.methods({
|
|||
freemem: os.freemem(),
|
||||
cpus: os.cpus(),
|
||||
};
|
||||
let nodeVersion = process.version;
|
||||
nodeVersion = nodeVersion.replace('v', '');
|
||||
statistics.process = {
|
||||
nodeVersion: process.version,
|
||||
nodeVersion: nodeVersion,
|
||||
pid: process.pid,
|
||||
uptime: process.uptime(),
|
||||
};
|
||||
|
||||
// Remove beginning of Meteor release text METEOR@
|
||||
let meteorVersion = Meteor.release;
|
||||
meteorVersion = meteorVersion.replace('METEOR@', '');
|
||||
statistics.meteor = {
|
||||
meteorVersion: meteorVersion,
|
||||
};
|
||||
// Thanks to RocketChat for MongoDB version detection !
|
||||
// https://github.com/RocketChat/Rocket.Chat/blob/develop/app/utils/server/functions/getMongoInfo.js
|
||||
let mongoVersion;
|
||||
let mongoStorageEngine;
|
||||
let mongoOplogEnabled;
|
||||
try {
|
||||
const { mongo } = MongoInternals.defaultRemoteCollectionDriver();
|
||||
oplogEnabled = Boolean(
|
||||
mongo._oplogHandle && mongo._oplogHandle.onOplogEntry,
|
||||
);
|
||||
const { version, storageEngine } = Promise.await(
|
||||
mongo.db.command({ serverStatus: 1 }),
|
||||
);
|
||||
mongoVersion = version;
|
||||
mongoStorageEngine = storageEngine.name;
|
||||
mongoOplogEnabled = oplogEnabled;
|
||||
} catch (e) {
|
||||
try {
|
||||
const { version } = Promise.await(mongo.db.command({ buildinfo: 1 }));
|
||||
mongoVersion = version;
|
||||
mongoStorageEngine = 'unknown';
|
||||
} catch (e) {
|
||||
mongoVersion = 'unknown';
|
||||
mongoStorageEngine = 'unknown';
|
||||
}
|
||||
}
|
||||
statistics.mongo = {
|
||||
mongoVersion: mongoVersion,
|
||||
mongoStorageEngine: mongoStorageEngine,
|
||||
mongoOplogEnabled: mongoOplogEnabled,
|
||||
};
|
||||
return statistics;
|
||||
},
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue