|
|
1.1 ! root 1: .TH PROF 1 ! 2: .SH NAME ! 3: prof, kprof \- display profiling data ! 4: .SH SYNOPSIS ! 5: .B prof ! 6: [ ! 7: .B -dr ! 8: ] ! 9: [ ! 10: .I program ! 11: ] ! 12: [ ! 13: .I profile ! 14: ] ! 15: .PP ! 16: .B kprof ! 17: .I kernel ! 18: .I kpdata ! 19: .SH DESCRIPTION ! 20: .I Prof ! 21: interprets files produced automatically by programs loaded using the ! 22: .B -p ! 23: option of ! 24: .IR 2l (1) ! 25: or other loader. ! 26: The symbol table in the ! 27: named program file ! 28: .RL ( v.out ! 29: by default) ! 30: is read and correlated with the ! 31: profile file ! 32: .RL ( prof.out ! 33: by default). ! 34: For each symbol, the percentage ! 35: of time (in seconds) spent executing between that symbol ! 36: and the next ! 37: is printed (in decreasing order), ! 38: together with the time spent there and ! 39: the number of times that routine was called. ! 40: .PP ! 41: Under option ! 42: .BR -d , ! 43: .I prof ! 44: prints the dynamic call graph of the target program, ! 45: annotating the calls with the time spent in each routine ! 46: and those it calls, recursively. The output is indented ! 47: two spaces for each call, and is formatted as ! 48: .EX ! 49: symbol:time/ncall ! 50: .EE ! 51: where ! 52: .I symbol ! 53: is the entry point of the call, ! 54: .I time ! 55: is in milliseconds, ! 56: and ! 57: .I ncall ! 58: is the number of times that entry point was called at that ! 59: point in the call graph. If ! 60: .I ncall ! 61: is one, the ! 62: .B /ncall ! 63: is elided. ! 64: Normally recursive calls are compressed to keep the output brief; ! 65: option ! 66: .B -r ! 67: prints the full call graph. ! 68: .PP ! 69: The size of the buffer ! 70: in ! 71: .I program ! 72: used to hold the profiling ! 73: data, by default 2000 entries, ! 74: may be controlled by setting the environment variable ! 75: .B profsize ! 76: before running ! 77: .IR program . ! 78: If the buffer fills, subsequent function calls may not be recorded. ! 79: .PP ! 80: .I Kprof ! 81: is similar to ! 82: .IR prof , ! 83: but presents the data accumulated by the kernel ! 84: profiling device, ! 85: .IR kprof (3) . ! 86: The symbol table file, that of the operating system kernel, ! 87: and the data file, typically ! 88: .BR /dev/kpdata , ! 89: must be provided. ! 90: .I Kprof ! 91: has no options and cannot present dynamic data. ! 92: .SH SOURCE ! 93: .B /sys/src/cmd/prof.c ! 94: .br ! 95: .B /sys/src/cmd/kprof.c ! 96: .SH SEE ALSO ! 97: .IR 2l (1), ! 98: .IR kprof (3)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.