-
Type: Task
-
Resolution: Unresolved
-
Priority: Unknown
-
None
-
Affects Version/s: None
-
Component/s: Performance
Use Case
As a node driver user
I want performant command monitoring and logging
So that there is not a significant cost to enabling application insight
We should consider lazily cloning or no longer cloning commands and responses. This reduces the overhead of monitoring making command logging more accessible to more applications.
TBD:
- No longer cloning would be replaced with typescript & documentation that it is unexpected for modifications to be made to responses/commands so it's out of scope for our driver to handle
- Make cloning lazy via getter
- perhaps instead make clones of the BSON bytes, costly but less so than a recursive clone of a JS object, better at type info preservation
User Impact
- By no longer cloning, command or response modification can impact driver behavior
Dependencies
- upstream and/or downstream requirements and timelines to bear in mind
Unknowns
- questions that need to be answered to determine implementation
Acceptance Criteria
Implementation Requirements
- functional reqs, potential snafus to avoid, performance targets, etc
Testing Requirements
- unit test, spec test sync, etc
Documentation Requirements
- DOCSP ticket, API docs, etc
Follow Up Requirements
- additional tickets to file, required releases, etc