diff --git a/public/language/en-GB/admin/advanced/database.json b/public/language/en-GB/admin/advanced/database.json
index b5351b91e4..f0892fd0f5 100644
--- a/public/language/en-GB/admin/advanced/database.json
+++ b/public/language/en-GB/admin/advanced/database.json
@@ -18,6 +18,9 @@
"mongo.resident-memory": "Resident Memory",
"mongo.virtual-memory": "Virtual Memory",
"mongo.mapped-memory": "Mapped Memory",
+ "mongo.bytes-in": "Bytes In",
+ "mongo.bytes-out": "Bytes Out",
+ "mongo.num-requests": "Number of Requests",
"mongo.raw-info": "MongoDB Raw Info",
"redis": "Redis",
@@ -30,6 +33,11 @@
"redis.total-connections-recieved": "Total Connections Received",
"redis.total-commands-processed": "Total Commands Processed",
"redis.iops": "Instantaneous Ops. Per Second",
+ "redis.iinput": "Instantaneous Input Per Second",
+ "redis.ioutput": "Instantaneous Output Per Second",
+ "redis.total-input": "Total Input",
+ "redis.total-output": "Total Ouput",
+
"redis.keyspace-hits": "Keyspace Hits",
"redis.keyspace-misses": "Keyspace Misses",
"redis.raw-info": "Redis Raw Info",
diff --git a/public/src/utils.js b/public/src/utils.js
index e9defd8377..65ca2f8819 100644
--- a/public/src/utils.js
+++ b/public/src/utils.js
@@ -501,7 +501,7 @@
// takes a string like 1000 and returns 1,000
addCommas: function (text) {
- return text.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,');
+ return String(text).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,');
},
toISOString: function (timestamp) {
diff --git a/src/database/mongo.js b/src/database/mongo.js
index f7a9438593..7336570e16 100644
--- a/src/database/mongo.js
+++ b/src/database/mongo.js
@@ -9,6 +9,7 @@ var session = require('express-session');
var _ = require('lodash');
var semver = require('semver');
var prompt = require('prompt');
+var utils = require('../utils');
var client;
var mongoModule = module.exports;
@@ -240,6 +241,9 @@ mongoModule.info = function (db, callback) {
stats.mem.mapped = (stats.mem.mapped / 1024).toFixed(3);
stats.collectionData = results.listCollections;
stats.network = results.serverStatus.network;
+ stats.network.bytesIn = (stats.network.bytesIn / scale).toFixed(3);
+ stats.network.bytesOut = (stats.network.bytesOut / scale).toFixed(3);
+ stats.network.numRequests = utils.addCommas(stats.network.numRequests);
stats.raw = JSON.stringify(stats, null, 4);
stats.avgObjSize = stats.avgObjSize.toFixed(2);
diff --git a/src/database/redis.js b/src/database/redis.js
index cbd66c1abf..95a78b6310 100644
--- a/src/database/redis.js
+++ b/src/database/redis.js
@@ -179,6 +179,15 @@ redisModule.info = function (cxn, callback) {
redisData[parts[0]] = parts[1];
}
});
+
+ redisData.keys = redisData['db' + nconf.get('redis:database')];
+
+ redisData.instantaneous_input = (redisData.instantaneous_input_kbps / 1024).toFixed(3);
+ redisData.instantaneous_output = (redisData.instantaneous_output_kbps / 1024).toFixed(3);
+
+ redisData.total_net_input = (redisData.total_net_input_bytes / (1024 * 1024 * 1024)).toFixed(3);
+ redisData.total_net_output = (redisData.total_net_output_bytes / (1024 * 1024 * 1024)).toFixed(3);
+
redisData.used_memory_human = (redisData.used_memory / (1024 * 1024 * 1024)).toFixed(3);
redisData.raw = JSON.stringify(redisData, null, 4);
redisData.redis = true;
diff --git a/src/views/admin/advanced/database.tpl b/src/views/admin/advanced/database.tpl
index 53533a9249..10d3989e97 100644
--- a/src/views/admin/advanced/database.tpl
+++ b/src/views/admin/advanced/database.tpl
@@ -23,6 +23,10 @@
[[admin/advanced/database:mongo.resident-memory]] [[admin/advanced/database:x-gb, {mongo.mem.resident}]]
[[admin/advanced/database:mongo.virtual-memory]] [[admin/advanced/database:x-gb, {mongo.mem.virtual}]]
[[admin/advanced/database:mongo.mapped-memory]] [[admin/advanced/database:x-gb, {mongo.mem.mapped}]]
+