OKHttp 获取 Android 下的 http transferStart 时间和 transferDone 时间

OKHttp get http transferStart time and transferDone tiem under Android

我正在尝试将系统从 Linux 移植到 Android,类似于 http trace, Likely httpstat outputs

  DNS Lookup   TCP Connection   TLS Handshake   Server Processing   Content Transfer
[    302ms  |         416ms  |       1353ms  |            403ms  |             0ms  ]
            |                |               |                   |                  |
   namelookup:302ms          |               |                   |                  |
                       connect:719ms         |                   |                  |
                                   pretransfer:2079ms            |                  |
                                                     starttransfer:2483ms           |
                                                                                total:2483ms

我可以用自己的 tls 堆栈替换初始堆栈,这样我就可以开始 TLS 握手并随着时间的推移,我需要三个数据,例如

"第一个字节时间": FirstResponseByte

"下载时间":(为内容已下载完成)

"重定向时间": (如果有重定向)

而且我现在对OKHttp不是很熟悉,我搜索了一下好像没有暴露这些数据。

那么有什么办法可以得到参数吗?或者甚至使用 HttpUrlConnection 等其他实现?

看看EventListener