问题描述
我正在构建一个大型私有(即在防火墙后面使用)PWA,想知道如果/当我的用户遇到问题时如何改进诊断。我已经有一个错误管理器,它使用 navigator.sendbeacon 在服务器上记录错误,但缺少导致该点的详细信息。
我的一个想法是用 performance.mark() 语句自由地标记代码,并在出现错误时将性能缓冲区转储到服务器。它会给我一个最近活动的有序列表。
然而,只有当浏览器在内部缓冲区已满时丢弃最旧的条目为新条目让路时,才有意义。然而,我在谷歌搜索中找到的所有文档都没有提到它。我知道我可以在事件已满时获得一个事件,并且可以使用它来复制和清除它,但是如果我忽略该事件,我找不到关于会发生什么的词。我也找不到典型的尺寸。我也不想让条目填满整个计算机内存
谁能给我一个明确的答案
编辑:我越研究这个,我就越困惑。看来您可以控制 resourceTimingBuffer
的大小,但“资源”性能条目与 fetch
而不是 Performance.mark()
相关。我找不到任何关于限制的声明。
解决方法
我找不到有意义的限制。我做了一个测试,生成了 4000 多个标记,它们都在那里,内存使用量没有以任何可衡量的方式增加。