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

serverStatus metrics for currently in-progress ops/commands

    • Type: Icon: Improvement Improvement
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: 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).

            Assignee:
            backlog-server-servicearch [DO NOT USE] Backlog - Service Architecture
            Reporter:
            kevin.pulo@mongodb.com Kevin Pulo
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: