demo.mov
A native macOS app for pprof
Open pprof profiles without command-line hassle ✨.
brew install approf
You can also download the latest app from release.
Graphviz
installed- macOS Sonoma 14.0 or later on a M-series chip
Translucent background is only availble on macOS Sequoia 15.0 or later
- Drag and drop pprof files to open
- Compare pprof profiles using the
-diff_base
option - Reorder / Add / Remove files in seconds
- Dark / Light mode
- Save sessions for later use
![Screenshot](https://private-user-images.githubusercontent.com/27894831/355244050-efff596b-302d-45c9-8795-1ff8633e7d0f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTU3MTMsIm5iZiI6MTczOTU5NTQxMywicGF0aCI6Ii8yNzg5NDgzMS8zNTUyNDQwNTAtZWZmZjU5NmItMzAyZC00NWM5LTg3OTUtMWZmODYzM2U3ZDBmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA0NTY1M1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY2MDNiZDA0ZTFjZjUxZTU1MzhhOWVkYzA5MzM2MmJhY2RiMTYwNjhmODI4ZGI3N2I5ZmVhOWU1YjUxNzYwMmUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.LHniX9Cwlb-Gg5nBzyzB3Icddv3zgYIeFjsNNs6wuNE)
Command line under the hood
![Screenshot](https://private-user-images.githubusercontent.com/27894831/355244008-d34f68fb-8aa6-46ad-9a34-7c97c1a3ae0b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTU3MTMsIm5iZiI6MTczOTU5NTQxMywicGF0aCI6Ii8yNzg5NDgzMS8zNTUyNDQwMDgtZDM0ZjY4ZmItOGFhNi00NmFkLTlhMzQtN2M5N2MxYTNhZTBiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA0NTY1M1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJkZjk2NTUxMGM2ZTdlMzcwNDc2NzA5MzIxNjYxYTFkNTg5MGJkMWM2MjJjZjUxMGRhMjYwMWE3MmVkZDRlOTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.dYI7vmQiIcsM6a0PDSEiToCqohjPx33rA6cTzruEQg4)
WEB page in dark mode
- SwiftUI and AppKit as the UI framework.
- The Composable Architecture for state management.
- Running pprof binay in a process.
![image](https://private-user-images.githubusercontent.com/27894831/366715430-25490d69-576c-4d47-9f3a-6b8a1200e57b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1OTU3MTMsIm5iZiI6MTczOTU5NTQxMywicGF0aCI6Ii8yNzg5NDgzMS8zNjY3MTU0MzAtMjU0OTBkNjktNTc2Yy00ZDQ3LTlmM2EtNmI4YTEyMDBlNTdiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA0NTY1M1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTMyYTUyYjBkNjljNGZkYmZjYmEzZTU1YTQyZTc2MDczMmZjNDRiZWM3ZGFiZmFmYzU0MjBiNDc3YjcyOTgwN2QmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.x4Fa9vUNjP1gL0fit6ueFrIXrSo1GRcdVtOeSbdVrFs)
Thanks to Golang Weekly for the shoutout!