massif-visualizer: Graphical Heap Analysis
massif-visualizer is a KDE GUI that renders a massif.out file as an interactive heap-usage chart with a drill-down allocation tree.
For exploring a heap profile visually, massif-visualizer is far easier than reading ms_print text. It is a desktop tool, so CI produces the massif.out and you open it locally.
What it does
massif-visualizer loads a massif.out (or gzipped .out.gz) file and draws a stacked area chart of heap usage over time, letting you click into snapshots and expand the allocation call tree. It is a graphical alternative to ms_print.
Common usage
# on a workstation, open a file produced in CI
massif-visualizer massif.out.12345
# it also reads gzipped output
massif-visualizer massif.out.gzOptions
| Item | What it does |
|---|---|
| massif.out file | The Massif output to open (positional argument) |
| .out.gz | Gzipped Massif output is read directly |
| GUI drill-down | Click a snapshot to expand its allocation tree |
In CI
massif-visualizer needs a display, so it does not run on headless runners. The CI pattern is to generate massif.out in the pipeline, upload it as an artifact, and open it with massif-visualizer on a developer machine. For a text summary inside CI, use ms_print instead.
Common errors in CI
"cannot connect to X server" or "QXcbConnection: Could not connect to display" appears if you try to launch it on a headless runner; it is a desktop application. If a file fails to open, confirm it is a genuine Massif output (it starts with a "desc:" header line), not a Callgrind or perf file.