1 The following are examples of pl_syscolors.d.
3 This is a simple script to trace the flow of Perl subroutines and system
4 calls made, and renders the output in color ("colour") using terminal
5 escape sequences (which you can tweak by modifying the script).
7 Here it traces the example program, Code/Perl/func_abc.pl.
9 WARNING: This output is full of terminal escape sequences, so if you are
10 trying to view this through an editor or web browser - it may look awful.
11 Try viewing this using "more" (although, depending on your terminal, it
12 still may look awful).
15 C PID DELTA(us) FILE:LINE TYPE -- NAME
16 \e[2;32m0 305181 2 ":- syscall -> munmap
\e[0m
17 \e[2;32m0 305181 33 ":- syscall <- munmap
\e[0m
18 \e[2;32m0 305181 59 ":- syscall -> mmap
\e[0m
19 \e[2;32m0 305181 18 ":- syscall <- mmap
\e[0m
20 \e[2;32m0 305181 35 ":- syscall -> setcontext
\e[0m
21 \e[2;32m0 305181 8 ":- syscall <- setcontext
\e[0m
22 \e[2;32m0 305181 8 ":- syscall -> getrlimit
\e[0m
23 \e[2;32m0 305181 9 ":- syscall <- getrlimit
\e[0m
24 \e[2;32m0 305181 8 ":- syscall -> getpid
\e[0m
25 \e[2;32m0 305181 7 ":- syscall <- getpid
\e[0m
26 \e[2;32m0 305181 64 ":- syscall -> setcontext
\e[0m
27 \e[2;32m0 305181 6 ":- syscall <- setcontext
\e[0m
28 \e[2;32m0 305181 137 ":- syscall -> sigpending
\e[0m
29 \e[2;32m0 305181 8 ":- syscall <- sigpending
\e[0m
30 \e[2;32m0 305181 1148 ":- syscall -> sysi86
\e[0m
31 \e[2;32m0 305181 11 ":- syscall <- sysi86
\e[0m
32 \e[2;32m0 305181 105 ":- syscall -> open64
\e[0m
33 \e[2;32m0 305181 96 ":- syscall <- open64
\e[0m
34 \e[2;32m0 305181 13 ":- syscall -> ioctl
\e[0m
35 \e[2;32m0 305181 18 ":- syscall <- ioctl
\e[0m
36 \e[2;32m0 305181 14 ":- syscall -> close
\e[0m
37 \e[2;32m0 305181 14 ":- syscall <- close
\e[0m
38 \e[2;32m0 305181 123 ":- syscall -> sigaction
\e[0m
39 \e[2;32m0 305181 9 ":- syscall <- sigaction
\e[0m
40 \e[2;32m0 305181 49 ":- syscall -> brk
\e[0m
41 \e[2;32m0 305181 9 ":- syscall <- brk
\e[0m
42 \e[2;32m0 305181 8 ":- syscall -> brk
\e[0m
43 \e[2;32m0 305181 16 ":- syscall <- brk
\e[0m
44 \e[2;32m0 305181 63 ":- syscall -> brk
\e[0m
45 \e[2;32m0 305181 7 ":- syscall <- brk
\e[0m
46 \e[2;32m0 305181 7 ":- syscall -> brk
\e[0m
47 \e[2;32m0 305181 8 ":- syscall <- brk
\e[0m
48 \e[2;32m0 305181 43 ":- syscall -> brk
\e[0m
49 \e[2;32m0 305181 7 ":- syscall <- brk
\e[0m
50 \e[2;32m0 305181 7 ":- syscall -> brk
\e[0m
51 \e[2;32m0 305181 8 ":- syscall <- brk
\e[0m
52 \e[2;32m0 305181 141 ":- syscall -> brk
\e[0m
53 \e[2;32m0 305181 7 ":- syscall <- brk
\e[0m
54 \e[2;32m0 305181 8 ":- syscall -> brk
\e[0m
55 \e[2;32m0 305181 9 ":- syscall <- brk
\e[0m
56 \e[2;32m0 305181 24 ":- syscall -> brk
\e[0m
57 \e[2;32m0 305181 7 ":- syscall <- brk
\e[0m
58 \e[2;32m0 305181 7 ":- syscall -> brk
\e[0m
59 \e[2;32m0 305181 8 ":- syscall <- brk
\e[0m
60 \e[2;32m0 305181 30 ":- syscall -> getuid
\e[0m
61 \e[2;32m0 305181 7 ":- syscall <- getuid
\e[0m
62 \e[2;32m0 305181 10 ":- syscall -> getuid
\e[0m
63 \e[2;32m0 305181 6 ":- syscall <- getuid
\e[0m
64 \e[2;32m0 305181 10 ":- syscall -> getgid
\e[0m
65 \e[2;32m0 305181 7 ":- syscall <- getgid
\e[0m
66 \e[2;32m0 305181 9 ":- syscall -> getgid
\e[0m
67 \e[2;32m0 305181 6 ":- syscall <- getgid
\e[0m
68 \e[2;32m0 305181 117 ":- syscall -> sysconfig
\e[0m
69 \e[2;32m0 305181 9 ":- syscall <- sysconfig
\e[0m
70 \e[2;32m0 305181 19 ":- syscall -> open64
\e[0m
71 \e[2;32m0 305181 59 ":- syscall <- open64
\e[0m
72 \e[2;32m0 305181 15 ":- syscall -> read
\e[0m
73 \e[2;32m0 305181 11 ":- syscall <- read
\e[0m
74 \e[2;32m0 305181 8 ":- syscall -> close
\e[0m
75 \e[2;32m0 305181 8 ":- syscall <- close
\e[0m
76 \e[2;32m0 305181 34 ":- syscall -> gtime
\e[0m
77 \e[2;32m0 305181 7 ":- syscall <- gtime
\e[0m
78 \e[2;32m0 305181 34 ":- syscall -> brk
\e[0m
79 \e[2;32m0 305181 7 ":- syscall <- brk
\e[0m
80 \e[2;32m0 305181 7 ":- syscall -> brk
\e[0m
81 \e[2;32m0 305181 9 ":- syscall <- brk
\e[0m
82 \e[2;32m0 305181 44 ":- syscall -> sysconfig
\e[0m
83 \e[2;32m0 305181 7 ":- syscall <- sysconfig
\e[0m
84 \e[2;32m0 305181 9 ":- syscall -> brk
\e[0m
85 \e[2;32m0 305181 6 ":- syscall <- brk
\e[0m
86 \e[2;32m0 305181 7 ":- syscall -> brk
\e[0m
87 \e[2;32m0 305181 8 ":- syscall <- brk
\e[0m
88 \e[2;32m0 305181 145 ":- syscall -> open64
\e[0m
89 \e[2;32m0 305181 16 ":- syscall <- open64
\e[0m
90 \e[2;32m0 305181 16 ":- syscall -> fcntl
\e[0m
91 \e[2;32m0 305181 7 ":- syscall <- fcntl
\e[0m
92 \e[2;32m0 305181 10 ":- syscall -> sigaction
\e[0m
93 \e[2;32m0 305181 7 ":- syscall <- sigaction
\e[0m
94 \e[2;32m0 305181 8 ":- syscall -> brk
\e[0m
95 \e[2;32m0 305181 7 ":- syscall <- brk
\e[0m
96 \e[2;32m0 305181 7 ":- syscall -> brk
\e[0m
97 \e[2;32m0 305181 9 ":- syscall <- brk
\e[0m
98 \e[2;32m0 305181 104 ":- syscall -> brk
\e[0m
99 \e[2;32m0 305181 7 ":- syscall <- brk
\e[0m
100 \e[2;32m0 305181 7 ":- syscall -> brk
\e[0m
101 \e[2;32m0 305181 8 ":- syscall <- brk
\e[0m
102 \e[2;32m0 305181 88 ":- syscall -> getpid
\e[0m
103 \e[2;32m0 305181 7 ":- syscall <- getpid
\e[0m
104 \e[2;32m0 305181 8 ":- syscall -> brk
\e[0m
105 \e[2;32m0 305181 6 ":- syscall <- brk
\e[0m
106 \e[2;32m0 305181 7 ":- syscall -> brk
\e[0m
107 \e[2;32m0 305181 8 ":- syscall <- brk
\e[0m
108 \e[2;32m0 305181 105 ":- syscall -> fstat64
\e[0m
109 \e[2;32m0 305181 10 ":- syscall <- fstat64
\e[0m
110 \e[2;32m0 305181 16 ":- syscall -> fstat64
\e[0m
111 \e[2;32m0 305181 7 ":- syscall <- fstat64
\e[0m
112 \e[2;32m0 305181 25 ":- syscall -> ioctl
\e[0m
113 \e[2;32m0 305181 8 ":- syscall <- ioctl
\e[0m
114 \e[2;32m0 305181 7 ":- syscall -> read
\e[0m
115 \e[2;32m0 305181 23 ":- syscall <- read
\e[0m
116 \e[2;32m0 305181 18 ":- syscall -> llseek
\e[0m
117 \e[2;32m0 305181 8 ":- syscall <- llseek
\e[0m
118 \e[2;32m0 305181 126 ":- syscall -> llseek
\e[0m
119 \e[2;32m0 305181 7 ":- syscall <- llseek
\e[0m
120 \e[2;32m0 305181 34 ":- syscall -> llseek
\e[0m
121 \e[2;32m0 305181 7 ":- syscall <- llseek
\e[0m
122 \e[2;32m0 305181 30 ":- syscall -> llseek
\e[0m
123 \e[2;32m0 305181 7 ":- syscall <- llseek
\e[0m
124 \e[2;32m0 305181 12 ":- syscall -> read
\e[0m
125 \e[2;32m0 305181 8 ":- syscall <- read
\e[0m
126 \e[2;32m0 305181 11 ":- syscall -> llseek
\e[0m
127 \e[2;32m0 305181 6 ":- syscall <- llseek
\e[0m
128 \e[2;32m0 305181 7 ":- syscall -> close
\e[0m
129 \e[2;32m0 305181 8 ":- syscall <- close
\e[0m
130 \e[2;35m0 305181 27 func_a:15 sub -> ./func_abc.pl
\e[0m
131 \e[2;32m0 305181 36 ":- syscall -> ioctl
\e[0m
132 \e[2;32m0 305181 7 ":- syscall <- ioctl
\e[0m
133 \e[2;32m0 305181 8 ":- syscall -> fstat64
\e[0m
134 \e[2;32m0 305181 8 ":- syscall <- fstat64
\e[0m
135 \e[2;32m0 305181 8 ":- syscall -> brk
\e[0m
136 \e[2;32m0 305181 7 ":- syscall <- brk
\e[0m
137 \e[2;32m0 305181 7 ":- syscall -> brk
\e[0m
138 \e[2;32m0 305181 9 ":- syscall <- brk
\e[0m
139 \e[2;32m0 305181 23 ":- syscall -> fstat64
\e[0m
140 \e[2;32m0 305181 7 ":- syscall <- fstat64
\e[0m
141 \e[2;32m0 305181 13 ":- syscall -> gtime
\e[0m
142 \e[2;32m0 305181 7 ":- syscall <- gtime
\e[0m
143 \e[2;32m0 305181 11 ":- syscall -> nanosleep
\e[0m
144 \e[2;32m0 305181 1007250 ":- syscall <- nanosleep
\e[0m
145 \e[2;32m0 305181 24 ":- syscall -> gtime
\e[0m
146 \e[2;32m0 305181 15 ":- syscall <- gtime
\e[0m
147 \e[2;35m0 305181 21 func_b:9 sub -> ./func_abc.pl
\e[0m
148 \e[2;32m0 305181 27 ":- syscall -> gtime
\e[0m
149 \e[2;32m0 305181 6 ":- syscall <- gtime
\e[0m
150 \e[2;32m0 305181 8 ":- syscall -> nanosleep
\e[0m
151 \e[2;32m0 305181 1009847 ":- syscall <- nanosleep
\e[0m
152 \e[2;32m0 305181 24 ":- syscall -> gtime
\e[0m
153 \e[2;32m0 305181 15 ":- syscall <- gtime
\e[0m
154 \e[2;35m0 305181 21 func_c:4 sub -> ./func_abc.pl
\e[0m
155 \e[2;32m0 305181 27 ":- syscall -> gtime
\e[0m
156 \e[2;32m0 305181 6 ":- syscall <- gtime
\e[0m
157 \e[2;32m0 305181 8 ":- syscall -> nanosleep
\e[0m
161 \e[2;32m0 305181 1009916 ":- syscall <- nanosleep
\e[0m
162 \e[2;32m0 305181 24 ":- syscall -> gtime
\e[0m
163 \e[2;32m0 305181 15 ":- syscall <- gtime
\e[0m
164 \e[2;35m0 305181 20 func_c:4 sub <- ./func_abc.pl
\e[0m
165 \e[2;35m0 305181 29 func_b:9 sub <- ./func_abc.pl
\e[0m
166 \e[2;35m0 305181 12 func_a:15 sub <- ./func_abc.pl
\e[0m
167 \e[2;32m0 305181 51 ":- syscall -> schedctl
\e[0m
168 \e[2;32m0 305181 53 ":- syscall <- schedctl
\e[0m
169 \e[2;32m0 305181 16 ":- syscall -> setcontext
\e[0m
170 \e[2;32m0 305181 8 ":- syscall <- setcontext
\e[0m
171 \e[2;32m0 305181 21 ":- syscall -> write
\e[0m
172 \e[2;32m0 305181 97 ":- syscall <- write
\e[0m
173 \e[2;32m0 305181 28 ":- syscall -> open64
\e[0m
174 \e[2;32m0 305181 101 ":- syscall <- open64
\e[0m
175 \e[2;32m0 305181 9 ":- syscall -> ioctl
\e[0m
176 \e[2;32m0 305181 10 ":- syscall <- ioctl
\e[0m
177 \e[2;32m0 305181 10 ":- syscall -> close
\e[0m
178 \e[2;32m0 305181 15 ":- syscall <- close
\e[0m
179 \e[2;32m0 305181 35 ":- syscall -> rexit
\e[0m
181 If the colors don't suit you (or you'd rather HTML colored output), it
182 should be trivial to modify the script to do so.