Mozilla memory profiling, part 2: a working tool

Here is another part of my work on memory analysis in Mozilla :

another-profiler_techno-barje.fr.xpi


This new version of "Another memory profiler" is now an effective tool, which display a lot of information about all objects living in your Firefox instance! By all I mean not only website javascript objects, but all objects used by Firefox in its windows, sidebars, extensions, all tabs, iframes, etc. The previous version allowed you only to select one component : a DOM window(website, sub-iframe or any XUL window), a XPCOM service or a JS Module :

another-components-list.png
Component selection

Now you can get a report about currently living objects : the ones that are still used because there is at least one reference to each of them. This report first display all javascript files involved in your component :

another-lines-browser.png
File selection

By selecting one file, you are seeing the number of living object sorted by there instantiation line :

another-objects-browser.png
Living objects information

Finally, this tool display objects counts for each line sorted by there type. But Javascript is not a strongly typed language, so it's not really easy to sort its objects by a type! That's why there are several way to describe a JS object :

Finally, let's see how to make this extension work :

Come back for the next post for some more explanation on displayed results with simple scripts examples.