Coding
Instruments profiling
Agent skill for instruments-profiling
0 views
Jan 8, 2026
Sign in to like and favorite skills
Agent skill for instruments-profiling
Sign in to like and favorite skills
Use this skill when the user wants performance profiling or stack analysis for native apps. Focus: Time Profiler,
xctrace CLI, and picking the correct binary/app instance.
xcrun xctrace list templatesxcrun xctrace record --template 'Time Profiler' --time-limit 60s --output /tmp/App.trace --launch -- /path/To/App.appxcrun xctrace record --template 'Time Profiler' --time-limit 60s --output /tmp/App.trace --attach <pid>open -a Instruments /tmp/App.traceNote:
xcrun xctrace --help is not a valid subcommand. Use xcrun xctrace help record.
Gotcha: Instruments may profile the wrong app (e.g., one in
/Applications) if LaunchServices resolves a different bundle.
Use these rules:
xcrun xctrace record ... --launch -- /path/App.app/Contents/MacOS/App.app, ensure it’s the intended bundle:
open -n /path/App.appps -p <pid> -o comm= -o command=/Applications/App.app and a local build exist, explicitly target the local build path.--template 'Time Profiler': template name from xctrace list templates.--launch -- <cmd>: everything after -- is the target command (binary or app bundle).--attach <pid|name>: attach to running process.--output <path>: .trace output. If omitted, file saved in CWD.--time-limit 60s|5m: set capture duration.--device <name|UDID>: required for iOS device runs.--target-stdout -: stream launched process stdout to terminal (useful for CLI tools).xcrun xctrace export --input /tmp/App.trace --tocxcrun xctrace export --input /tmp/App.trace --xpath '/trace-toc/run[@number="1"]/data/table[@schema="time-profile"]' --output /tmp/time-profile.xml--attach with known PID.xctrace may need Developer Tools permission.
time-profile exports are huge.
xcrun xctrace list devices and --device <UDID>.xctrace --attach.