Massif Visualizer

Developers Apps

Source i (link to git-repo or to original if based on someone elses unmodified work):

Add the source-code for this project on opencode.net

4
Become a Fan
7.3

Available as/for:
Description:
Massif Visualizer is a tool that - *who would guess that* - visualizes massif data. You run your application in Valgrind with `--tool=massif` and the open the generated `massif.out.%pid` in this application. You can also compress the log with Gzip or Bzip2 and open it transparently with the visualizer.

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.
Last changelog:

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

craftysnail

I need this. Please make it downloadable again

justinz

Please re-add the files for this product, thank you.

craftysnail

Thank you for trying to help, you are true superhero 😄

craftysnail

I don't understand why someone would take down their creations..

gautham-banasandra

I'm unable to download this tool. The "Download" button is greyed out.

aditya12008

9 +

rafalrr

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ł

FredMo

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

gohanz

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

milianw

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.

gohanz

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!

bpm

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.

bpm

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

milianw

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?

bpm

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.

milianw

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.

bpm

can I work around it in the meanwhile? any suggestions? thanks.

milianw

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/

bpm

kgraphviewer and kgrapheditor are in /usr/bin libkgraphviewer.so is in /usr/lib so they appear to be in place.

bpm

however I cannot find the interface header file.

bpm

got it working. thanks very much for your help. looks like an excellent tool.

annulen

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.

annulen

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.

milianw

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

wash

Great app, one of the best Valgrind GUI front-ends.

Pling
0 Affiliates
Details
license
version 0.4
updated
added
downloads 24h 0
mediaviews 24h 0
pageviews 24h 3

Other Developers Apps:

Oo-mox
actionless
last update date: 8 years ago

Score 6.5

KEXI
jstaniek
last update date: 7 years ago

Score 6.5

BlackAdder
appy
last update date: 20 years ago

Score 5.0

Wing IDE Professional
sdeibel
last update date: 15 years ago

Score 5.0

Quanta Gold
appy
last update date: 20 years ago

Score 5.0

Codie
elgunvo
last update date: 15 years ago

Score 5.0



System Tags