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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMTQwODYsIm5iZiI6MTczOTAxMzc4NiwicGF0aCI6Ii8yNzg5NDgzMS8zNTUyNDQwNTAtZWZmZjU5NmItMzAyZC00NWM5LTg3OTUtMWZmODYzM2U3ZDBmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDExMjMwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBjZGQ4MDdmNTk1YTg2ODkzODI1NmMzZmUyOWIzODExZTMyNzkyOGI3NmUwMjNlOTcxOWIwNzA4MWYwNWQxZTUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.tJ8pYj8nI1hmruCcfVnnF3Is4EM4AX4nRpeEsSTfScs)
Command line under the hood
![Screenshot](https://private-user-images.githubusercontent.com/27894831/355244008-d34f68fb-8aa6-46ad-9a34-7c97c1a3ae0b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMTQwODYsIm5iZiI6MTczOTAxMzc4NiwicGF0aCI6Ii8yNzg5NDgzMS8zNTUyNDQwMDgtZDM0ZjY4ZmItOGFhNi00NmFkLTlhMzQtN2M5N2MxYTNhZTBiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDExMjMwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk0ZTdmM2ZmMWU4YjY0ZjM3YjExMTgxZDFjY2M2OWVmNzBhMWI0ZTM1NWFjNGJlZDE5ZGQ0YmU5MjE2ODNiNDQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.7ByYvriAQeliFjKhh2A7KKTQAjDrfYDJ1QdavhT59oM)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMTQwODYsIm5iZiI6MTczOTAxMzc4NiwicGF0aCI6Ii8yNzg5NDgzMS8zNjY3MTU0MzAtMjU0OTBkNjktNTc2Yy00ZDQ3LTlmM2EtNmI4YTEyMDBlNTdiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDExMjMwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJmZmMyMDI0ZjVhOGVlYzQzY2JmNzg3NGJjNDk4MTNmYjVkMjM2M2M4YTgyMWY2NWY5MjY2Y2IyYzE2NzBhOWImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.vtJi5QZz3iQcoW0mKOikKmGl6f-19z46qg4QGaGu-hI)
Thanks to Golang Weekly for the shoutout!