The client metrics exposes enqueue/dequeue operation coupling the pooling/queuing aspect of a client to the interaction metrics, among relevant issues a client is forced to obtain a client metrics instance before logging any interaction with the pool which does not practically works when the pool can interact with a client resolved at connection time (from the pool perspective).
The queuing metrics portion has been decoupled from the pool metrics, so it can be reused independently (e.g. the WebSocket client has a wait queue but does not use a pool).
This is an SPI breaking change as well as a reported metrics breaking change, user facing API changes should be documented by metrics implementation.
The client metrics exposes enqueue/dequeue operation coupling the pooling/queuing aspect of a client to the interaction metrics, among relevant issues a client is forced to obtain a client metrics instance before logging any interaction with the pool which does not practically works when the pool can interact with a client resolved at connection time (from the pool perspective).
The queuing metrics portion has been decoupled from the pool metrics, so it can be reused independently (e.g. the WebSocket client has a wait queue but does not use a pool).
This is an SPI breaking change as well as a reported metrics breaking change, user facing API changes should be documented by metrics implementation.