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

Measure cpu time taken by operations

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Critical - P2
    • Resolution: Fixed
    • None
    • 4.9.0
    • Internal Code
    • None
    • Fully Compatible
    • Service arch 2020-10-19

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              amirsaman.memaripour@mongodb.com Amirsaman Memaripour
              jason.carey@mongodb.com Jason Carey
              Votes:
              0 Vote for this issue
              Watchers:
              19 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: