如何在 UI 中解读长时间任务跨度

编辑

长时间任务是一个新的性能指标,可用于衡量应用程序的响应能力,并帮助开发者了解糟糕的用户体验。根据官方规范,它能够检测到长时间占用 UI 线程(超过 50 毫秒)并阻止其他关键任务执行的任务。

RUM 代理会自动捕获这些长时间任务,并将它们作为跨度包含在事务中。由于长时间任务目前没有关于哪些代码部分导致缓慢的完整信息,因此很难解读这些跨度。下面是一些帮助解读长时间任务跨度的技巧。

  • 长时间任务跨度的名称,例如:selfsame-origin 等,暗示了任务的来源。它可能是当前浏览器上下文或 iframe 内。
  • 跨度的上下文会用有用的信息进行丰富,例如attribution(工作类型,例如脚本、布局等)、typeidname,这些信息确定了负责长时间任务的罪魁祸首容器(例如窗口、iframe、嵌入对象或对象)。

借助事务时间线和跨度计时,可以通过使用用户计时 API标记缓慢的应用程序代码来深入挖掘。当这些跨度随后再次被代理捕获时,可以将它们与长时间任务结合起来,以揭示真正的源代码位置。