[Mono-dev] New profiler is "ready"

Paul Melis paul at science.uva.nl
Fri Mar 28 06:51:04 EDT 2008

Hello Massi,

Sounds great!
Is the new profiler supposed to replace tools like heap-buddy and 
heap-shot or is it a supplement to them?
And is the statistical profiler similar to what oprofile can offer?


Massimiliano Mantione wrote:

>the new logging profiler is now usable on Linux, and I'd like
>some feedback and bug reports.
>It is described here:
>and in the mono.1 man page in svn.
>Open issues (for now):
>- The default name of the output file should contain the
>  application name, and not just be "profiler-log.prof".
>- The allocation profiler still attributes object creations
>  to wrappers instead of the caller method.
>- I should check why the decoder is not properly installed
>  and also change its name to something more usable.
>- The statistical profiler tries to get the names of
>  unmanaged functions using dladdr, but if this fails, it
>  has an "oprofile like" behavior: it saves the IP value
>  and at *decoding* time examines the elf files (using nm)
>  looking for the symbol name.
>  This is a bit sophisticated (it looks at all the memory
>  regions of the process using /proc/self/maps at run time
>  so that the correct file is examined at decoding time), and
>  works fairly well (better than dladdr).
>  However, this is fragile: if the decoding time happens
>  when some of the relevant elf files has changed, the info
>  is lost and the data in the log file is useless (and there
>  is no warning of this).
>  I am moving code from the decoder to the profiler, so that
>  the symbols are all looked up at runtime, but this code is
>  not ready yet.
>- The heap analysis features technically work, but are not
>  yet exposed to the user by the decoder program.
>That's it... have fun :-)
>  Massi
>Mono-devel-list mailing list
>Mono-devel-list at lists.ximian.com

More information about the Mono-devel-list mailing list