Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndi McClure <andi.mcclure@xamarin.com>2016-04-09 04:16:10 +0300
committerRodrigo Kumpera <kumpera@gmail.com>2016-04-20 00:34:46 +0300
commit6637a6532c99c9ef55516b6fb6d4a68c7700d181 (patch)
treead9625378f769f06bda557145f227e308b778a68 /man/mprof-report.1
parent962fcc1198ed70572b5d4586cd176445893804cf (diff)
[profiler] Limit the number of allocated sample hit structures.
Diffstat (limited to 'man/mprof-report.1')
-rw-r--r--man/mprof-report.118
1 files changed, 18 insertions, 0 deletions
diff --git a/man/mprof-report.1 b/man/mprof-report.1
index 71b3e0dfd75..af61efa37cb 100644
--- a/man/mprof-report.1
+++ b/man/mprof-report.1
@@ -171,6 +171,24 @@ TIMER can have the following values:
collect \f[I]NUM\f[] frames at the most.
The default is 8.
.IP \[bu] 2
+\f[I]maxsamples=NUM\f[]: stop allocating reusable sample events
+once \f[I]NUM\f[] events have been allocated (a value of zero for
+all intents and purposes means unlimited). By default, the value
+of this setting is the number of CPU cores multiplied by 1000. This
+is usually a good enough value for typical desktop and mobile apps.
+If you're losing too many samples due to this default (which is
+possible in apps with an unusually high amount of threads), you
+may want to tinker with this value to find a good balance between
+sample hit rate and performance impact on the app. The way it works
+is that sample events are enqueued for reuse after they're flushed
+to the output file; if a thread gets a sampling signal but there are
+no sample events in the reuse queue and the profiler has reached the
+maximum number of sample allocations, the sample gets dropped. So a
+higher number for this setting will increase the chance that a
+thread is able to collect a sample, but also necessarily means that
+there will be more work done by the profiler. You can run Mono with
+the \f[I]--stats\f[] option to see statistics about sample events.
+.IP \[bu] 2
\f[I]calldepth=NUM\f[]: ignore method enter/leave events when the
call chain depth is bigger than NUM.
.IP \[bu] 2