Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-15614

Implement locking statistics in db.currentOp and db.serverStatus

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.0.0-rc6
    • Affects Version/s: None
    • Component/s: Storage
    • None
    • Major Change

      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.

            Assignee:
            kaloian.manassiev@mongodb.com Kaloian Manassiev
            Reporter:
            schwerin@mongodb.com Andy Schwerin
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: