π Backtrace Viewer
A modern web application for viewing and analyzing backtrace files from sampling profilers, built with Svelte.
Features
- π File Upload: Load your own backtrace files or use the included sample
- π Thread Filtering: Filter threads by name using exact prefix matching
- π Toggle Views: Expand/collapse individual threads to focus on what matters
- π Collapsible Backtraces: Click on any backtrace line to collapse/expand sections
- π± Responsive Design: Works great on desktop and mobile devices
- β‘ Fast Performance: Built with Svelte for optimal performance
Getting Started
Prerequisites
- Node.js (version 14 or higher)
- npm or yarn
Installation
Clone or navigate to the project directory:
cd backtrace-viewerInstall dependencies:
npm installStart the development server:
npm run devOpen your browser to
http://localhost:5173
Building for Production
npm run build
The built files will be in the dist/ directory.
Usage
Loading Files
- The app will automatically load
sample.txtwhen you open it - Click "π Load Backtrace File" to upload your own backtrace files
- Supported format: Text files from sampling profilers (like macOS
samplecommand)
Filtering Threads
- Use the filter input to find threads by name
- Only shows threads whose names start with your filter text (case-insensitive)
- Thread names are extracted from the part after the
:in thread headers
Viewing Backtraces
- Click on any thread header to expand/collapse its backtrace
- Click on individual backtrace lines to collapse/expand sections
- Indentation shows the call hierarchy
- Sample counts and function names are highlighted for easy reading
File Format Support
The viewer supports backtrace files with this format:
6963 Thread_10032126: hf-xet-0
+ 6963 thread_start (in libsystem_pthread.dylib) + 8 [0x19e40ab80]
+ 6963 _pthread_start (in libsystem_pthread.dylib) + 136 [0x19e40fc0c]
+ 6963 pythread_wrapper (in Python) + 48 [0x104da7cd0]
...
Where:
- Thread headers:
{count} Thread_{id}: {name} - Thread names: Optional part after
: - Backtrace lines: Indented with
+,!,:,|characters - Sample counts, function names, and addresses are automatically highlighted
Contributing
Feel free to open issues or submit pull requests to improve the viewer!
License
MIT License