ios-ettrace-performance
Use when capturing or analyzing ETTrace profiles for a focused iOS launch or runtime flow, including exact-build dSYM UUID matching, Simulator or device capture, processed per-thread flamegraph JSON, sampled inclusive/exclusive time, unresolved symbols, and comparable verification. Use debugging-instruments or swiftui-performance for generic profiling instead.
npx skills add dpearson2699/swift-ios-skills --skill ios-ettrace-performance --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# iOS ETTrace Performance Use ETTrace for a bounded, symbolicated sampling experiment. Treat capture conditions and symbolication as part of the evidence, not as setup trivia. ## Contents - [Boundary](#boundary) - [Capture Contract](#capture-contract) - [Workflow](#workflow) - [Interpret the Report](#interpret-the-report) - [Common Mistakes](#common-mistakes) - [Review Checklist](#review-checklist) - [References](#references) ## Boundary This skill owns ETTrace framework/CLI capture, exact-build dSYMs, processed flamegraph JSON, and like-for-like verification. Use Instruments for broad CPU, hitch, energy, or concurrency triage. Use SwiftUI performance guidance for view identity, invalidation, and layout remediation. ETTrace periodically samples thread stacks. Its durations reconstruct sampled attribution from those intervals; do not present them as wall-clock production timings or compare them directly with a differently configured profiler. ## Capture Contract Write these down before capturing: - one exact user flow and its start/stop boundary; - launch capture or already-running runtime capture; - app commit, build configuration, optimization settings, and architecture; - ETTrace
- Contents
- Boundary
- Capture Contract
- Workflow
- 1. Triage before instrumenting
- 2. Record and hold ETTrace versions fixed
- 3. Build first, then collect matching dSYMs
- 4. Capture from a clean artifact directory
- 5. Validate and summarize processed output
- 6. Change one cause and repeat
- Interpret the Report
- Common Mistakes
- Review Checklist
- References
brew install emergetools/homebrew-tap/ettrace mkdir -p /tmp/myapp-ettrace python3 scripts/collect_dsyms.py \ mkdir /tmp/myapp-ettrace/run-01 cd /tmp/myapp-ettrace/run-01 ettrace --simulator --dsyms /tmp/myapp-ettrace/dsyms python3 scripts/analyze_ettrace.py \
What does the ios-ettrace-performance skill do?
Use when capturing or analyzing ETTrace profiles for a focused iOS launch or runtime flow, including exact-build dSYM UUID matching, Simulator or device capture, processed per-thread flamegraph JSON, sampled inclusive/exclusive time, unresolved symbols, and comparable verification. Use debugging-instruments or swiftui-performance for generic profiling instead.
How do I install it?
Run `npx skills add dpearson2699/swift-ios-skills --skill ios-ettrace-performance --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From dpearson2699/swift-ios-skills, a repository with 963 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.