Hi Till,
Thank you for being interested!
That add-on is a front-end for WebIDE and is designed to be used on
Firefox OS temporarily. However, the back-end is developed in gecko and
you may control the profiler in web console:
https://bugzilla.mozilla.org/show_bug.cgi?id=1059139#c16
Please note that this is a prototype and the patches are not landed yet,
so a customary build of gecko with the patches is needed:
https://bugzilla.mozilla.org/show_bug.cgi?id=1059139#c15
Please let me know if any problems. I'm very happy if this is useful to you!
Best regards,
Ting-Yuan Huang
On 12/11/2014 08:55 PM, Till Schneidereit wrote:
Hi Ting-Yuan Huang,
that looks very interesting and I'd very much like to try using it on
Shumway. However, cloning the repo, running make and installing the
resulting XPI only results in a preference being added to the devtools
preferences pane. No panel for the profiler shows up. Is there some
additional step I'm missing to get this working?
thanks,
till
On Thu, Dec 11, 2014 at 9:22 AM, Ting-Yuan Huang <[email protected]
<mailto:[email protected]>> wrote:
Hi Nicholas,
It seems that we have a similar goal :-) We have been prototyping
yet another memory profiler focusing on how objects are allocated:
https://wiki.mozilla.org/MemoryProfiler
(Well, the name is so general because I'm bad at naming. I'll
rename it if anyone feel that's improper.)
It is inspired by hprof and DMD and is designed to identify memory
eager codes directly. For example, it can show which (JS/C/C++)
functions retaining most:
SelfSize TotalSize Name
4653056 9502720 p/this.start
(https://marketplace.cdn.mozilla.net/media/fireplace/js/include.js?b=1412710964149:8)
1310720 2097152 a
(https://marketplace.cdn.mozilla.net/media/fireplace/js/include.js?b=1412710964149:11)
1245184 1245184 nsJSContext::GarbageCollectNow
1179648 1179648 PresShell::DoReflow
983040 983040 nsCycleCollector::collectSlice
983040 983040 IPDL::PHttpChannel::RecvOnTransportAndData
851968 851968 t/t.prototype._create
(https://marketplace.cdn.mozilla.net/media/fireplace/js/include.js?b=1412710964149:12)
or having highest peaks:
SelfHWM TotalHWM Name
6225920 17563648 p/this.start
(https://marketplace.cdn.mozilla.net/media/fireplace/js/include.js?b=1412710964149:8)
6029312 6029312 s
(https://marketplace.cdn.mozilla.net/media/fireplace/js/include.js?b=1412710964149:11)
4784128 4849664 nsDisplayBoxShadowOuter::Paint
1966080 1966080 IPDL::PHttpChannel::RecvOnTransportAndData
1769472 6684672 a
(https://marketplace.cdn.mozilla.net/media/fireplace/js/include.js?b=1412710964149:11)
1572864 18153472 u
(https://marketplace.cdn.mozilla.net/media/fireplace/js/include.js?b=1412710964149:8)
1572864 1572864 nsJSContext::GarbageCollectNow
1507328 1507328 PresShell::DoReflow
1507328 13500416 p/<.run/x/<
(https://marketplace.cdn.mozilla.net/media/fireplace/js/include.js?b=1412710964149:8)
Other features include a timeline like that in Cleopatra so that
developers can zoom in and zoom out to focus on certain time
intervals, a tree view to show the call hierarchy and a filter to
allow users to concentrate on what interest them. We planed to
annotate allocation kinds (images, strings, js objects, etc) later.
The profiler is sampling based because the allocation events are
enormous. Both GC heaps, including nursery and tenured, and native
heaps are sampled. The sampler generates a lot of allocation and
free events. A few tables are kept and garbage collected so that
free events can be determined. Combining allocation with free
events, the peak usage of all functions/methods can be calculated,
which is useful when looking into the memory footprint of
application start-up.
I discussed with :jimb and :fitzgen in the work week and they gave
me many great suggestions. Currently we are trying to retarget the
profiler to debugger APIs.
Hope this is useful and interest you.It would be great if we can
share the work and cooperate on it.
Best regards,
Ting-Yuan Huang
_______________________________________________
dev-tech-js-engine-internals mailing list
[email protected]
<mailto:[email protected]>
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals
_______________________________________________
dev-tech-js-engine-internals mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals