Runtime Flow v1.3.1 released – added a .NET 4.0 portable edition executable with deeper call stack support, enabled Options during monitoring.
Download links: Visual Studio edition, Portable edition.
Runtime Flow v1.3.1 released – added a .NET 4.0 portable edition executable with deeper call stack support, enabled Options during monitoring.
Download links: Visual Studio edition, Portable edition.
When viewing deep function calls in the Runtime Flow window you may hit a WPF layout recursion limit. To illustrate this problem I created a very simple application:
class Program { static void Main(string[] args) { f(1); } static void f(int i) { if (i < 500) f(i + 1); } }
In Runtime Flow portable you can open maximum 58 recursive calls:
The same problem exists when you view monitoring results in Visual Studio 2008/2005. In .NET 4.0 the layout recursion limit is increased from 255 to 4096. So in Visual Studio 2010 you can view much deeper stacks (though not 1024 deep due to other limitations).
I’ve created an additional Runtime Flow portable binary built for .NET 4.0 to enable more deep stack investigations:
If you have .NET 4.0 installed on the machine, it is now recommended to use RuntimeFlowPortable.NET40.exe instead of RuntimeFlowPortable.NET35.exe. It supports stacks up to 285 function calls:
Download link: Runtime Flow portable edition v1.3.1.
I’ve added the ability to pause and resume monitoring. After you’ve started monitoring (with Run or Customized Run) and have executed a use case, you can press the Pause button on the Runtime Flow toolbar:
Pause stops all updates to the Runtime Flow and Runtime Summary windows and eliminates most of monitoring overhead (speeding up the monitored application and limiting memory consumption). In this mode you can browse collected events and execute tasks in your application not required monitoring.
When you are ready to run a next use case, press the Resume button:
Resume clears the Runtime Flow and Runtime Summary windows and resumes normal monitoring events processing.
The most common case to not collect monitoring data is to skip application startup. For convenience, I’ve added the Monitor application startup option:
With Monitor application startup unchecked, no flow data is collected until you click the Resume button. This is useful when monitoring complex apps with very big initialization routines that you are not interested in.
Download links for Runtime Flow v1.3.0: Visual Studio edition, Portable edition.