-
Type: Improvement
-
Resolution: Won't Do
-
Priority: Major - P3
-
None
-
Component/s: Command Logging and Monitoring
Original ticket:
GODRIVER-1761 requests that a databaseName property be added to CommandFailedEvent because storing the corresponding CommandStartedEvent and then retrieving it via the requestId field requires keeping a thread-safe map and the user says that this hurts their performance in highly concurrent applications.
Instead of duplicating fields like this across all three event types, would it be feasible to store a reference to the CommandStartedEvent in both CommandSucceedEvent and CommandFailedEvent? It would solve this specific issue and would also present a simpler API for users that only want to loop at a started/finished pair because they could register handlers for succeeded/failed and not have to register one for started.
Summary of discussion:
We will update the spec to state that drivers may store a CommandStartedEvent in a CommandSucceededEvent/CommandFailedEvent as an implementation detail if it makes sense for them.
- related to
-
DRIVERS-2575 Add collection name to all command logging and monitoring events
- Backlog
-
GODRIVER-1761 CommandFinishedEvent have not db name property
- Closed
-
GODRIVER-2558 Add field Database with CommandFinishedEvent
- Closed
-
DRIVERS-2452 Add databaseName property to command events
- Implementing