首页 > 解决方案 > 具有多个同名标记的绩效测量

问题描述

我目前正在通过运行在每个页面转换上设置自定义标记window.performance.mark('transition-start')。之后,当页面的首屏部分是交互式的时,我会创建另一个标记window.performance.mark('transition-end'). 当用户在这个单页应用程序中执行多个页面转换时,会出现“transition-start”和“transition-end”的多个标记。

使用 时window.performance.measure('transition', 'transition-start', transition-end'),考虑到存在多个同名标记,我是否可以确保始终使用最新标记?我已经在 Firefox 和 Chrome 中对此进行了测试,并查看了使用的最新标记,但我找不到有关此用例的文档。

标签: javascriptperformancebrowser

解决方案


用户计时 API 规范中已说明:

如果 mark 是一个 DOMString,则让 end time 是 startTime 属性的值,该值 来自性能条目缓冲区中最近出现的名为 mark 的 PerformanceMark 对象。如果没有找到匹配的条目,则抛出 SyntaxError。

在计算持续时间时间戳时, Measure 会考虑最近的标记。

详细信息可以在以下文档中阅读:


推荐阅读