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

serverStatus metrics for currently in-progress ops/commands

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Duplicate
    • Icon: Major - P3 Major - P3
    • None
    • None
    • Diagnostics
    • None
    • Service Arch

    Description

      Current serverStatus/FTDC metrics focus on the receipt of a request to do some unit of work, eg. opcounters increment when the operation is received, command metrics increment when the command id dispatched (and then again if it fails).

      However there are many situations where it is vital to know how much work is currently in-progress on the server, ie. of the ops/commands received so far, how many have been completed?

      In addition to the work on SERVER-34422 (which would enable a very coarse view of "fraction of client threads that are currently doing 'stuff'"), it would be extremely useful if there were metrics for each opcounter and command metric that get incremented immediately after the operation/command completes. This would allow the number of currently active/in-progress ops/commands to be easily computed by subtracting these "completed" metrics from the regular "started" metrics. (It could also enable interesting visualisations like burn-down charts for ops/commands.)

      Logging is not a viable workaround, because it is focussed on work completion, and although higher log levels show when operations/commands start, this cannot be enabled retrospectively, and usually not enabled permanently (since it tends to cause excessively high logging rates).

      Attachments

        Activity

          People

            backlog-server-servicearch Backlog - Service Architecture
            kevin.pulo@mongodb.com Kevin Pulo
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: