diff options
Diffstat (limited to 'cddl/contrib/dtracetoolkit/Examples/pl_flowinfo_example.txt')
-rw-r--r-- | cddl/contrib/dtracetoolkit/Examples/pl_flowinfo_example.txt | 188 |
1 files changed, 188 insertions, 0 deletions
diff --git a/cddl/contrib/dtracetoolkit/Examples/pl_flowinfo_example.txt b/cddl/contrib/dtracetoolkit/Examples/pl_flowinfo_example.txt new file mode 100644 index 0000000..e4b406f --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Examples/pl_flowinfo_example.txt @@ -0,0 +1,188 @@ +The following are examples of pl_flowinfo.d. + +This is a simple script to trace the flow of Perl subroutines (functions). +Here it traces the example program, Code/Perl/func_abc.pl. + + # pl_flowinfo.d + C PID DELTA(us) FILE:LINE TYPE -- SUB + 0 305127 2 func_abc.pl:15 sub -> func_a + 0 305127 1008776 func_abc.pl:9 sub -> func_b + 0 305127 1010019 func_abc.pl:4 sub -> func_c + 0 305127 1009979 func_abc.pl:4 sub <- func_c + 0 305127 26 func_abc.pl:9 sub <- func_b + 0 305127 9 func_abc.pl:15 sub <- func_a + ^C + +As each subroutine is entered, the third column is indented by 2 spaces. This +shows which subroutine is calling who - the output abovebegins by showing that +func_a() began, and then called func_b(). + +The DELTA(us) column shows time from that line to the previous line, and +so can be a bit tricky to read. For example, the second line of data output +(skipping the header) reads as "the time from func_a() beginning to +func_b() beginning was 1008776 us, or 1.01 seconds". + +The LINE column shows the line in the file what was being executed. Refer +to the source program to see what this line refers to. + +If the output looks shuffled, check the CPU "C" column - if it changes, +then the output is probably shuffled. See Notes/ALLsnoop_notes.txt for +details and suggested workarounds. + +See Notes/ALLflow_notes.txt for important notes about reading flow outputs. + + + +The following traces a Perl network interface statistics tool, "nicstat" +version 0.99, + +# pl_flowinfo.d +C PID DELTA(us) FILE:LINE TYPE -- SUB +0 305132 2 nicstat:83 sub -> BEGIN +0 305132 444 strict.pm:12 sub -> bits +0 305132 34 strict.pm:12 sub <- bits +0 305132 32 strict.pm:28 sub -> import +0 305132 22 strict.pm:28 sub <- import +0 305132 8 nicstat:83 sub <- BEGIN +0 305132 26 nicstat:84 sub -> BEGIN +0 305132 2339 Exporter.pm:30 sub -> import +0 305132 83 Exporter.pm:30 sub <- import +0 305132 14 nicstat:84 sub <- BEGIN +0 305132 27 nicstat:85 sub -> BEGIN +0 305132 205 Kstat.pm:34 sub -> BEGIN +0 305132 11 strict.pm:28 sub -> import +0 305132 11 strict.pm:28 sub <- import +0 305132 8 Kstat.pm:34 sub <- BEGIN +0 305132 23 Kstat.pm:35 sub -> BEGIN +0 305132 187 DynaLoader.pm:18 sub -> BEGIN +0 305132 73 vars.pm:3 sub -> BEGIN +0 305132 9 vars.pm:3 sub <- BEGIN +0 305132 34 vars.pm:7 sub -> BEGIN +0 305132 470 warnings.pm:134 sub -> BEGIN +0 305132 598 warnings.pm:134 sub <- BEGIN +0 305132 2151 register.pm:37 sub -> import +0 305132 23 register.pm:28 sub -> mkMask +0 305132 13 register.pm:28 sub <- mkMask +0 305132 53 register.pm:28 sub -> mkMask +0 305132 11 register.pm:28 sub <- mkMask +0 305132 11 register.pm:37 sub <- import +0 305132 8 vars.pm:7 sub <- BEGIN +0 305132 28 vars.pm:8 sub -> BEGIN +0 305132 9 strict.pm:28 sub -> import +0 305132 8 strict.pm:12 sub -> bits +0 305132 13 strict.pm:12 sub <- bits +0 305132 9 strict.pm:28 sub <- import +0 305132 8 vars.pm:8 sub <- BEGIN +0 305132 294 vars.pm:11 sub -> import +0 305132 52 vars.pm:11 sub <- import +0 305132 8 DynaLoader.pm:18 sub <- BEGIN +0 305132 48 DynaLoader.pm:25 sub -> BEGIN +0 305132 97 Config.pm:5 sub -> BEGIN +0 305132 9 strict.pm:28 sub -> import +0 305132 9 strict.pm:28 sub <- import +0 305132 8 Config.pm:5 sub <- BEGIN +0 305132 134 Config.pm:31 sub -> BEGIN +0 305132 9 strict.pm:33 sub -> unimport +0 305132 8 strict.pm:12 sub -> bits +0 305132 11 strict.pm:12 sub <- bits +0 305132 16 strict.pm:33 sub <- unimport +0 305132 8 Config.pm:31 sub <- BEGIN +0 305132 343 Config.pm:60 sub -> TIEHASH +0 305132 10 Config.pm:60 sub <- TIEHASH +0 305132 44 Config.pm:25 sub -> import +0 305132 18 Config.pm:25 sub <- import +0 305132 9 DynaLoader.pm:25 sub <- BEGIN +0 305132 1301 AutoLoader.pm:3 sub -> BEGIN +0 305132 11 strict.pm:28 sub -> import +0 305132 10 strict.pm:28 sub <- import +0 305132 9 AutoLoader.pm:3 sub <- BEGIN +0 305132 22 AutoLoader.pm:4 sub -> BEGIN +0 305132 9 AutoLoader.pm:4 sub <- BEGIN +0 305132 89 AutoLoader.pm:14 sub -> BEGIN +0 305132 13 AutoLoader.pm:14 sub <- BEGIN +0 305132 375 AutoLoader.pm:95 sub -> BEGIN +0 305132 9 strict.pm:33 sub -> unimport +0 305132 8 strict.pm:12 sub -> bits +0 305132 11 strict.pm:12 sub <- bits +0 305132 9 strict.pm:33 sub <- unimport +0 305132 8 AutoLoader.pm:95 sub <- BEGIN +0 305132 203 AutoLoader.pm:128 sub -> BEGIN +0 305132 9 strict.pm:33 sub -> unimport +0 305132 8 strict.pm:12 sub -> bits +0 305132 11 strict.pm:12 sub <- bits +0 305132 9 strict.pm:33 sub <- unimport +0 305132 8 AutoLoader.pm:128 sub <- BEGIN +0 305132 220 AutoLoader.pm:173 sub -> BEGIN +0 305132 9 strict.pm:33 sub -> unimport +0 305132 8 strict.pm:12 sub -> bits +0 305132 10 strict.pm:12 sub <- bits +0 305132 9 strict.pm:33 sub <- unimport +0 305132 8 AutoLoader.pm:173 sub <- BEGIN +0 305132 103 Config.pm:52 sub -> FETCH +0 305132 12 Config.pm:52 sub <- FETCH +0 305132 16 Config.pm:52 sub -> FETCH +0 305132 9 Config.pm:52 sub <- FETCH +0 305132 11 Config.pm:52 sub -> FETCH +0 305132 9 Config.pm:52 sub <- FETCH +0 305132 11 Config.pm:52 sub -> FETCH +0 305132 9 Config.pm:52 sub <- FETCH +0 305132 95 Kstat.pm:35 sub <- BEGIN +0 305132 29 Kstat.pm:36 sub -> BEGIN +0 305132 10 vars.pm:11 sub -> import +0 305132 33 vars.pm:11 sub <- import +0 305132 8 Kstat.pm:36 sub <- BEGIN +0 305132 56 DynaLoader.pm:133 sub -> bootstrap +0 305132 314 DynaLoader.pm:48 sub -> dl_load_flags +0 305132 11 DynaLoader.pm:48 sub <- dl_load_flags +0 305132 1113 DynaLoader.pm:133 sub <- bootstrap +0 305132 41 nicstat:85 sub <- BEGIN +0 305132 6102 Std.pm:219 sub -> getopts +0 305132 52 Exporter.pm:30 sub -> import +0 305132 40 Exporter.pm:30 sub <- import +0 305132 22 Std.pm:219 sub <- getopts +0 305132 24 nicstat:264 sub -> find_nets +0 305132 79662 nicstat:264 sub <- find_nets +0 305132 420 nicstat:304 sub -> fetch_net_data +0 305132 43871 nicstat:304 sub <- fetch_net_data +0 305132 479 nicstat:372 sub -> print_neat +0 305132 150 nicstat:372 sub <- print_neat +0 305132 10 nicstat:372 sub -> print_neat +0 305132 220 nicstat:372 sub <- print_neat +0 305132 10 nicstat:372 sub -> print_neat +0 305132 126 nicstat:372 sub <- print_neat +0 305132 10 nicstat:372 sub -> print_neat +0 305132 125 nicstat:372 sub <- print_neat +0 305132 10 nicstat:372 sub -> print_neat +0 305132 157 nicstat:372 sub <- print_neat +0 305132 10 nicstat:372 sub -> print_neat +0 305132 171 nicstat:372 sub <- print_neat +0 305132 343 nicstat:372 sub -> print_neat +0 305132 128 nicstat:372 sub <- print_neat +0 305132 10 nicstat:372 sub -> print_neat +0 305132 157 nicstat:372 sub <- print_neat +0 305132 9 nicstat:372 sub -> print_neat +0 305132 125 nicstat:372 sub <- print_neat +0 305132 9 nicstat:372 sub -> print_neat +0 305132 123 nicstat:372 sub <- print_neat +0 305132 9 nicstat:372 sub -> print_neat +0 305132 160 nicstat:372 sub <- print_neat +0 305132 10 nicstat:372 sub -> print_neat +0 305132 124 nicstat:372 sub <- print_neat +0 305132 342 nicstat:372 sub -> print_neat +0 305132 126 nicstat:372 sub <- print_neat +0 305132 10 nicstat:372 sub -> print_neat +0 305132 123 nicstat:372 sub <- print_neat +0 305132 10 nicstat:372 sub -> print_neat +0 305132 156 nicstat:372 sub <- print_neat +0 305132 10 nicstat:372 sub -> print_neat +0 305132 153 nicstat:372 sub <- print_neat +0 305132 10 nicstat:372 sub -> print_neat +0 305132 123 nicstat:372 sub <- print_neat +0 305132 9 nicstat:372 sub -> print_neat +0 305132 123 nicstat:372 sub <- print_neat +0 305132 3736 Config.pm:63 sub -> DESTROY +0 305132 32 Config.pm:63 sub <- DESTROY + +After initialising Perl libraries and modules, the "nicstat" program ran, +the output matching what was expected from the source. + |