-
Type: New Feature
-
Resolution: Works as Designed
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Monitoring
I've been working on an APM integration for Evergreen, and run into a few problems with the API:
- it's difficult to get the collection name (you have to parse a BSON document when the operation starts) that an operation is on, and while some operations don't have collections, most do.
- you have to keep track of operation starts and ends to get some data, and it would be much more ergonomic if you could get a single event when an event completes with all the data, it'd avoid needing to track the event starts (which we don't care about until an event ends.)
- the fact that you have to handle succeeded and failed operations seperatly, introduces a bunch of complexity.
- the thread safety of writing the code to handle these events is pretty complicated, given that many threads are doing operations, the chance of us impacting performance (or deadlocking the driver,) seems high.
- related to
-
DRIVERS-2575 Add collection name to all command logging and monitoring events
- Backlog