检测 OkHttpClient

Instrumenting OkHttpClient

我正在编写一个小型包装器库,它允许我使用 Dropwizard Metrics 监控 OkHttpClient 的内部结构:https://github.com/raskasa/metrics-okhttp.

我在正确检测 ConnectionPool 时遇到了一些问题 - 具体来说,定期调用 getConnectionCount() 来监视打开的 TCP 连接数。

最初创建 OkHttpClient 的实例时,getConnectionPool() 为 null - 这是我所期望的。而且,即使 during/after 执行一些网络请求,后续访问池的尝试仍然 return 为空。

我假设有适当的方法来监控 ConnectionPool,因为它是 public API 的一部分,但我只是在时刻.

所以:

试试这个:

OkHttpClient client = ...
client.setConnectionPool(ConnectionPool.getDefault());

这将为您提供无论如何都会获得的相同连接池,但它会更快地提供给您。