Name Date Size #Lines LOC

..--

ReadmeH A D30-Sep-20152.4 KiB5545

js_calldist.dH A D30-Sep-20152.6 KiB10252

js_calls.dH A D30-Sep-20152 KiB7732

js_calltime.dH A D30-Sep-20153.3 KiB11664

js_cpudist.dH A D30-Sep-20152.6 KiB10252

js_cputime.dH A D30-Sep-20153.3 KiB11664

js_execs.dH A D30-Sep-20151.3 KiB5212

js_flow.dH A D30-Sep-20151.9 KiB7020

js_flowinfo.dH A D30-Sep-20152.3 KiB8733

js_flowtime.dH A D30-Sep-20152.3 KiB8533

js_objcpu.dH A D30-Sep-20151.5 KiB6225

js_objgc.dH A D30-Sep-20152.7 KiB9032

js_objnew.dH A D30-Sep-20151.4 KiB5615

js_stat.dH A D30-Sep-20152.3 KiB12157

js_who.dH A D30-Sep-20151.4 KiB5715

Readme

1JavaScript - DTracing JavaScript
2
3   There scripts trace the JavaScript programming language, and require a
4   browser to be built with the DTrace JavaScript provider.
5
6   The DTrace JavaScript provider was originally written by Brendan Gregg,
7   and later developed as part of a Mozilla DTrace provider suite by
8   engineers from both Sun and Mozilla. It currently exists as patches
9   to the Mozilla source tree and requires building from source to get
10   working; it may be integrated into Solaris builds by default in the
11   future. To download the current patches and instructions, visit,
12
13	http://www.opensolaris.org/os/project/mozilla-dtrace/
14
15   A rough guide for the process is,
16
17	1. Download the Mozilla source
18		http://developer.mozilla.org/en/docs/Mozilla_Source_Code_Via_CVS
19	2. Download the Mozilla DTrace framework patch, and apply
20		https://bugzilla.mozilla.org/show_bug.cgi?id=370906
21	3. Download the JavaScript DTrace provider patch, and apply
22		https://bugzilla.mozilla.org/show_bug.cgi?id=388564
23	4. Create a .mozconfig file (needed for compilation).
24	5. Setup various compilation environment vars (CC/CFLAGS/CXX/...)
25	6. autoconf
26	7. ./configure --enable-dtrace
27	8. gmake
28
29   See John Rice's instructions linked from the OpenSolaris page above
30   for details on steps 4-8.
31
32   Since the DTrace JavaScript provider may be developed further, there is a
33   chance that it has changed slightly by the time you are reading this,
34   causing these scripts to either break or behave oddly. Firstly, check for
35   newer versions of the DTraceToolkit; if it hasn't been updated and you need
36   to use these scripts immediately, then updating them shouldn't take
37   too long. The following was the state of the provider when these scripts
38   were written - check for changes and update the scripts accordingly,
39
40	provider javascript {
41	    probe function-entry(file, class, func)
42	    probe function-info(file, class, func, lineno, runfile, runlineno)
43	    probe function-args(file, class, func, argc, argv, argv0, argv1,
44		argv2, argv3, argv4)
45	    probe function-rval(file, class, func, lineno, rval, rval0)
46	    probe function-return(file, class, func)
47	    probe object-create-start(file, class)
48	    probe object-create(file, class, *object, rlineno)
49	    probe object-create-done(file, class)
50	    probe object-finalize(NULL, class, *object)
51	    probe execute-start(file, lineno)
52	    probe execute-done(file, lineno)
53	};
54
55