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