This could be a borderline advertisement, not to mention subjective, but the question is an honest one. For the last two months, I\'ve been developing a new open source profiler
My prefered profiler was "DevPartner Performance Analysis Community Edition" (http://researchlibrary.theserverside.net/detail/RES/1165507815_474.html?psrc=MPR), unfortunately it's no longer available.
What made it stand out against the competition was the graphical analysis that showed a box for the current selected method and outgoing connectors to called methods showing the percentage of time spend in each. Also connectors to incomming calls. Of course thos caling and called methods had the same and you could expand them as needed This way, you could navigate freely along your call stack, see the stack as deep as you want, and tackle the hot path in your fragment.
The second demand would be "ease of use", i.e. it should run with all relevant application types, windows exe, web app, windows service, WCF service, (Silverlight?), ... . And not only with tiny sample applications, but with enterprise sized not-so-trivial applications.
I'd like at least some compatibility with ASP.NET, though I understand it's actually pretty hard to get that to work.
Line-by-line is so nice in Shark that I'd also like to have it in .NET.
A choice of visualizers is a good thing - I'd like to see a bunch of different call trees, statistical graphs and maybe even a heat map of which methods are called most frequently.
There is EQATEC Profiler that's a free .Net profiler that I have been meaning to use.
One thing I would like to see is Mono compatibility. I have started dabbling in Mono, and it would be great to have a .Net and Mono profiler!
Download the Team Suite version of Visual Studio 2010 Beta 1 (free for 6 months or so?), and profile a C# application.
Trust me. :)
Edit: Line-by-line mode helped me isolate an operator that was causing a performance problem. I could have found it without per-line highlighting, but when you can scroll around and see the hot lines using it you can fix it soooo easily.
Oh, and if you want feedback/help, contact me separately.
Summary View: select any section of the CPU chart to filter.
(source: 280z28.org)
I love the line-by-line in the margin:
(source: 280z28.org)
One of the things I mis in almost all profiles is a managed API to perform automated profiling and automated tests.
I can imagine that you think, WTF... why would one like to automate profiling?
The answer is that some of our customers have requirements regarding speed, mem usage, etc. So for every new release we like to run a test on the stuff mentioned before shipping it.
What I would like on a profiler: