← ClaudeAtlas

ios-ettrace-performancelisted

Capture and interpret iOS Simulator ETTrace profiles. Use when profiling launch or runtime latency, comparing traces, or finding CPU-heavy stacks.
flaqai/ios-application-development-skills · ★ 4 · API & Backend · score 75
Install: claude install-skill flaqai/ios-application-development-skills
# iOS ETTrace Performance Use this skill to capture a focused, symbolicated ETTrace profile from an iOS simulator app. Pair it with `../ios-debugger-agent/SKILL.md` when the task also needs simulator build, install, launch, UI driving, logs, or screenshots. ## Core Workflow 1. Pick one focused flow and write down the expected start and stop points. 2. Build the exact simulator app that will be installed and profiled. 3. Temporarily link ETTrace into that app target for simulator/debug profiling. 4. Collect UUID-matched dSYMs for the app executable and embedded dynamic frameworks. 5. Capture one launch or runtime trace. 6. Preserve the processed flamegraph JSON immediately after the run. 7. Analyze only the processed JSON and report the flow, artifacts, hotspots, and caveats. Avoid broad "use the app for a while" captures. One trace should correspond to one user-visible flow. ## Setup Use a writable run folder for each profiling session: ```bash if [ -z "${RUN_DIR:-}" ]; then RUN_DIR="$(mktemp -d "${TMPDIR:-/tmp}/codex-ios-ettrace.XXXXXX")" fi mkdir -p "$RUN_DIR" ``` Install the ETTrace runner CLI if it is not already available: ```bash brew install emergetools/homebrew-tap/ettrace ``` `ettrace` is the host-side macOS runner. The app must also link an `ETTrace.xcframework` for the iOS Simulator architecture. This workflow is validated for ETTrace v1.1.0 processed `output_<thread>.json` files with top-level `nodes`. ## Link ETTrace Into The App Wire ETTrace into t