Measure cpu time taken by operations

XMLWordPrintableJSON

    • Type: New Feature
    • Resolution: Fixed
    • Priority: Critical - P2
    • 4.9.0
    • Affects Version/s: None
    • Component/s: Internal Code
    • None
    • Fully Compatible
    • Service arch 2020-10-19
    • None
    • 0
    • None
    • None
    • None
    • None
    • None
    • None

      It would be valuable to measure cpu time consumed by an operation, both as it's running and rolled up by user (to measure resource consumption by a particular user). We could potentially expose this via currentOp, via server status metrics or perhaps in a custom agg pipeline (if by user).

      On linux pthread_getcpuclockid() offers a way to access cpu time consumed by a particular thread relatively easily. In turn, we could capture time at opCtx creation, then store the delta on each call to opCtx->checkForInterrupt, then flush the final value into the user level roll up at opCtx destruction.

            Assignee:
            Amirsaman Memaripour
            Reporter:
            Mira Carey
            Votes:
            0 Vote for this issue
            Watchers:
            19 Start watching this issue

              Created:
              Updated:
              Resolved: