New Mono Log Profiler

Paolo has checked into Mono's GIT repository our brand-new profiler for Mono applications.

The new profiler is documented in detail here, and is available with Mono 2.9+ (this means: it is available if you build Mono from GIT, and will be part of the upcoming 2.10 release).

We would love to hear your feedback on it, and we hope to have a UI integrated into MonoDevelop soon.

Update: This is what one of the reports of the new profiler can produce, this is taken from running an ASP.NET application (a question that came up a few days ago on IRC):

       Heap shot 5 at 14.518 secs: size: 43684432, object count: 562907, class count: 543
            Bytes      Count  Average Class name
         10506984      87373      120 System.Collections.Hashtable.Slot[] (bytes: +1939272, count: +16161)
               87346 references from: System.Collections.Hashtable
          8130304      87486       92 System.Int32[] (bytes: +1706912, count: +16164)
               87346 references from: System.Collections.Hashtable
               40 references from: System.Collections.Generic.Dictionary
               30 references from: System.Globalization.NumberFormatInfo
          6846000      57050      120 System.Web.Caching.CacheItem (bytes: +1232880, count: +10274)
          4891432      87347       56 System.Collections.Hashtable (bytes: +904176, count: +16146)
               28526 references from: System.Web.HttpStaticObjectsCollection
               28525 references from: System.Threading.ReaderWriterLock
               28524 references from: System.Web.SessionState.SessionStateItemCollection
          1597344      28524       56 System.Web.SessionState.InProcSessionItem (bytes: +287672, count: +5137)
               28524 references from: System.Web.Caching.CacheItem
          1597344      28524       56 System.Web.SessionState.SessionStateItemCollection (bytes: +287616, count: +5136)
               28524 references from: System.Web.SessionState.InProcSessionItem

	This heapshot was taken 14.518 seconds after application startup, at the
	time there were 562907 objects in the heap, of 543 different types,
	using about 43 MB of memory.
Posted on 11 Nov 2010 by Miguel de Icaza
This is a personal web page. Things said here do not represent the position of my employer.