Uploaded image for project: 'Node.js Driver'
  1. Node.js Driver
  2. NODE-6324

Driver performance monitoring improvements

    • Not Needed
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?

      Use Case

      As a Node.js engineer
      I want an effective way to monitor the driver's performance
      So that I can keep up with any regressions that may occur and not surprise customers with perf regressions.

      User Experience

      • None

      Dependencies

      Risks/Unknowns

      • How stable has the empty benchmark been?

      Acceptance Criteria

      Implementation Requirements

      • Improve benchmark stability in driver:
        • Use the empty benchmark as a factor against the ping command
        • Use the ping command as a factor against all other commands
        • Use the metrics relative to the above to alert.
      • Improve benchmark stability in bson:
        • Use a similar strategy as in driver
      • Start using release dashboards for the driver
        • Figure out appropriate contexts to use and agree as a team on the metrics that should be included there
      • Start using release dashboards in bson
        • Figure out appropriate contexts to use and agree as a team on the metrics that should be included there
      • Ensure driver and bson task names are stable moving forward (i.e., do not include server or runtime versions in the title)
        • While we're here, update the hello task size (we missed this during the legacy hello updates)
      • Establish an updated process for the use of the release dashboards and/or slack alerts to monitor driver performance and act on regressions

      Testing Requirements

      • To test the effectiveness of the empty benchmark, add a synchronous loop to 1mil before writing to the socket in the Connection class. Ensure that the benchmarks reflect the cost of this for ping while it is factored out of other commands.

      Documentation Requirements

      • None

      Follow Up Requirements

      • None

            Assignee:
            Unassigned Unassigned
            Reporter:
            neal.beeken@mongodb.com Neal Beeken
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: