检测OkHttpClient

时间:2015-07-18 03:02:01

标签: okhttp codahale-metrics

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

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

当最初创建OkHttpClient的实例时,getConnectionPool()为空 - 这是我期待的。但是,即使在执行某些网络请求期间/之后,后续尝试访问池仍会返回null。

我假设有正确的方法来监控ConnectionPool,因为它是公共API的一部分,但我现在还没有清楚地看到它。

所以:

  • 是否可以在ConnectionPool不是OkHttpClient.getConnectionPool()时访问null
  • 如果这不是最好的方法,有什么建议可以更好地解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

试试这个:

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

它会为您提供相同的连接池,但它会尽快给您。