Performance:Probes: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(start on page)
 
(prior work)
Line 2: Line 2:


We propose to build a system of probes to monitor Gecko performance, with a focus on breaking down time and space consumption by subsystem. The goal is to get results that are finer-grained than Tp/Tp2 etc, which measure the browser as a whole, but coarser-grained than profiling, which works at a per-function level and  does not aggregate multiple functions that are parts of the same subsystem.
We propose to build a system of probes to monitor Gecko performance, with a focus on breaking down time and space consumption by subsystem. The goal is to get results that are finer-grained than Tp/Tp2 etc, which measure the browser as a whole, but coarser-grained than profiling, which works at a per-function level and  does not aggregate multiple functions that are parts of the same subsystem.
== Requirements ==
== nsProbes ==
"nsProbes" is a proposal to insert probes programmatically; see [http://groups.google.com/group/mozilla.dev.platform/browse_thread/thread/48d2a33d08d6d14/c22c2de42b97bd4d?lnk=st&q=mozilla+nsprobes&rnum=1#c22c2de42b97bd4d]
for details.
== DTrace ==
DTrace [http://docs.sun.com/app/docs/doc/817-6223] is a general dynamic tracing framework produced by Sun. It is a powerful system that includes OS kernel integration and a scripting language. Mozilla integration for static probing has been submitted as a patch; see [https://bugzilla.mozilla.org/show_bug.cgi?id=370906 370906].
DTrace is only fully functional for Solaris, but is being worked on for FreeBSD and is expected to be part of Mac OS X 10.5 (Leopard).

Revision as of 17:35, 1 August 2007

Probing is the general concept of instrumenting code in a selective way to collect particular kinds of data. Probes can consist of special code compiled into a program, and/or a monitoring mechanism inserted by an external program.

We propose to build a system of probes to monitor Gecko performance, with a focus on breaking down time and space consumption by subsystem. The goal is to get results that are finer-grained than Tp/Tp2 etc, which measure the browser as a whole, but coarser-grained than profiling, which works at a per-function level and does not aggregate multiple functions that are parts of the same subsystem.

Requirements

nsProbes

"nsProbes" is a proposal to insert probes programmatically; see [1] for details.

DTrace

DTrace [2] is a general dynamic tracing framework produced by Sun. It is a powerful system that includes OS kernel integration and a scripting language. Mozilla integration for static probing has been submitted as a patch; see 370906.

DTrace is only fully functional for Solaris, but is being worked on for FreeBSD and is expected to be part of Mac OS X 10.5 (Leopard).