关于 profiling-performance
一项使用 Cursor 浏览器工具分析 Web 应用 CPU 活动的技能,指导开发者重现缓慢交互、检查 Chrome DevTools 格式的性能数据并提出优化建议。
主要功能
- 01通过浏览器工具采集 CPU 性能数据
- 02保存原始 JSON 和可读摘要
- 03检查调用栈与采样数量
- 04对比修改前后的性能数据
适用场景
- 01调查页面交互缓慢问题
- 02定位占用 CPU 较多的函数
- 03检查重复渲染或阻塞操作
- 04评估优化效果
MCP 相关
使用 cursor-ide-browser MCP 的 browser_profile_start 和 browser_profile_stop 工具采集 CPU 性能数据,并配合浏览器导航与交互工具使用。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ spencerpauly/ awesome-cursor-skills --skill profiling-performance安装后在 Claude Code 中输入/profiling-performance确认已加载。
详细介绍
性能分析
当 Web 应用感觉缓慢、卡顿或无响应时,使用此技能。Cursor 内置浏览器提供 CPU 分析工具,可捕获真实的调用堆栈和计时数据。
工作原理
cursor-ide-browser MCP 提供 browser_profile_start 和 browser_profile_stop 工具,用于捕获 Chrome DevTools 格式的 CPU 分析数据。分析数据会以原始 JSON 和易读摘要两种形式写入 ~/.cursor/browser-logs/。
步骤
-
确保应用正在运行 — 如果开发服务器尚未运行,请启动它。
-
导航到缓慢的页面:
Tool: browser_navigate Arguments: { "url": "http://localhost:3000/slow-page" } -
开始分析:
Tool: browser_profile_start -
重现缓慢的交互 — 使用浏览器工具触发缓慢行为:
- 点击按钮、滚动、在输入框中键入内容、在页面间导航
- 使用
browser_click、browser_scroll、browser_fill进行交互 - 等待几秒,让交互完成
-
停止分析:
Tool: browser_profile_stop这会将两个文件写入
~/.cursor/browser-logs/:cpu-profile-{timestamp}.json— 原始 Chrome DevTools 分析数据cpu-profile-{timestamp}-summary.md— 易读摘要
-
分析结果 — 阅读这两个文件。原始 JSON 中值得关注的内容:
profile.nodes[].hitCount— 每个函数被采样的次数profile.nodes[].callFrame.functionName— 函数名称profile.samples.length— 收集到的样本总数
对照摘要,找出:
- 消耗 CPU 时间最多的函数
- 意料之外的重新渲染或布局抖动
- 开销较大的第三方库调用
- 阻塞主线程的同步操作
-
提出修复建议 — 根据分析数据,推荐具体的优化方案:
- 对开销较大的计算进行记忆化
- 对频繁触发的事件处理函数进行防抖
- 将繁重的工作移至 Web Worker
- 延迟加载组件或路由
- 对长列表进行虚拟化
注意事项
- 始终阅读原始
.json分析数据以核实摘要 — 摘要可能会遗漏细节。 - 首先在开发模式下进行分析,但请注意,React 开发模式会带来额外开销。要获得准确的测量结果,请分析生产构建。
- 较短的分析(2-5 秒的交互)通常比长时间分析更有用。
- 对比优化前后的分析结果,确认优化确实有效。
评论
支持 Markdown