Javascript:如何从浏览器获取准确的资源计时 API 条目

Tus*_*ahi 6 javascript performance google-chrome google-chrome-devtools resource-timing-api

使用PerformanceResourceTimingduration返回的值还包括资源调度时间。

这是一个例子:

以下是使用性能观察器观察到的数据: 表演条目的观察者数据

这些值与网络面板匹配。但这个值对应的是总时间。这个总时间也加上了资源调度时间。

网络开发工具请求总时间

有没有办法从API获取不包括资源调度时间的持续时间?通常 API 会将此时间添加到请求的总持续时间中。

网络开发工具排队时间

这是网络面板表中的条目。 网络开发工具 注册时间

正如您在上面的照片中看到的:244.13ms 是 240ms(~资源飞行时间)+ 4ms(~资源调度时间)的总和。

如上所述,记录的值是停滞时间和网络表条目中记录的时间之和。这意味着这不仅仅是飞行时间;我正在寻找那个。

小智 0

你可以计算那个时间

 var startTime = performance.now()

 doSomething()   // <---- measured code goes between startTime and endTime

 var endTime = performance.now()

 console.log(`Call to doSomething took ${endTime - startTime} milliseconds`)
Run Code Online (Sandbox Code Playgroud)

如果您想知道服务器收到请求之前所花费的时间,请在发送请求时启动“performance.now()”,并在服务器上的函数开头启动另一个“performance.now()”。

然后如上例所示减去它们现在您知道服务器收到您的请求所花费的时间