1 Following are examples of rb_flowinfo.d.
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.
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
40 As each method is entered, the last column is indented by 2 spaces. This
41 shows which method is calling which.
43 The DELTA(us) column shows the change in time from the previous line to the
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.
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.
53 See Notes/ALLflow_notes.txt for important notes about reading flow outputs.