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

Exclude remoteOpWaitTime from workingTime in slow query/CurOp computation

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Query Integration
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      On mongos and mongod we already compute the 'remoteOpWaitTime' (see here) for an operation, which is the time the operation spends waiting for sub-operations it sent to remote nodes over the network using the ARS to complete. We include this in the slow query line/operation profile.

      However, we don't consider this time waiting as time the operation is 'blocked' (see  here ), which means that the time spent waiting for remote network operations is still counted towards the 'workingTime' portion of the slow-query log. Since while we are waiting for a remote operation result we are blocked/not using the CPU, I think it makes sense to count the remoteOpWaitTime as 'blocked time' and exclude it from workingMillis, similar to the time spent waiting for locks, tickets, and prepare conflict resolution. 

            Assignee:
            Unassigned Unassigned
            Reporter:
            george.wangensteen@mongodb.com George Wangensteen (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              None
              None
              None
              None