Profiling Viewer opens and visualizes callgrind files. You can use Treemap, Callgraph, flat or hierarchic lists to identify functions where your application spends more time than expected.

- Mix & Match: combine multiple cost types to construct a Callgraph or a Treemap
- Handles multiple costs and position types
- Elegant reports for printing or as PDF
- Treemap with heatmap
- Callgraph with heatmap
- System functions can be hidden based on customizable presets
- Compatible with Xdebug (also with the new 2.7+ version)
- Beautiful Dark Mode
- Source lines annotated with costs
- Runs natively on both Apple silicon and Intel-based Mac computers

You can generate the required callgrind profiling data with various external tools available for many platforms and programming languages.
For example, you can open callgrind files generated by the Xdebug extension for PHP, Valgrind, Ruby ruby-prof, Python cProfile with pyprof2calltree, gperftools-pprof, golang pprof, node.js nodegrind and many other profiling tools with callgrind file output.

- Function costs visualized as Treemap, Callgraph and Lists
- Combine Treemap and Callgraph with Heatmap
- Elegant reports for printing or as PDF
- System functions can be hidden based on customizable presets
- Drill down through double-click, mouse over for details
- Source file Viewer annotated with costs and color marks
- Configurable source locations
- Displays costs as raw data or as percent
- Handles multiple costs and position types
- Shows cycles and recursions
- Sort data by costs, function name or filename
- Navigation history
- Parses compressed callgrind files
- Small memory footprint (for example, approximately 280 MB memory used to open and display a 4.6 GB callgrind file generated by xdebug)

The Callgraph view is:
- Zoomable
- Supports trackpad gestures like zoom in, zoom out, smart zoom
- Represents call costs by the thickness of connections
- Its complexity can be reduced by hiding functions with cost below a customizable preset

Profiling Viewer uses graphviz to layout and render callgraphs. Graphviz is licensed under the Eclipse Public License v1.0. You can download graphviz at

What’s New

Version 1.9

- Added native support for Apple silicon
- Changed the default UI schema to heatmap. You can override this in preferences.
- Increased default window size to avoid clipping of UI elements
- Inceased the width of some table columns to avoid clipping of content
- Some minor optimizations

More detailed information can be found on the website.
Thank you for using Profiling Viewer. Please rate it!

Ratings and Reviews

4.8 out of 5
4 Ratings

4 Ratings

JaviSolis ,

Works well as expected for PHP

Xdebug cachegraph.out can be read here even though it errors out in PHPStorm due to a bug that has not been fixed by them. I wished it had an option though to see diffrent units such as mega bytes and kilobytes or minutes/secods. Its kind of a drag to convert those everytime. But its use of graphviz is great so the visualizations are spot on. If you use it for memory profiling of PHP files with xdebug use the callgraph view and search for the methods you are looking for

Developer Response ,

Thanks for your review.
By clicking the "N" button twice, a dropdown appears and you can select the desired unit.

App Privacy

The developer, Attila Soki, indicated that the app’s privacy practices may include handling of data as described below. For more information, see the developer’s privacy policy.

Data Not Collected

The developer does not collect any data from this app.

Privacy practices may vary, for example, based on the features you use or your age. Learn More


  • Family Sharing

    With Family Sharing set up, up to six family members can use this app.