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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzMzI5MTQsIm5iZiI6MTczOTMzMjYxNCwicGF0aCI6Ii8yNzg5NDgzMS8zNTUyNDQwNTAtZWZmZjU5NmItMzAyZC00NWM5LTg3OTUtMWZmODYzM2U3ZDBmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDAzNTY1NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTgwY2NmZTU0M2U5ZWQ4OWFjY2M2MmQzZTIxOTJmODZjMTgxNDY4MTI5NzZlOTY0ZDQ3ZTFlMzIyNWNlZjY4OGYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.FyZ7sCdstRxLsyyqf5A9EjvsocfiBlKWhB6_LvqXdhM)
Command line under the hood
![Screenshot](https://private-user-images.githubusercontent.com/27894831/355244008-d34f68fb-8aa6-46ad-9a34-7c97c1a3ae0b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzMzI5MTQsIm5iZiI6MTczOTMzMjYxNCwicGF0aCI6Ii8yNzg5NDgzMS8zNTUyNDQwMDgtZDM0ZjY4ZmItOGFhNi00NmFkLTlhMzQtN2M5N2MxYTNhZTBiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDAzNTY1NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc3NzM1NjM2NTUyM2Y5ZDM5YjI5ZmRhNDM0MzhkMzU4MWE5MDM2YTE4OTUzNjIwODRjZGU1MDRmMDZiYzQzMjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.qD78LVejBVPR4iOmE7RZXSmmk62-3VvHMFidgzM7-r0)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzMzI5MTQsIm5iZiI6MTczOTMzMjYxNCwicGF0aCI6Ii8yNzg5NDgzMS8zNjY3MTU0MzAtMjU0OTBkNjktNTc2Yy00ZDQ3LTlmM2EtNmI4YTEyMDBlNTdiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDAzNTY1NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ4ZGU4NGRlNzUyM2I2MTEyN2RiNDdjN2EzYTA3Nzc3MTYxOGFkOGVhY2JhYTQyYmRjODYyYmQwNjQ0MDIwODYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.VnayfGN67O5Mmj13TpORPdjmSpybdwx004kDnriSM18)
Thanks to Golang Weekly for the shoutout!