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.Dictionary30 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