Fixes #9277 with @marek-safar recommendations
[mono-project.git] / man / mprof-report.1
blobeafa78187f834b79cb07955474340ea645500d3f
1 .TH mprof-report 1
2 .SH NAME
3 mprof\-report \- report generator for Mono's log profiler
4 .SH SYNOPSIS
5 \fBmprof\-report\fR [\fIoption\fR]... \fIfile.mlpd\fR
6 .SH DESCRIPTION
7 \fBmprof\-report\fR is the report generator for Mono's \fBlog\fR
8 profiler. It reads the MLPD log files produced by the log profiler
9 and generates a report based on the options passed to it. The
10 output is based on individual reports which can be turned on or off.
11 By default, all reports are generated in summary form (i.e.,
12 non-verbose output).
13 .PP
14 \fBmprof\-report\fR can read both normal and \fBgzip\fR(1)-compressed
15 log files transparently.
16 .PP
17 For information about how to use the log profiler with a program,
18 see the \fBmono\-profilers\fR(1) page, under the \fBLOG PROFILER\fR
19 section.
20 .SH OPTIONS
21 The following options are available:
22 .TP
23 \fB\-\-help\fR
24 Displays usage instructions.
25 .TP
26 \fB\-\-out\fR=\fIfile\fR
27 Write the report output to \fIfile\fR instead of standard output.
28 .TP
29 \fB\-\-traces\fR
30 Show backtraces in reports when available.
31 .TP
32 \fB\-\-maxframes\fR=\fInum\fR
33 Limit backtraces to \fInum\fR frames.
34 .TP
35 \fB\-\-reports\fR=\fIreports\fR
36 Generate only the specified reports. \fIreports\fR is a
37 comma-separated list of reports. See the \fBREPORTS\fR section.
38 .TP
39 \fB\-\-method\-sort\fR=\fImode\fR
40 Sort methods according to \fImode\fR, which can be one of:
41 .RS
42 .TP
43 \fBtotal\fR (default)
44 Sort by the total amount of time spent in a method and its callees.
45 .TP
46 \fBself\fR
47 Sort by the amount of time spent only within a method itself.
48 .TP
49 \fBcalls\fR
50 Sort by the total amount of calls made to a method.
51 .RE
52 .TP
53 \fB\-\-alloc\-sort\fR=\fImode\fR
54 Sort allocations according to \fImode\fR, which can be one of:
55 .RS
56 .TP
57 \fBbytes\fR (default)
58 Sort by the amount of heap bytes occupied by all allocated objects of
59 a type.
60 .TP
61 \fBcount\fR
62 Sort by the total amount of allocations of a type.
63 .RE
64 .TP
65 \fB\-\-counters\-sort\fR=\fImode\fR
66 Sort counters according to \fImode\fR. This alters how the
67 \fBcounters\fR report is presented. It can be one of:
68 .RS
69 .TP
70 \fBtime\fR (default)
71 Present a list of samples, each containing a list of counter
72 name-value pairs.
73 .TP
74 \fBcategory\fR
75 Present a list of counter names, each containing a list of sampled
76 values.
77 .RE
78 .IP
79 This option has no effect unless \fB\-\-verbose\fR is passed.
80 .TP
81 \fB\-\-track\fR=\fIobjects\fR
82 Track what happens to the specified objects. \fIobjects\fR is a
83 comma-separated list of object addresses.
84 .TP
85 \fB\-\-find\fR=\fIspec\fR
86 Find and track what happens to objects matching \fIspec\fR, which can
87 have one of these forms:
88 .RS
89 .TP
90 \fBS\fR:\fIminimum_size\fR
91 Look for objects that are at least \fIminimum_size\fR bytes in size.
92 .TP
93 \fBT\fR:\fIname_fragment\fR
94 Look for objects whose type name contain \fIname_fragment\fR.
95 .RE
96 .IP
97 Both an \fBS\fR and \fBT\fR spec can be given by passing the option
98 twice.
99 .TP
100 \fB\-\-thread\fR=\fItid\fR
101 Consider only events from the thread with ID \fItid\fR.
103 \fB\-\-time\fR=\fIspan\fR
104 Consider only events occurring in the specified time span. \fIspan\fR
105 must be of the form \fIfrom\fR\-\fIto\fR where \fIfrom\fR and
106 \fIto\fR are seconds since the program started.
108 \fB\-\-verbose\fR
109 Print verbose output.
111 \fB\-\-debug\fR
112 Print extremely detailed debug output. Most users should not use this
113 option.
114 .SH REPORTS
115 The following reports are available:
117 \fBheader\fR
118 Program startup and profiler version and operational information.
120 \fBjit\fR
121 JIT compiler statistics.
123 \fBgc\fR
124 Garbage collection and handle statistics.
126 \fBsample\fR
127 Flat statistical sampling profile.
129 \fBalloc\fR
130 Per-class GC allocation statistics and backtraces.
132 \fBcall\fR
133 Method call statistics and backtraces.
135 \fBmetadata\fR
136 Loaded images and assemblies.
138 \fBexception\fR
139 Exception statistics and backtraces.
141 \fBmonitor\fR
142 Monitor lock statistics and backtraces.
144 \fBthread\fR
145 Managed thread names.
147 \fBdomain\fR
148 Loaded application domains.
150 \fBcontext\fR
151 Loaded remoting contexts.
153 \fBheapshot\fR
154 Heap snapshot information.
156 \fBcounters\fR
157 Performance counter samples.
158 .SH SEE ALSO
159 \fBmono\fR(1), \fBmono\-profilers\fR(1)