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

Improve performance for API version metrics

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • Repl 2023-08-07
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      API Version parsing and metrics take a non-trivial amount of time in command execution. We should investigate if we can improve that.

      UPDATE: In offline discussions, we determined that the current structure of tracking API metrics is not worth the performance cost we incur for every write. Instead of what we do today (track recently used API version metrics per application name, which can explode in size if there are many connections), we should instead:

      • Track # of connections with a default appName for each API version
      • Track # of connections with a non-default appName for each API version
      • Ensure the appName and API version is available in currentOp and/or serverStatus so that customers can view it
      • Log the appName and API version upon connection establishment

      This will reduce the amount of overhead for API metrics while still providing enough information for DBMs to manage API versioning for their own projects.

            Assignee:
            backlog-query-execution [DO NOT USE] Backlog - Query Execution
            Reporter:
            judah.schvimer@mongodb.com Judah Schvimer
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated: