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

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.8

- Heatmaps: use any available cost type to color your Treemap and Callgraph
- Mix & Match: combine 3 different cost types to construct a Callgraph
- The Callgraph now supports more shape types.
- Increase readability by selecting a unit for the cost. eg KB, MB, for the Memory cost type
- Some minor optimizations

You can find more detailed info 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.


Attila Soki
3.6 MB

OS X 10.9 or later, 64-bit processor



Age Rating


  • Family Sharing

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