A command-line tool and framework for sampling-based performance profiling of iOS apps, generating flamecharts without Xcode.
ETTrace is a performance profiling tool for iOS applications that allows developers to measure and analyze app performance locally without relying on Xcode or Instruments. It works by sampling stack traces and generating flamecharts to visualize CPU usage, helping identify bottlenecks in app launch and runtime. The tool consists of a command-line runner and a framework that links into the app, requiring no code changes for basic profiling.
iOS developers and engineers who need to diagnose and optimize app performance, particularly those working on large-scale or performance-sensitive applications where launch times and CPU usage are critical.
Developers choose ETTrace because it provides accurate, sampling-based profiling outside of Xcode, eliminating the overhead and inaccuracies that can come from running apps through the IDE. Its flamechart visualization and custom event tracking make it easier to pinpoint performance issues compared to traditional Instruments workflows.
Easily and accurately profile iOS apps
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Requires only linking the framework without any code modifications for basic profiling, as the README states no code changes are needed after installation.
Uses sampling-based stack trace capture to identify performance bottlenecks accurately, avoiding the inaccuracies that can occur when running apps through Xcode.
Generates detailed, interactive flamecharts on the EmergeTools website for easy analysis of CPU usage and function call hierarchies, as shown in the example images.
Allows adding custom events to flamecharts via NotificationCenter posts, enabling developers to track user flows like login sequences with simple code snippets.
Supports profiling from app startup including the main function and all threads with command-line flags, providing comprehensive performance analysis.
Visualization requires uploading data to the EmergeTools website, which may raise privacy concerns, require internet access, and ties users to a third-party service.
Running the app through Xcode can result in inaccurate results, forcing manual app launches that complicate development and testing workflows.
Focuses solely on CPU sampling via stack traces and lacks built-in features for memory, GPU, or energy profiling available in Xcode Instruments.
ETTrace is an open-source alternative to the following products: