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

serverStatus metrics for currently in-progress ops/commands



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


      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).




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