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
浏览 24
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑 分享
举报