SuperAPI AI 工具集

axiom-profile-performance

测试与质量

查看项目

更新于 10-15 20:11

技能介绍

用途:在无 Instruments 图形界面的情况下,对已运行或需启动的应用做有界性能采集,并把轨迹转成可执行的性能报告,重点归因到用户代码。

主要能力:xcprof 提供 record/analyze/compare/doctor 等命令,支持 cpu、memory、network、energy、full 等预设,也可显式指定 instrument(如 SwiftUI、CPU Profiler、Swift Tasks、Swift Actors)。analyze --json 输出 summary、support 支持矩阵、user_frames、hot_frames、main_thread 与 notes,已解析 id/ref 反向引用并过滤系统帧,无需手工 grep XML。compare 可对比基线与当前轨迹,给出每函数 CPU 占比增量,标记 changed/new/gone,并以 --threshold-pct(默认 5)判定回归,--fail-on-regression 可用于 CI。

使用方式:先执行 command -v xcprof && xcprof doctor 检查环境(缺 xctrace 时退出码 2)。建议 export XCPROF_TRACE_ROOT="$(mktemp -d)" 将轨迹限制在沙箱内。用 xcrun simctl list devices booted -j 找已启动模拟器,再以 --attach 附加到运行中的应用,例如 xcprof record --preset cpu --attach '<app>' --time-limit 10s;不确定时先加 --dry-run。分析用 xcprof analyze "<trace>" --json,可用 --start-ms/--end-ms 重定范围,用 --dsym 处理剥离符号的构建。

限制与注意:--allow-launch 与 --all-processes 属安全门禁,必须事先获得用户明确同意,不可自行添加;--max-duration 默认 60s,不应随意提高。support 矩阵中 not_present 或 not_exportable 的族必须如实说明,不能当作“无问题”。未解析的 instrument(如 SwiftUI、Swift Tasks/Actors)需用 open "<trace>" 在 Instruments 中查看。不要 rm -rf 轨迹目录,仅报告路径。对比需在相同负载下采集。若 xcprof 缺失,应提示更新 Axiom 并回退到原始 xctrace CLI,不要重建 grep XML 流程。