This looks like a really valuable tool Nick! It's really cool that you can
reference memory back to real, familiar object names, haven't seen anything
like this before :)

I assume we can use it via the WebIDE Devtools?

Can't wait to try it out!

*W I L S O N  P A G E*

Front-end Developer
Firefox OS (Gaia)
London Office

Twitter: @wilsonpage
IRC: wilsonpage

On Tue, Nov 3, 2015 at 10:32 PM, Nick Fitzgerald <nfitzger...@mozilla.com>
wrote:

> Hi folks!
>
> (Jordan Santell made an announcement on the devtools mailing list[0], but I
> thought I'd spread the word around.)
>
> The first iteration of the new heap snapshots memory tools landed on m-c in
> the middle of the last cycle and rode the train to Developer Edition with
> the merge.
>
> This tool is built on top of JS::ubi::Node[1] which is an API to do
> analyses on the heap graph as the GC sees it, and the SavedFrame JS stack
> recording[2].
>
> In this first release, the most notable feature is capturing the JS stack
> when objects are allocated so that you can see exactly where your retained
> objects are coming from. The downside is that this incurs overhead and you
> have to start recording allocation stacks *before* you start saving heap
> snapshot. You can also disect the heap into various other buckets.
>
> http://i.imgur.com/QrcrtWq.png
>
> This initial version is very much just getting something out the door and
> there is a ton more coming down the pipe. Filtering/searching and diffing
> snapshots are in the works at the moment. Currently, we don't take
> advantage of our full access to every node and edge in the heap graph.
> Soon, we will compute dominator trees to find "deep" size / retention as
> well as find the first N shortest paths from GC roots to objects of
> interest. We are also planning on adding support for cycle collected nodes
> and edges to the JS::ubi::Node graph.
>
> You can enable the new tool by going to the settings panel of the devtools
> and checking the "Memory" checkbox on the left underneath "Default Firefox
> Developer Tools".
>
> http://i.imgur.com/hEPTqrT.png
>
> If you would like to use this tool for the whole runtime rather than scoped
> to a single tab, use the browser toolbox. Here are instructions for
> enabling and using the browser toolbox:
> https://developer.mozilla.org/en-US/docs/Tools/Browser_Toolbox
>
> Please try it out and file bugs in the "Firefox" product and "Developer
> Tools: Memory" component! We want this to be a useful tool for _you_!
>
> Thanks,
>
> Nick
>
> [0]
>
> https://groups.google.com/d/msg/mozilla.dev.developer-tools/TIehyWbmXiQ/g-iLjF3eAgAJ
>
> [1]
>
> https://dxr.mozilla.org/mozilla-central/rev/59a6ad6a921f4809dfc37d943d765300c65721e5/js/public/UbiNode.h#31-163
>
> [2]
>
> https://dxr.mozilla.org/mozilla-central/rev/59a6ad6a921f4809dfc37d943d765300c65721e5/js/src/vm/SavedStacks.h#21-148
> _______________________________________________
> dev-platform mailing list
> dev-platform@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-platform
>
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to