Incorporate entire queue registry into CurOp working time calculation

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

      CurOp includes two notions of an operations duration: the wall clock durationMillis and workingTimeMillis, which subtracts out any time the operation spent blocking. It does this subtraction via two mechanisms:

      Because the latter operates on a hard-coded queue, any new queues we introduce will not automatically be subtracted (see SERVER-130992 for an example). Notably, the slow query logging does use the queue registry, so any new queues end up there.

      We should remove explicit references to ExecutionAdmissionContext from this timekeeping and instead use the queue registry to ensure all are covered in the future.

      As part of this, we should also reevaluated whether we need CurOp::pauseTimer, or if the current uses could be represented via their own queues.

            Assignee:
            Unassigned
            Reporter:
            Patrick Freed
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: