One of the most requested features (I think the one just after saving CSS changes) is a support for analyzing memory that is consumed by a web page.
A memory profiler UI should be smoothly integrated with Firebug UI (preferably linking and reusing existing UI elements) and providing such visual information that helps the user to answer/examine following questions.
- What is the state of the memory consumed by the current page just now (a snapshot)?
- How can I see a list of all JS objects created by the page?
- What are the relations among created objects (prototype, constructor, parent, references, referents)?
- How much memory is consumed by this object?
- Where this object was crated in the source code (url, line number)?
- How to automatically execute memory profiler and analyze gathered data over page-life time?
- I know there are memory leaks, how can I find them?
- Are there any objects ready for garbage collecting at this moment?
There is a working Firebug extension called Memorybug that shows what kind of information is possible to get from the currently available memory-profiling APIs. So, far this extension is in real alpha phase.
Here is the recommended configuration to run Memorybug.
As soon as you have all setup, load a test page and follow instructions on it.
- Web Application Memory Profiling, Take Two
- Memory Profiler 0.0.5 AMO
- Another Memory Profiler, Techno Barje
- Fun with SpiderMonkey
- Jetpack Binary Components