Agent skill · software engineering · dpearson2699

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.

Why this skill is useful

Provides specific commands and workflows for capturing and analyzing ETTrace profiles that the AI wouldn't reliably generate on its own.

What it needs

Requires brew, python3 installed locally. About 5k tokens when loaded. Last updated 2026-07-31. 973 stars on the source repository.

What this skill does

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 Capture Contract Workflow Interpret the Report Common Mistakes Review Checklist 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 runner and framework versions, plus single-thread or multi-thread mode; simulator/device model and OS build; launch method, data state, cache state, and repetition count. Reject a before/after claim when any of these materially differ. Rebuild and repeat under one contract instead. Workflow 1. Triage before instrumenting Confirm that ETTrace's sampled flamechart is the right next tool. Prefer Instruments first when the slow interval is unknown, spans many subsystems, or needs system-level blocking, I/O, hitch, or concurrency context. Choose one flow small enough to repeat. Launch, first screen construction, opening one document, or applying one edit are useful boundaries; "use the app" is not. 2. Record and hold ETTrace versions fixed Install the runner from the official tap and link the ETTrace package product into the app target being measured. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills dpearson2699/ios-ettrace-performance

View the source on GitHub

Browse the @skills marketplace