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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNzUxMDEsIm5iZiI6MTczOTM3NDgwMSwicGF0aCI6Ii8yNzg5NDgzMS8zNTUyNDQwNTAtZWZmZjU5NmItMzAyZC00NWM5LTg3OTUtMWZmODYzM2U3ZDBmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE1NDAwMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ2MjQzNmJjNjk0NjhlNDg4NmJmZDExNWFkZWU5MjA0YTUxYmYyMzc5YTc4MGJkZmIwY2Q5NDQ0NmZkMWMxYzcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.yCgbxNPZFhpV_GTjb5E6AVfIEyO5Bmttx97sseiJxZA)
Command line under the hood
![Screenshot](https://private-user-images.githubusercontent.com/27894831/355244008-d34f68fb-8aa6-46ad-9a34-7c97c1a3ae0b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNzUxMDEsIm5iZiI6MTczOTM3NDgwMSwicGF0aCI6Ii8yNzg5NDgzMS8zNTUyNDQwMDgtZDM0ZjY4ZmItOGFhNi00NmFkLTlhMzQtN2M5N2MxYTNhZTBiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE1NDAwMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc3NjM3YTE5OTYwZGQyYmM5ZTYyZmIxYWQ0YTUyYWVlNDNkYWFhNTFiOGI1ZjFiNGRiYWE0YzEwMTQzYTNjMGImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.LJy5wlkTs3DqSRcYHTdiVk4JbsFifGKvzLeVAgeK3RA)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNzUxMDEsIm5iZiI6MTczOTM3NDgwMSwicGF0aCI6Ii8yNzg5NDgzMS8zNjY3MTU0MzAtMjU0OTBkNjktNTc2Yy00ZDQ3LTlmM2EtNmI4YTEyMDBlNTdiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE1NDAwMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWExMmI3OTJhNDUzZmUwMDcyNTk0ZWIwZGJhZGZiNDFkYWU2MmFhMWFkMGQ0MDk3ZmM4OGYxNzExMzZjNWU0NjkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.e_mFTskRjAiYEkKB_acRw0ykZgsveOVzP32bxR4RyPU)
Thanks to Golang Weekly for the shoutout!