Add DTrace Probes and scripts for Mozilla Code base

From CDOT Wiki
Jump to: navigation, search

Project Name

Add DTrace Probes and scripts for Mozilla Code base

Project Description

DTrace was created by Sun in OpenSolaris to allow developers to write simple scripts in order to probe and instrument executing programs in a way not possible otherwise. One of the advantages of DTrace is that it allows you to turn on probing when you need it, but not incur an execution penalty with regard to performance (i.e., when probes aren't being scripted, they aren't run). This requires developers to add "probes" to their source code. For example, if you wanted to know when a particular function is entered/exited, get info about what happened, etc. you could add probes to the particular function. Writing the probes is not difficult, however there are hundreds or thousands of probes that Mozilla would like across its code base.

Resources: sayrer

0.1 Release

I am looking at 2 major things for this release.

1) Creating a D Script that will pick up on an existing D-Trace Probe.
2) Make sure that Mozilla Firefox runs on Mac, and the D-Trace script doesnt crash Mac and/or Firefox.

For code submission, I will be submitting the D script I used and the output of the file. The instructions for it are also in the wiki. I would appreciate it if it wasn't edited for any malicious intent.

0.2 Release

1)Received a patch from Vladimir at Mozilla Corporation. He requires probes be manually added to the code base.
2)Ensure that the compilation of the patch doesn't crash or interfere with and without the probes injected.
3)Release the fixed patch to the public. Maybe Bugzilla for review purposes.

Project Leader(s)

Chris Cameirao

Project Contributor(s)

I hoepfully require people to test my D-Trace scripts and any probe files I submit. The person MUST have access to a Mac OS X 10.5 and/or OpenSolaris machine in order to be able to compile and contribute to my project more effectively.

Project Details

0.1 Objectives

Objective 1) Get in contact with people behind the project (20 %)
Objective 2) Learn how to write Probing programs in D (Done 10/14/08)
Objective 3) Specify 0.1 release (Done 10/05/08)
Objective 4) Compile Mozilla Firefox on Mac PC for D-Trace functionality (Done 10/09/08)
Objective 5) Complete the requirements for 0.1 (Done 10/18/08)

0.2 Objectives

Objective 1) Contact sayrer about finding a bug to work on (Done 10/28/08)
Objective 2) Learn how to manually add a probe to a certain batch of code (50 %)
Objective 3) Write a D Script to pick up manually added probes (50 %)
Objective 4) Take the patch created by Vladimir and add the start and end probes where needed (10 %)
Objective 5) Wiki and Blog about 0.2 (5 %)
Objective 6) Finish requirements for 0.2 (10 %)

Project News

09/19/08

- Created this status page.

10/05/08

- Added 0.1 spec (was busy)
- Started working on Probing software on C++

10/09/08

- Compiled Mozilla Firefox on Mac with D-Trace option sucessfully
- Began reading resources for D-Trace programming.

10/12/08

- Remodified 0.1 spec based on discussion with David Humphrey

10/14/08

- Created the D Script that will do the function call counting
- Recompiled Mozilla with --enable-dtrace option and any prerequisits accomplished

10/17/08

-Finished and tested my D-Trace Scripts


10/18/08

-Hosted my D-Trace Scripts and instructions to using them
-Added my base 0.2 plans -Wrote a blog about my 0.1 Release.

11/04/08 -Got in contact with Vlad about 0.2 patch that needed probes

11/11/08 -Retrieved Bug 401697 from Bugzilla (contains pre-written JS probes to get started on)

11/12/08 -Attached the patch to Mac and began adding Probes