fuite在 Web 应用中查找内存泄漏

联合创作 · 2023-10-01 21:28

fuite 是一个用于在 Web 应用程序中查找内存泄漏的 CLI 工具。

教程视频

用法

npx fuite https://example.com

这将检查是否有泄漏,并将输出打印到stdout

默认情况下,fuite将假定该站点是客户端渲染的 web 应用程序,它将在给定页面上搜索内部链接。然后对于每个链接,它将:

  1. 点击链接
  2. 按浏览器后退按钮
  3. 重复以查看场景是否泄漏

更多可参阅 scenarios

fuite 使用 Puppeteer 启动 Chrome,加载一个网页,并针对它运行一个场景。它运行场景的一些迭代次数(默认为7次),并寻找泄漏了7次(或14次,或28次)的对象。这听起来可能是一个奇怪的方法,但它对消除内存分析中的噪音很有用。

fuite 查找以下泄漏:

  • 对象(使用 Chrome堆快照捕获)
  • 事件监听器
  • DOM 节点(附加到 DOM – 分离的节点将显示在“对象”下)
  • 集合,例如数组、映射、集合和普通对象

默认场景点击内部链接,因为它是最通用的场景,可以针对各种 SPA 运行,如果使用客户端路由,它通常会捕获泄漏。

 

Usage: fuite [options] <url>

Arguments:
  url                        URL to load in the browser and analyze

Options:
  -o, --output <file>        Write JSON output to a file
  -i, --iterations <number>  Number of iterations (default: 7)
  -s, --scenario <scenario>  Scenario file to run
  -S, --setup <setup>        Setup function to run
  -H, --heapsnapshot         Save heapsnapshot files
  -d, --debug                Run in debug mode
  -p, --progress             Show progress spinner (use --no-progress to disable)
  -V, --version              output the version number
  -h, --help                 display help for command
浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报