We've released ORM Profiler v1.1, which has the following new features:
Real time profiling
A real time viewer (RTV) has been added, which gives insight in the activity as it is received by the client, in two views: a chronological connection overview and an activity graph overview. This RTV allows the user to directly record to a snapshot using record buttons, pause the view, mark a range to create a snapshot from that range, and view graphs about the # of connection open actions and # of commands per second. The RTV has a 'range' in which it keeps live data and auto-cleans data that's older than this range.
Screenshot of the activity graphs part of the real-time viewer:
Low-level activity tab
A new tab has been added to the Application tabs: the Low-level activity tab. This tab shows the main activity as it has been received over the named pipe. It can help to get insight in the chronological activity without the grouping over connections, so multiple connections at the same time per thread are easier to spot. Clicking a command will sync the rest of the application tabs, clicking a row will show the details below the splitter bar, as it is done with the other application tabs as well.
Default application name in interceptor
When an empty string or null is passed for application name to the Initialize method of the interceptor, the AppDomain's friendly name is used instead.
Copy call stack to clipboard
A call stack viewed in a grid in various parts of the UI is now copyable to the clipboard by clicking a button.
Enable/Disable interceptor from the config file
It's now possible to enable/disable the interceptor Initialization from the application's config file, using:
<add key="ORMProfilerEnabled" value="true"/>
if value is true, the interceptor's Initialize method will proceed. If the value is false, the interceptor's Initialize method will not proceed and initialization won't be performed, meaning no interception will take place. If the setting is absent, or misconfigured, the Initialize method will proceed as normal and perform the initialization.
Stored procedure calls for select databases are now properly displayed as a call
For the databases: SQL Server, Oracle, DB2, Sybase ASA, Sybase ASE and Informix a stored procedure call is displayed as an execute/call statement and copy to clipboard works as-is.
I'm especially happy with the new real-time profiling feature in ORM Profiler, which is the flagship feature for this release: it offers a completely new way to use the profiler, namely directly during debugging: you can immediately see what's going on without the necessity of a snapshot. The activity graph feature combined with the auto-cleanup of older data, allows you to keep the profiler open for a long period of time and see any spike of activity on the profiled application.