browsermob har文件精度

时间:2016-06-08 17:40:25

标签: selenium har browsermob

我正在使用带有selenium的browsermob来创建一个har文件,然后尝试分析该文件。查看文件我得到的时间如下: 'startedDateTime':'2016-05-31T14:37:06.752-06:00' 这很棒,除了我想要更高的精确度,如果可能的话,还要达到微秒。

我可以在谷歌浏览器开发工具的har文件中看到它至少是可能的。

我可以设置broswermob或selenium中的设置以获得额外的精度或其他方式来捕获这种额外的精度吗?

1 个答案:

答案 0 :(得分:2)

HAR specpagesentries个对象的startedDateTime指定为:

  

startedDateTime [string] - 请求开始的日期和时间戳(ISO 8601 - YYYY-MM-DDThh:mm:ss.sTZD)。

ss.s部分有点含糊不清,但规范中给出的示例仅为千分之几秒。所以BrowserMob Proxy只创建千分之一的条目,以避免破坏HAR读者。

大于毫秒的精度可能会在时序中引入许多额外的噪声。纳秒的差异可能是由与HTTP请求的“实际”性能无关的各种事物(例如CPU调度)引起的。当然,这也会在几毫秒内发生,但是越精确,时间就越不准确。

最终,startsDateTime真正指示的是系统时钟报告给BMP产生的某个CPU线程的时间,该线程在网络接口收到HTTP请求的最后一个数据包之后的某个不确定时间启动,由操作系统,由JVM处理,由netty解码,在没有时间保证的情况下异步发生。它应该只被视为“合理”近似。 FWIW,这也是Chrome可以制作的唯一保证。