rb_flowinfo_example.txt revision 1.1
1Following are examples of rb_flowinfo.d. 2 3This is a simple script to trace the flow of Ruby methods. Here it traces the 4example program, Code/Ruby/func_abc.rb. 5 6# rb_flowinfo.d 7C PID DELTA(us) FILE:LINE TYPE -- NAME 80 146395 2 func_abc.rb:3 method -> Module::method_added 90 146395 26 func_abc.rb:3 method <- Module::method_added 100 146395 25 func_abc.rb:8 method -> Module::method_added 110 146395 11 func_abc.rb:8 method <- Module::method_added 120 146395 16 func_abc.rb:14 method -> Module::method_added 130 146395 10 func_abc.rb:14 method <- Module::method_added 140 146395 15 func_abc.rb:20 method -> Object::func_a 150 146395 12 func_abc.rb:15 method -> Object::print 160 146395 20 func_abc.rb:15 method -> IO::write 170 146395 110 func_abc.rb:15 method <- IO::write 180 146395 11 func_abc.rb:15 method <- Object::print 190 146395 11 func_abc.rb:16 method -> Object::sleep 200 146395 1003728 func_abc.rb:16 method <- Object::sleep 210 146395 35 func_abc.rb:17 method -> Object::func_b 220 146395 20 func_abc.rb:9 method -> Object::print 230 146395 12 func_abc.rb:9 method -> IO::write 240 146395 42 func_abc.rb:9 method <- IO::write 250 146395 11 func_abc.rb:9 method <- Object::print 260 146395 11 func_abc.rb:10 method -> Object::sleep 270 146395 1009976 func_abc.rb:10 method <- Object::sleep 280 146395 35 func_abc.rb:11 method -> Object::func_c 290 146395 20 func_abc.rb:4 method -> Object::print 300 146395 12 func_abc.rb:4 method -> IO::write 310 146395 38 func_abc.rb:4 method <- IO::write 320 146395 11 func_abc.rb:4 method <- Object::print 330 146395 11 func_abc.rb:5 method -> Object::sleep 340 146395 1009883 func_abc.rb:5 method <- Object::sleep 350 146395 29 func_abc.rb:5 method <- Object::func_c 360 146395 12 func_abc.rb:11 method <- Object::func_b 370 146395 11 func_abc.rb:17 method <- Object::func_a 38^C 39 40As each method is entered, the last column is indented by 2 spaces. This 41shows which method is calling which. 42 43The DELTA(us) column shows the change in time from the previous line to the 44current line. 45 46The LINE column shows the line in the file what was being executed. Refer 47to the source program to see what this line refers to. 48 49If the output looks shuffled, check the CPU "C" column - if it changes, 50then the output is probably shuffled. See Notes/ALLsnoop_notes.txt for 51details and suggested workarounds. 52 53See Notes/ALLflow_notes.txt for important notes about reading flow outputs. 54 55