What might be doable quite easily is to log the number of leased, total and pending connections via PoolingClientConnectionManager#getStats(). If pending connections is > 0 that indicates the pool is maxed out.