性能边界
Optik 的目标不是“记录一切”,而是在记录足够证据的同时不改变被测页面。
固定上限
| 资源 | 默认上限 | 目的 |
|---|---|---|
| 日志 | 5000 条 | 长时间会话可预测内存 |
| 网络记录 | 1000 条 | 防止瀑布与正文无限增长 |
| 长任务 | 200 条 | 保留性能证据而不轮询事件循环 |
| 单个正文 | 512 KiB | 避免克隆大型响应阻塞主线程 |
| JSON 解析 | 1 MiB | 防止调试器自身解析拖慢页面 |
| 树全部展开 | 500 节点 / 12 层 | 控制 DOM 数量与递归深度 |
惰性与批量
对象在采集时只生成浅预览;用户展开时才读取子属性。列表使用环形缓冲和分页,结构化代码视图按页渲染。面板关闭时断开尺寸观察器,避免保留脱离 DOM 的强引用。
如何调参
- 只查启动错误:关闭网络与长任务采集,将
log.maxEntries设为 500 - 查接口协议:保留网络采集,正文上限设为 128 KiB
- 查大响应:逐步提高上限,并观察环境面板的内存与主线程长任务
- 真正需要全量二进制时,使用服务端或桌面抓包工具,不要强迫移动页面复制它
性能数据必须带上下文
开启调试器本身会增加少量序列化、DOM 和观察器开销。比较页面性能时,使用相同配置分别测量“未挂载”和“已挂载”,不要把调试会话直接当成生产基线。