Difference between revisions of "Add DTrace Probes and scripts for Mozilla Code base"

From CDOT Wiki
Jump to: navigation, search
(0.1 Release)
(0.2 Release)
 
(26 intermediate revisions by the same user not shown)
Line 9: Line 9:
 
Resources: sayrer
 
Resources: sayrer
  
== 0.1 Release ==
+
== [[DTrace 0.1 Release|0.1 Release]] ==
  
I am looking at 3 major things for this release.
+
I am looking at 2 major things for this release.
 
<br /><br />
 
<br /><br />
1) The Probe functionality works as close to the specifications needed.
+
1) Creating a D Script that will pick up on an existing D-Trace Probe.
 
<br />
 
<br />
2) It is able to track or pick up on at least 1 or 2 functions within the Mozilla Source Tree.
+
2) Make sure that Mozilla Firefox runs on Mac, and the D-Trace script doesnt crash Mac and/or Firefox.
 
<br />
 
<br />
3) Neither Mozilla or my Probe functions causes the other to 'slpode (destroy the build or crash something).
+
<br />
 +
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.<br>
 +
2)Ensure that the compilation of the patch doesn't crash or interfere with and without the probes injected.<br>
 +
3)Release the fixed patch to the public. Maybe Bugzilla for review purposes.
  
 
== Project Leader(s) ==
 
== Project Leader(s) ==
Line 25: Line 32:
 
== Project Contributor(s) ==
 
== Project Contributor(s) ==
  
None
+
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 ==
 
== Project Details ==
  
Objective 1) Get in contact with people behind the project (0 %) <br \>  
+
==0.1 Objectives==
Objective 2) Learn how to write Probing programs in C/C++ (25 %) <br \>  
+
Objective 1) Get in contact with people behind the project (20 %) <br \>  
Objective 3) Specify 0.1 release (Done 10/05/08)
+
Objective 2) Learn how to write Probing programs in D (Done 10/14/08) <br \>  
 +
Objective 3) Specify 0.1 release (Done 10/05/08) <br \>
 +
Objective 4) Compile Mozilla Firefox on Mac PC for D-Trace functionality (Done 10/09/08) <br \>
 +
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)<br>
 +
Objective 2) Learn how to manually add a probe to a certain batch of code (50 %)<br>
 +
Objective 3) Write a D Script to pick up manually added probes (50 %)<br>
 +
Objective 4) Take the patch created by Vladimir and add the start and end probes where needed (10 %)<br>
 +
Objective 5) Wiki and Blog about 0.2 (5 %)<br>
 +
Objective 6) Finish requirements for 0.2 (10 %)
  
 
== Project News ==
 
== Project News ==
Line 41: Line 59:
 
10/05/08
 
10/05/08
  
- Added 0.1 spec (was busy)
+
- Added 0.1 spec (was busy)<br>
 
- Started working on Probing software on C++
 
- Started working on Probing software on C++
 +
 +
10/09/08
 +
 +
- Compiled Mozilla Firefox on Mac with D-Trace option sucessfully<br>
 +
- 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<br>
 +
- 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<br>
 +
-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

Latest revision as of 17:22, 11 November 2008

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