Details
-
Improvement
-
Resolution: Unresolved
-
Major - P3
-
None
-
None
-
Query Execution
Description
The global latency stats Server Status section currently aggregates all the latency information known to the server.
We have a need for the same information except aggregated by database.
For example, today we have:
db.serverStatus().opLatencies
|
{
|
"reads" : {
|
"latency" : NumberLong(9404373),
|
"ops" : NumberLong(90552)
|
},
|
"writes" : {
|
"latency" : NumberLong(4846358),
|
"ops" : NumberLong(22579)
|
},
|
"commands" : {
|
"latency" : NumberLong(8227275),
|
"ops" : NumberLong(108682)
|
},
|
"transactions" : {
|
"latency" : NumberLong(0),
|
"ops" : NumberLong(0)
|
}
|
}
|
I'm hoping to get a response like this, probably using an aggregation stage like $collStats:
use admin
|
db.system.aggregate( [ { $globalLatencyStats: { latencyStats: { } } } ] );
|
{[{ "db" : "firstdb",
|
"reads" : {
|
"latency" : NumberLong(9404373),
|
"ops" : NumberLong(90552)
|
},
|
"writes" : {
|
"latency" : NumberLong(4846358),
|
"ops" : NumberLong(22579)
|
},
|
"commands" : {
|
"latency" : NumberLong(8227275),
|
"ops" : NumberLong(108682)
|
},
|
"transactions" : {
|
"latency" : NumberLong(0),
|
"ops" : NumberLong(0)
|
}},
|
{ "db" : "seconddb",
|
"reads" : {
|
"latency" : NumberLong(9404373),
|
"ops" : NumberLong(90552)
|
},
|
"writes" : {
|
(etc...)
|
|