
Massif Visualizer
Source (link to git-repo or to original if based on someone elses unmodified work):
The application consists of three parts:
# The Overview Chart
The first thing you will notice is a nice chart that displays the same as e.g. `ms_print` does in Ascii-Art: total memory consumption over time.
What Massif-Visualizer goes further is by additionally showing the top ten most cost-intensive locations in your code as a stacked graph below the total cost. The graph also reacts on user-interaction.
This view you can use for
- checking whether your application has memory leaks
- finding too expensive peaks
- finding locations that significantly contribute to the overall memory consumption of your application
# The Snapshot Data Tree
Directly next to the above chart, you will see a tree with all of the massif data. The tree items are colored depending on their cost, with red opaque being the most interesting (peak) elements. Green/transparent items are negligible and do not add significant cost to your application.
You can also search the tree and when you select something in it, the snapshot gets highlighted in the overview chart and the call graph gets updated.
# The Call Graph for Detailed Snapshots
Massif generates a few detailed snapshots that essentially make up the tree. If you want to get an overview in a more comfortable way than the simple tree view, switch over to the detailed snapshot tab and see
the tree visualized as a call graph. Zoom in, zoom out, use the birds eye view and see what contributes to a given snapshot. Note that function calls with the same memory cost are grouped to easily find the interesting parts.
11/17/2014: Release of version 0.4.0
- multiple enhancements to the GUI
- many performance improvements
11/20/2011: Release of version 03
- translations into 18 languages
- hiding functions via context menu
- basic custom allocator support
- configurable precision of memory size display
- various optimizations and bug fixes
08/08/2011: add Mac OS X links
11/06/2010: add OBS build service
11/05/2010: Release of version 0.2
- build fixes make it possible to run on Mac OS X
- KGraphViewer is now optional
- prepare for move to KDE extragear
11/02/2010: Release of version 0.1
03/30/2010: First announce on KDE-Apps
Ratings & Comments
25 Comments
I need this. Please make it downloadable again
Please re-add the files for this product, thank you.
Thank you for trying to help, you are true superhero 😄
I don't understand why someone would take down their creations..
I'm unable to download this tool. The "Download" button is greyed out.
9 +
Hi. Massif-visualizer prints errors at start: Quote:massif-visualizer(2234)/kdeui (KAction) KSelectAction::setCurrentAction: Action does not have the correct properties to be current: "Dot"
QObject::connect: Cannot connect DotGraphView::removeEdge(const QString&) to (null)::removeEdge(const QString&)
QObject::connect: Cannot connect DotGraphView::removeNodeNamed(const QString&) to (null)::removeNodeNamed(const QString&)
QObject::connect: Cannot connect DotGraphView::removeElement(const QString&) to (null)::removeElement(const QString&)
QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: No such file or directory
QFileSystemWatcher: failed to add paths: /home/penguin/.config/ibus/bus
massif-visualizer(2234)/kdeui (kdelibs): Attempt to use QAction "toggleDataTree" with KXMLGUIFactory!
massif-visualizer(2234)/kdeui (kdelibs): Attempt to use QAction "toggleAllocators" with KXMLGUIFactory!
Application works correctly, but when I want to show tab "Detailed Snapshot Analysis", I see nothing - it is blank.
Is it known issue? What can I do for correct this?
Br,
Rafał
Hello, Thanks for massif-visualizer Is it possible to have a vertical resizing, when the total cost is disable and when we used the option "shadow this function" I am "shadowing" many function and rising the "Diagram Nb", but the vertical ladder is not updated :( Can you help me ? Thanks Frédéric
I have a compilation error on my Slackware 13.37. This is the console output. [ 75%] Building CXX object massifdata/CMakeFiles/mv-massifdata.dir/parserprivate.o Linking CXX shared library ../lib/libmv-massifdata.so CMakeFiles/mv-massifdata.dir/parserprivate.o: In function `Massif::ParserPrivate::parseheapTreeLeafInternal(QByteArray const&, int)': parserprivate.cpp:(.text+0x10b6): undefined reference to `Massif::functionInLabel(QString const&)' collect2: ld returned 1 exit status make[2]: *** [lib/libmv-massifdata.so] Errore 1 make[1]: *** [massifdata/CMakeFiles/mv-massifdata.dir/all] Errore 2 make: *** [all] Errore 2
What linker and linker flags do you use? Please show the full line, e.g. by invoking: make -j1 VERBOSE=1 then paste the (long) last line that triggers the linking.
After some tests, i find that the the problem is related to this cmake option line on my build script -DBUILD_SHARED_LIBS:BOOL=ON removed this line Massif Visualizer build without problem. Thanks for help!
Hi, how can the following error be resolved: -- Could NOT find KGRAPHVIEWER (missing: KGRAPHVIEWER_INCLUDE_DIRECTORIES) CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: KGRAPHVIEWER_INCLUDE_DIRECTORIES used as include directory in directory /home/brendan/bin/massif-visualizer-0.1/app -- Configuring incomplete, errors occurred! Thanks.
note that I installed the kgraphviewer per the install guide. kgraphviewer 2.1: http://kde-apps.org/content/show.php/KGraphViewer+and+KGrap\ hEditor?content=23999
where did you install kgraphviewer to? please locate kgraphviewer/kgraphviewer_interface.h The cmake file looks in /usr/local/include and /usr/include. What about the libraries, where is libkgraphviewer.so located for you?
hello I simply used the kgraphviewer-2.1-29.1.fc13.i386.rpm package. I installed it by running >rpm -iv kgraphviewer-2.1-29.1.fc13.i386.rpm as root. Am I missing some other part of the install? I did not find the header file in /usr/include or /usr/local Are the headers and lib part of the rpm? or some other package? thanks.
they should be part of it, if not that is a bug which has to be fixed. anyhow, take this to kgraphviewer. I'll ask Gael on insight.
can I work around it in the meanwhile? any suggestions? thanks.
download this file: https://projects.kde.org/projects/extragear/graphics/kgraphviewer/repository/revisions/master/entry/src/part/kgraphviewer_interface.h and put it into /usr/local/include/kgraphviewer/
kgraphviewer and kgrapheditor are in /usr/bin libkgraphviewer.so is in /usr/lib so they appear to be in place.
however I cannot find the interface header file.
got it working. thanks very much for your help. looks like an excellent tool.
Hi! Do you know about project "valgrind-gui"? It's hosted on SourceForge and is written in Qt4. It would be great to integrate your project with it. Of course, it could be done in "unix-way" manner (just call your program and feed it output of massif), but integration into one program can be better option.
Hi! Do you know about project "valgrind-gui"? It's hosted on SourceForge and is written in Qt4. It would be great to integrate your project with it. Of course, it could be done in "unix-way" manner (just call your program and feed it output of massif), but integration into one program can be better option.
I think the approaches are different and Massif-Visualizer has KDE dependencies that I won't remove (the KGraphViewer one alone justifies the need for it). So I think this is a no-go for me. Bye
Great app, one of the best Valgrind GUI front-ends.