Skip to main content
Last updated March 24, 2013 20:35, by Alan Coopersmith
Feedicon  

Mozilla DTrace

The Mozilla DTrace project is a Dynamic Tracing Framework for Mozilla, and it's a place where two significant open source communities meet - both DTrace and Mozilla.

Project Goals

  1. Design and implement a Dynamic Tracing Framework in Mozilla.
  2. Promote the inclusion of this framework into Mozilla head and make it available in OpenSolaris.
  3. Work with the Mozilla and DTrace communities to encourage the use and addition of custom dtrace probes to help improve performance, resource usage and quality of both Mozilla products and Web 2.0 applications built on top of them.
  4. Work with existing Mozilla debugging tools, such as their Javascript Debugger(venkman) and DOM Inspector.
  5. Use the project as a place to post faqs/pointers on USDT related stuff, worked examples of Mozilla performance issues, pointers to blogs and so on.

Current Status

The tracing framework has now landed in Mozilla head which allows any Mozilla developer to easily add in their own custom dtrace probes to Mozilla. As a proof of concept we've added Mozilla USDT probes to analyze page and image load times as well as DNS lookups, they are currently under review. Brendan Gregg has also inserted Javascript USDT probes to Mozilla head which uses this framework and this patch has landed.

All the gory details, including the original project proposal are in the following Mozilla bugzilla bugs:

Bugzilla 370906: Dynamic Tracing Framework for Mozilla
Status: landed in CVS head 2007-10-10.
Bugzilla 388564: Latest JavaScript provider patch
Status: landed in CVS head 2007-10-19.
Bugzilla 401697: Adding custom load URL probes to Mozilla
Status: Patch and DTrace script ready for review. Also the example output for the script might be helpful.

Downloads!

Javascript DTrace providers have been enabled for the Firefox nightly builds. They are tar'd binaries - so just download, untar, run and enjoy. They are also enabled in the latest Firefox 3.0 release builds, with package and tar provided. Compiled and uploaded by Alfred.

Wanna have a try?

If you're interested in this project and want to have a try, check out the link's below:

JavaScript Probes
DTrace meets JavaScript, the original prototype demonstration by Brendan Gregg. See JavaScript Examples for some background on the various scripts. See DTraceToolkit for the latest versions of these scripts.
Mozilla Probes
For examples of adding and working with Custom Mozilla probes for URI and Image loading as well as DNS lookup probes refer to John Rice's blog.


Discussions

If you have difficulties using our patches or any suggestions/ideas/DTrace scripts to share with us, please send feedback to dtrace-discuss@opensolaris.org.

 
 
Close
loading
Please Confirm
Close