X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=man%2Fmprof-report.1;h=a2cb914ecc8824e5e8d1d8aa479700fde1eee721;hb=9aac2a41c43676d34573d409ab717e9f08477972;hp=c9b756bd9905261d9a094562f3f3fc69c868e929;hpb=129560cb97131f9ce1326a6683a519707bd98585;p=mono.git diff --git a/man/mprof-report.1 b/man/mprof-report.1 index c9b756bd990..a2cb914ecc8 100644 --- a/man/mprof-report.1 +++ b/man/mprof-report.1 @@ -139,37 +139,12 @@ garbage collections to the control port .RE .IP \[bu] 2 -\f[I]sample[=TYPE[/FREQ]]\f[]: collect statistical samples of the +\f[I]sample[=FREQ]\f[]: collect statistical samples of the program behaviour. The default is to collect a 100 times per second (100 Hz) the instruction pointer. -This is equivalent to the value \[lq]cycles/100\[rq]. +This is equivalent to the value \[lq]100\[rq]. A value of zero for \f[I]FREQ\f[] effectively disables sampling. -On some systems, like with recent Linux kernels, it is possible to -cause the sampling to happen for other events provided by the -performance counters of the cpu. -In this case, \f[I]TYPE\f[] can be one of: -.RS 2 -.IP \[bu] 2 -\f[I]cycles\f[]: processor cycles -.IP \[bu] 2 -\f[I]instr\f[]: executed instructions -.IP \[bu] 2 -\f[I]cacherefs\f[]: cache references -.IP \[bu] 2 -\f[I]cachemiss\f[]: cache misses -.IP \[bu] 2 -\f[I]branches\f[]: executed branches -.IP \[bu] 2 -\f[I]branchmiss\f[]: mispredicted branches -.RE -.IP \[bu] 2 -\f[I]time=TIMER\f[]: use the TIMER timestamp mode. -TIMER can have the following values: -.RS 2 -.IP \[bu] 2 -\f[I]fast\f[]: a usually faster but possibly more inaccurate timer -.RE .IP \[bu] 2 \f[I]maxframes=NUM\f[]: when a stack trace needs to be performed, collect \f[I]NUM\f[] frames at the most. @@ -205,16 +180,15 @@ with the current process id and \f[I]%t\f[] with the current date and time, then do according to \f[I]OUTSPEC\f[]: .RS 2 .IP \[bu] 2 -if \f[I]OUTSPEC\f[] begins with a \f[I]|\f[] character, execute the -rest as a program and feed the data to its standard input +If \f[I]OUTSPEC\f[] begins with a \f[I]|\f[] character, execute the +rest as a program and feed the data to its standard input. .IP \[bu] 2 -if \f[I]OUTSPEC\f[] begins with a \f[I]-\f[] character, use the -rest of OUTSPEC as the filename, but force overwrite any existing -file by that name +If \f[I]OUTSPEC\f[] begins with a \f[I]#\f[] character, parse the +rest as a file descriptor number, and feed the data to this file +descriptor. .IP \[bu] 2 otherwise write the data the the named file: note that is a file by -that name already exists, a warning is issued and profiling is -disabled. +that name already exists, it is truncated. .RE .IP \[bu] 2 \f[I]report\f[]: the profiling data is sent to mprof-report, which @@ -234,13 +208,8 @@ The following commands are available: \f[I]heapshot\f[]: perform a heapshot as soon as possible .RE .IP \[bu] 2 -\f[I]counters\f[]: sample counters values every 1 second. This allow -a really lightweight way to have insight in some of the runtime key -metrics. Counters displayed in non verbose mode are : Methods from AOT, -Methods JITted using mono JIT, Methods JITted using LLVM, Total time -spent JITting (sec), User Time, System Time, Total Time, Working Set, -Private Bytes, Virtual Bytes, Page Faults and CPU Load Average (1min, -5min and 15min). +\f[I]nocounters\f[]: disables sampling of runtime and performance +counters, which is normally done every 1 second. .IP \[bu] 2 \f[I]coverage\f[]: collect code coverage data. This implies enabling the \f[I]calls\f[] option. @@ -487,15 +456,6 @@ option: especially if the managed heap is big, since every object needs to be inspected. The \f[I]MODE\f[] parameter of the \f[I]heapshot\f[] option can be used to reduce the frequency of the heap shots. -.IP "\f[I]Reduce the timestamp overhead\f[]" 4 -.Sp -On many operating systems or architectures what actually slows down -profiling is the function provided by the system to get timestamp -information. -The \f[I]time=fast\f[] profiler option can be usually used to speed -up this operation, but, depending on the system, time accounting -may have some level of approximation (though statistically the data -should be still fairly valuable). .SS Dealing with the size of the data files .PP When collecting a lot of information about a profiled program, huge