The following are examples of tcl_cpudist.d.
This script traces the on-CPU time of Tcl commands and procedures and
prints a report containing distribution plots per subroutine. Here it
traces the example program, Code/Tcl/func_slow.tcl.
# tcl_cpudist.d
Tracing... Hit Ctrl-C to end.
^C
Top 10 exclusive on-CPU times (us),
PID=16043, cmd, info
value ------------- Distribution ------------- count
0 | 0
1 |@@@@ 1
2 |@@@@@@@@@@@@@@@ 4
4 |@@@@ 1
8 |@@@@ 1
16 |@@@@@@@@@@@ 3
32 |@@@@ 1
64 | 0
PID=16043, cmd, namespace
value ------------- Distribution ------------- count
0 | 0
1 |@@@@@@@@@@@@@ 1
2 |@@@@@@@@@@@@@ 1
4 | 0
8 | 0
16 | 0
32 | 0
64 | 0
128 |@@@@@@@@@@@@@ 1
256 | 0
PID=16043, cmd, puts
value ------------- Distribution ------------- count
16 | 0
32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2
64 | 0
128 |@@@@@@@@@@@@@ 1
256 | 0
PID=16043, cmd, if
value ------------- Distribution ------------- count
4 | 0
8 |@@@@@@@@@@ 2
16 |@@@@@@@@@@@@@@@@@@@@ 4
32 |@@@@@ 1
64 | 0
128 |@@@@@ 1
256 | 0
PID=16043, cmd, tclInit
value ------------- Distribution ------------- count
128 | 0
256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
512 | 0
PID=16043, cmd, file
value ------------- Distribution ------------- count
2 | 0
4 |@@@@@@@@@@@@@ 4
8 |@@@@@@@@@@@@@ 4
16 | 0
32 |@@@ 1
64 |@@@@@@@@@@ 3
128 | 0
PID=16043, cmd, source
value ------------- Distribution ------------- count
256 | 0
512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
1024 | 0
PID=16043, proc, func_a
value ------------- Distribution ------------- count
262144 | 0
524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
1048576 | 0
PID=16043, proc, func_b
value ------------- Distribution ------------- count
524288 | 0
1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
2097152 | 0
PID=16043, proc, func_c
value ------------- Distribution ------------- count
524288 | 0
1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
2097152 | 0
Top 10 inclusive on-CPU times (us),
PID=16043, cmd, source
value ------------- Distribution ------------- count
512 | 0
1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
2048 | 0
PID=16043, cmd, uplevel
value ------------- Distribution ------------- count
512 | 0
1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
2048 | 0
PID=16043, proc, tclInit
value ------------- Distribution ------------- count
512 | 0
1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
2048 | 0
PID=16043, cmd, tclInit
value ------------- Distribution ------------- count
1024 | 0
2048 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
4096 | 0
PID=16043, cmd, func_c
value ------------- Distribution ------------- count
524288 | 0
1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
2097152 | 0
PID=16043, proc, func_c
value ------------- Distribution ------------- count
524288 | 0
1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
2097152 | 0
PID=16043, cmd, func_a
value ------------- Distribution ------------- count
1048576 | 0
2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
4194304 | 0
PID=16043, cmd, func_b
value ------------- Distribution ------------- count
1048576 | 0
2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
4194304 | 0
PID=16043, proc, func_a
value ------------- Distribution ------------- count
1048576 | 0
2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
4194304 | 0
PID=16043, proc, func_b
value ------------- Distribution ------------- count
1048576 | 0
2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
4194304 | 0
These on-CPU times are the time the thread spent running on a CPU, from when
the subroutine began to when it completed. This does not include time
spent off-CPU time such as sleeping for I/O or waiting for scheduling.
On-CPU times are useful for showing who is causing the CPUs to be busy.
See Notes/ALLoncpu_notes.txt for more details. Also see
Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a
detailed explanation of exclusive vs inclusive subroutine time.