|
|
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.