The following are examples of py_cputime.d. This script traces the on-CPU time of JavaScript functions and prints a report. Here it traces the example program, Code/Python/func_slow.py # py_cputime.d Tracing... Hit Ctrl-C to end. ^C Count, FILE TYPE NAME COUNT UserDict.py func ? 1 UserDict.py func DictMixin 1 UserDict.py func IterableUserDict 1 UserDict.py func UserDict 1 UserDict.py func __init__ 1 __init__.py func ? 1 __init__.py func CodecRegistryError 1 __init__.py func normalize_encoding 1 __init__.py func search_function 1 aliases.py func ? 1 ascii.py func ? 1 ascii.py func Codec 1 ascii.py func StreamConverter 1 ascii.py func StreamReader 1 ascii.py func StreamWriter 1 ascii.py func getregentry 1 codecs.py func ? 1 codecs.py func Codec 1 codecs.py func StreamReader 1 codecs.py func StreamReaderWriter 1 codecs.py func StreamRecoder 1 codecs.py func StreamWriter 1 copy_reg.py func ? 1 func_slow.py func ? 1 func_slow.py func func_a 1 func_slow.py func func_b 1 func_slow.py func func_c 1 linecache.py func ? 1 os.py func ? 1 os.py func _Environ 1 os.py func __init__ 1 os.py func _get_exports_list 1 posixpath.py func ? 1 posixpath.py func basename 1 posixpath.py func dirname 1 site.py func ? 1 site.py func _Helper 1 site.py func _Printer 1 site.py func _init_pathinfo 1 site.py func abs__file__ 1 site.py func addsitepackages 1 site.py func aliasmbcs 1 site.py func execsitecustomize 1 site.py func main 1 site.py func removeduppaths 1 site.py func setcopyright 1 site.py func setencoding 1 site.py func sethelper 1 site.py func setquit 1 stat.py func ? 1 types.py func ? 1 types.py func _C 1 warnings.py func ? 1 warnings.py func _OptionError 1 warnings.py func _processoptions 1 posixpath.py func exists 2 posixpath.py func split 2 site.py func addsitedir 2 warnings.py func simplefilter 2 copy_reg.py func constructor 3 copy_reg.py func pickle 3 site.py func __init__ 3 site.py func addpackage 3 stat.py func S_IFMT 6 stat.py func S_ISDIR 6 posixpath.py func isdir 8 os.py func _exists 10 <string> func ? 11 posixpath.py func normcase 14 site.py func makepath 14 posixpath.py func join 20 posixpath.py func abspath 22 posixpath.py func isabs 22 posixpath.py func normpath 22 - total - 230 Exclusive function on-CPU times (us), FILE TYPE NAME TOTAL ascii.py func StreamWriter 1 __init__.py func CodecRegistryError 1 ascii.py func StreamReader 1 site.py func setencoding 1 warnings.py func _OptionError 1 UserDict.py func IterableUserDict 1 site.py func aliasmbcs 1 warnings.py func _processoptions 1 types.py func _C 1 ascii.py func getregentry 1 site.py func _Helper 2 ascii.py func Codec 2 ascii.py func StreamConverter 2 site.py func sethelper 2 codecs.py func Codec 2 UserDict.py func __init__ 3 posixpath.py func dirname 3 posixpath.py func basename 3 site.py func _Printer 3 os.py func _Environ 3 codecs.py func StreamWriter 3 site.py func setquit 3 copy_reg.py func constructor 3 codecs.py func StreamRecoder 4 codecs.py func StreamReaderWriter 5 codecs.py func StreamReader 5 os.py func __init__ 6 func_slow.py func ? 6 __init__.py func normalize_encoding 7 site.py func __init__ 7 linecache.py func ? 7 warnings.py func simplefilter 7 stat.py func S_IFMT 9 stat.py func ? 10 copy_reg.py func pickle 12 posixpath.py func split 12 posixpath.py func normcase 15 stat.py func S_ISDIR 17 site.py func addsitepackages 20 UserDict.py func ? 20 site.py func setcopyright 23 site.py func main 24 <string> func ? 28 UserDict.py func UserDict 31 site.py func _init_pathinfo 33 posixpath.py func exists 35 ascii.py func ? 38 posixpath.py func isabs 42 aliases.py func ? 43 site.py func removeduppaths 51 site.py func abs__file__ 56 codecs.py func ? 75 types.py func ? 83 posixpath.py func join 85 site.py func makepath 97 posixpath.py func abspath 99 os.py func _get_exports_list 132 __init__.py func search_function 142 warnings.py func ? 171 UserDict.py func DictMixin 182 posixpath.py func ? 192 copy_reg.py func ? 196 posixpath.py func normpath 209 posixpath.py func isdir 255 site.py func addpackage 375 site.py func addsitedir 506 site.py func execsitecustomize 540 site.py func ? 725 os.py func _exists 802 os.py func ? 1138 __init__.py func ? 1199 func_slow.py func func_a 229669 func_slow.py func func_b 456371 func_slow.py func func_c 686056 - total - 1379951 Inclusive function on-CPU times (us), FILE TYPE NAME TOTAL ascii.py func StreamWriter 1 __init__.py func CodecRegistryError 1 ascii.py func StreamReader 1 site.py func setencoding 1 warnings.py func _OptionError 1 UserDict.py func IterableUserDict 1 site.py func aliasmbcs 1 warnings.py func _processoptions 1 types.py func _C 1 ascii.py func getregentry 1 site.py func _Helper 2 ascii.py func Codec 2 ascii.py func StreamConverter 2 site.py func sethelper 2 codecs.py func Codec 2 UserDict.py func __init__ 3 site.py func _Printer 3 os.py func _Environ 3 codecs.py func StreamWriter 3 site.py func setquit 3 copy_reg.py func constructor 3 codecs.py func StreamRecoder 4 codecs.py func StreamReaderWriter 5 codecs.py func StreamReader 5 __init__.py func normalize_encoding 7 site.py func __init__ 7 linecache.py func ? 7 warnings.py func simplefilter 7 stat.py func S_IFMT 9 os.py func __init__ 9 posixpath.py func basename 9 posixpath.py func dirname 10 stat.py func ? 10 posixpath.py func split 12 posixpath.py func normcase 15 copy_reg.py func pickle 15 stat.py func S_ISDIR 26 UserDict.py func UserDict 31 posixpath.py func exists 35 posixpath.py func isabs 42 aliases.py func ? 43 site.py func setcopyright 44 ascii.py func ? 45 types.py func ? 85 posixpath.py func join 85 codecs.py func ? 97 os.py func _get_exports_list 132 site.py func removeduppaths 171 UserDict.py func DictMixin 182 site.py func abs__file__ 184 warnings.py func ? 190 __init__.py func search_function 196 posixpath.py func ? 202 posixpath.py func normpath 209 UserDict.py func ? 235 posixpath.py func isdir 281 copy_reg.py func ? 288 posixpath.py func abspath 351 site.py func _init_pathinfo 392 site.py func makepath 395 site.py func execsitecustomize 540 os.py func _exists 819 <string> func ? 973 __init__.py func ? 1341 site.py func addpackage 1470 site.py func addsitepackages 1562 site.py func addsitedir 2420 site.py func main 2546 os.py func ? 2839 site.py func ? 6118 func_slow.py func func_c 686056 func_slow.py func func_b 1142427 func_slow.py func func_a 1372097 func_slow.py func ? 1372104 You can see the results are printed in three sections. The first section reports how many times each function was called. The exclusive function on-CPU times shows, amongst other results that func_a spent around 0.22 seconds on-CPU. This times excludes time spent in other functions. The inclusive function on-CPU times show that func_a spent around 1.4 seconds on-CPU. This includes the time spent in other functions called. 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.