Users have asked for the ability to measure the duration of some processes that the connection pool performs that can contribute to increased latency, increased errors, or other issues if not monitored and tuned correctly. Those requested measurements are:
- The checkout duration.
- The total amount of time a new connection took to establish (i.e. the time between requesting a new connection and the new connection being ready to send application operations on).
Examples of users requesting the feature:
- A connection pool prototype developed by a customer adds a Duration field to the PoolEvent that returns the connection check-out duration.
- A recent forum post asked about the ability to monitor the number of connections in connection pools. However, what they really wanted was to be able to tune the max pool size to maximize performance, which is best tuned by monitoring the check-out latency.
Add the ability to measure the listed durations via the PoolEvent events API.
- causes
-
DRIVERS-2707 Relax the CMAP documentation requirement for durations in events
- Implementing
- has to be finished together with
-
DRIVERS-2900 Test that durations are included on relevant pool events
- Implementing
-
DRIVERS-2707 Relax the CMAP documentation requirement for durations in events
- Implementing
- split to
-
RUBY-3302 Add durations to connection pool events
- Blocked
-
CDRIVER-4688 Add durations to connection pool events
- Closed
-
CSHARP-4722 Add durations to connection pool events
- Closed
-
CXX-2719 Add durations to connection pool events
- Closed
-
GODRIVER-2910 Add durations to connection pool events
- Closed
-
JAVA-5076 Add durations to connection pool events
- Closed
-
MOTOR-1158 Add durations to connection pool events
- Closed
-
NODE-5459 Add durations to connection pool events
- Closed
-
PHPLIB-1200 Add durations to connection pool events
- Closed
-
PYTHON-3841 Add durations to connection pool events
- Closed
-
RUST-1707 Add durations to connection pool events
- Closed
- links to