从 Service Worker 获取 JavaScript Resource Timing API 中特定 fetch/xhr 调用的资源性能数据

Kal*_*med 6 javascript performance resource-timing-api

我正在逐个选项卡地记录来自 Service Worker 的所有 http 请求的性能数据(“fetch”事件的“clientId”属性)。Resource Timing API 提供了我需要的所有高分辨率计时数据。但我无法获取特定请求的这些数据。如果有 5 个选项卡,并且所有选项卡都请求http://api.example.com/resource,那么从服务工作线程的范围来看,性能条目已存储所有 5 个请求,没有任何区分属性,并且我无法映射特定的属性对性能条目的请求。

performance.now()是的,我知道我可以在获取请求之前和之后标记时间。但我需要其他数据,如 TTFB、DNS 计时等,我只能根据资源计时 API 提供的数据来测量它们。

如何获取特定请求的高分辨率计时数据?

performance.getEntriesByType("resource")返回所有已加载资源的数据。我只需要这些数据来处理特定的异步请求。