Implement locking statistics and update documentation. Here is a proposed view of what the stats would look like:
{
"Global" : {
"acquireCount" : {
"r" : NumberLong(199087),
"w" : NumberLong(67041),
"R" : NumberLong(0),
"W" : NumberLong(6)
},
"acquireWaitCount" : {
"r" : NumberLong(6251),
"w" : NumberLong(737),
"R" : NumberLong(0),
"W" : NumberLong(1)
},
"timeAcquiringMicros" : {
"r" : NumberLong(0),
"w" : NumberLong("40050855895"),
"R" : NumberLong(0),
"W" : NumberLong(14087631)
}
},
"MMAPV1Flush" : {
"acquireCount" : {
"r" : NumberLong(397136),
"w" : NumberLong(179501),
"R" : NumberLong(2483),
"W" : NumberLong(0)
},
"acquireWaitCount" : {
"r" : NumberLong(414),
"w" : NumberLong(1969),
"R" : NumberLong(1403),
"W" : NumberLong(47)
},
"timeAcquiringMicros" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
}
},
"Database" : {
"acquireCount" : {
"r" : NumberLong(199085),
"w" : NumberLong(66982),
"R" : NumberLong(4),
"W" : NumberLong(11)
},
"acquireWaitCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"timeAcquiringMicros" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
}
},
"Collection" : {
"acquireCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(199101),
"W" : NumberLong(66984)
},
"acquireWaitCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(198049),
"W" : NumberLong(66980)
},
"timeAcquiringMicros" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(592931099),
"W" : NumberLong(153978610)
}
},
"Metadata" : {
"acquireCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(21)
},
"acquireWaitCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"timeAcquiringMicros" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
}
},
"local" : {
"acquireCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"acquireWaitCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"timeAcquiringMicros" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
}
}
}
After refactoring stats collection logic in storage, reenable profile4.js, which was disabled temporarily to make progress on using the lock manager in unit tests.
- is duplicated by
-
SERVER-14462 db.currentOp doesn't report locking statistics
-
- Closed
-