-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Performance Benchmarking, Tooling
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
- depends on
-
NODE-6323 Add "no-op" performance test
- Closed