JustTrace Features
Profiling of Multiple Application Types
With JustTrace, you can generate memory and performance profiles of a number of different application types, including:
- Local Application – executable file on the local computer
- Running Application - application that is already running
- Silverlight Application
- Local ASP.NET web site - web site folder on the local computer
Three Profilers for Every Profiling Requirement
Memory and performance analysis is not a “one size fits all” process, which is why we created three distinct profilers to satisfy a range of different profiling requirements and objectives.
- The Sampling Profiler dumps the call stacks for all threads executed by the profiled application at regular intervals using operating system interrupts. This approach has negligible performance hit on the profile, allowing it to run at near-full speed, but might trigger results with sub-optimal accuracy. If blazing speed and uncompromised performance rank high on your criteria list, the JustTrace Sampling Profiler is for you.
- The Tracing Profiler collects CLR events when entering and leaving methods. Tracing profilers boast more accurate results than sampling profilers but the trade-off is lower speed of execution.
- The Memory Profiler collects CLR memory usage data during execution of the program and helps you optimize memory usage. This profiler allows you to instantly and effortlessly identify memory leaks by comparing snapshots that include data about .NET instance allocations and eliminate any bottlenecks to optimal memory utilization.
enlarge screenshot Memory and Performance Visualizations Tools
JustTrace boasts a number of distinct snapshot views enabling a bird-eye view of critical memory and performance metrics. During the profiling session, the performance data is collected on-the-fly and can be examined in the Live Data view or in a snapshot. Once the snapshot is taken, you can analyze the data, identify bottlenecks and devise an action plan for removing obstacles to optimal performance and memory usage. The information about the profiled application is presented in JustTrace via several different views to enable easier visualization, depending on the profiler type:
- Call Tree This view is used in the Sampling and Tracing profilers and represents all function calls by a thread. Each snapshot contains the call tree structure of the application being profiled. The top-level node represents a thread and nodes represent a method called by the thread and its execution path.
- Method List This view is used in the Sampling and Tracing profilers and represents all functions called in the profiled application during the profiling process.
- Hot Spots Available in all three profilers. Within the Sampling and Tracing Profilers, the Hot Spots view represents a callback tree for each method. Within the Memory Profiler, the Hot Spots view tracks the object instances created during the profiling process grouped by type.
- Type List This view is exclusive to the Memory Profiler and represents a list containing all object types and their size created during the profiling process.
- Loaded Assemblies This view is used in the Sampling and Tracing profilers and represents a list containing all assemblies loaded during the profiling process.
- Incoming References The Incoming References view is used in the Memory Profiler and represents the classes and methods that have referred the present object.
- Outgoing References The Outgoing References view is exclusive to the Memory Profiler and represents the classes and methods the object is referring to. If the object has created any objects during the profiling process, those objects are shown as child nodes.
Attaching profilers to an already running process
It’s not uncommon for a performance issue or memory leak to become apparent only after the application has been running for some time. The ‘Attach to a Running Process’ functionality of Telerik JustTrace enables you to quickly attach to the process rather than starting it again from scratch and trying to reproduce the current state. Currently, this functionality is only available within the Sampling Profiler but our product plans include its expansion to the Tracing and Memory Profilers as well.
enlarge screenshot Live Data View
The Sampling and Tracing Profilers of JustTrace come equipped with a "Live Data" view, which is updated on-the-fly with the latest data collected from the profiled application. This view enables you to better determine the perfect timing for taking a snapshot.
enlarge screenshot Seamless Integration with Visual Studio
JustTrace offers seamless integration with Visual Studio and can also be used as a stand-alone tool. You just press F5 (to debugging) or CTRL + F5 (to start without debugging) and you are provided with a simple window to choose which profiler you want to use. And that's it, no additional settings are needed. The information you require is provided in a native Visual Studio tool window.
Profiling Windows Services
JustTrace is able to profile Windows Services on Windows 2003, Windows XP, Windows Vista and later versions. The ‘Profiling Windows Services’ capability entails a new, easy to use dialog, which enables you to see the list of all services and their status. And just above it you can find three buttons that allow you to start, stop and restart the selected service. In the same dialog, you can attach the Sampling profiler to a running .NET4 windows service.
Profiling IIS and IIS Express services
This feature allows you to profile web sites, web services or other .NET components deployed on a local IIS server. Currently JustTrace is able to profile web sites on local IIS in Windows Vista and later versions only. The supported browsers are Internet Explorer and Google Chrome. Future plans include support for Windows XP and Windows 2003, and working with browsers as Mozilla Firefox and Opera.
Auto Update
As with all other Telerik products, JustTrace is subject to an aggressive release schedule with 3 major releases per year and a large number of (sometimes weekly) builds in the meantime. The ‘Auto Update’ functionality will enable you to use the latest and greatest version at all times.
Compare Snapshots
This is a really cool new feature! It allows you to compare two
snapshots, identify the better scenario, and revert to a previous state
if a certain optimization technique has not produced the expected
results. Simply drag-and-drop one snapshot tab over another to
effortlessly find out how the app’s performance has changed between two
snapshots. There is a simplified color scheme for easy hot spot
identification, too.
