簡體   English   中英

如何使用 PerformanceNavigationTiming API 來跟蹤跨網絡工作者和跨源 iframe 的任務持續時間?

[英]How do I use the PerformanceNavigationTiming API to track the duration of tasks across web workers and cross origin iframes?

目前,我正在通過引發具有名稱和關聯絕對時間戳的事件來在我的 Web 應用程序上生成指標。 這些事件聚合在一個中央事件存儲庫中,如下所示:

const metricEvents = [
  { name: appStart, time: window.performance.timing.responseStart }
]

metricEvents.push({ name: 'interactive', time: new Date().getTime() })

然后我可以從開始時間中減去結束時間並獲得該任務的持續時間。

我的 Web 應用程序使用了 Web Workers 和跨源 iframe,所有這些都貢獻了自己的度量事件。

目前對我來說,從工作人員/幀發送絕對時間戳並仍然從點(例如A -> CB -> E )計算事件的持續時間非常簡單。

我看到PerformanceTiming已被棄用,而支持PerformanceNavigationTiming 問題是PerformanceNavigationTiming返回與當前實體(框架、工作器、主機)相關的相對時間。 這意味着我不能再使用我現有的方法來計算任務時間。

我本能地希望從新的PerformanceNavigationTiming API 獲得絕對時間戳,這可能還是有更好的方法來使用新 API 實現這一目標?

Performance對象有一個timeOrigin屬性。 您可以使用它來獲取跨多個上下文的絕對時間。

你可以從規范中看到這個例子,它准確地說明了你的情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM