]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - cddl/contrib/dtracetoolkit/Examples/rb_flowinfo_example.txt
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / cddl / contrib / dtracetoolkit / Examples / rb_flowinfo_example.txt
1 Following are examples of rb_flowinfo.d.
2
3 This is a simple script to trace the flow of Ruby methods.  Here it traces the 
4 example program, Code/Ruby/func_abc.rb.
5
6 # rb_flowinfo.d
7 C    PID  DELTA(us)              FILE:LINE TYPE     -- NAME
8 0 146395          2       func_abc.rb:3    method   -> Module::method_added
9 0 146395         26       func_abc.rb:3    method   <- Module::method_added
10 0 146395         25       func_abc.rb:8    method   -> Module::method_added
11 0 146395         11       func_abc.rb:8    method   <- Module::method_added
12 0 146395         16       func_abc.rb:14   method   -> Module::method_added
13 0 146395         10       func_abc.rb:14   method   <- Module::method_added
14 0 146395         15       func_abc.rb:20   method   -> Object::func_a
15 0 146395         12       func_abc.rb:15   method     -> Object::print
16 0 146395         20       func_abc.rb:15   method       -> IO::write
17 0 146395        110       func_abc.rb:15   method       <- IO::write
18 0 146395         11       func_abc.rb:15   method     <- Object::print
19 0 146395         11       func_abc.rb:16   method     -> Object::sleep
20 0 146395    1003728       func_abc.rb:16   method     <- Object::sleep
21 0 146395         35       func_abc.rb:17   method     -> Object::func_b
22 0 146395         20       func_abc.rb:9    method       -> Object::print
23 0 146395         12       func_abc.rb:9    method         -> IO::write
24 0 146395         42       func_abc.rb:9    method         <- IO::write
25 0 146395         11       func_abc.rb:9    method       <- Object::print
26 0 146395         11       func_abc.rb:10   method       -> Object::sleep
27 0 146395    1009976       func_abc.rb:10   method       <- Object::sleep
28 0 146395         35       func_abc.rb:11   method       -> Object::func_c
29 0 146395         20       func_abc.rb:4    method         -> Object::print
30 0 146395         12       func_abc.rb:4    method           -> IO::write
31 0 146395         38       func_abc.rb:4    method           <- IO::write
32 0 146395         11       func_abc.rb:4    method         <- Object::print
33 0 146395         11       func_abc.rb:5    method         -> Object::sleep
34 0 146395    1009883       func_abc.rb:5    method         <- Object::sleep
35 0 146395         29       func_abc.rb:5    method       <- Object::func_c
36 0 146395         12       func_abc.rb:11   method     <- Object::func_b
37 0 146395         11       func_abc.rb:17   method   <- Object::func_a
38 ^C
39
40 As each method is entered, the last column is indented by 2 spaces. This
41 shows which method is calling which.
42
43 The DELTA(us) column shows the change in time from the previous line to the
44 current line.
45
46 The LINE column shows the line in the file what was being executed. Refer
47 to the source program to see what this line refers to.
48
49 If the output looks shuffled, check the CPU "C" column - if it changes,
50 then the output is probably shuffled. See Notes/ALLsnoop_notes.txt for
51 details and suggested workarounds.
52
53 See Notes/ALLflow_notes.txt for important notes about reading flow outputs.
54