Telerik® JustTrace™ by Progress

The compare snapshots feature is used to track changes to the profiled application.

A comparison is started by pressing the Compare Snapshots (Compare Snapshots Button) button in the ribbon and then selecting the desired ranges inside the performance timelines.

In order to compare time ranges between different processes or different profiler sessions, you need to open them in one new offline session by selecting two or more files in the Open Snapshots view. Then for each of the two timelines you can choose for which process to select a range:

Snapshots Performance Compare Timeline

Compare Performance Snapshots

You can track performance changes by comparing performance snapshots. The resulting comparison views show key performance metrics. If you compare two snapshots from different program runs this can help you choose the better scenario. For example, you may check if a certain optimization technique has produced the expected results.

The Call Trees and Method Lists of both snapshots are compared.

Call Tree

In the Call Tree comparison view you can track which new methods have been called and how the times have changed between the two snapshots.

Snapshots Compare Snapshots

The following information is listed for each node:

  • Name - process, thread or method name.
  • Own Time (ms) - time spent in this node (excluding children), taken from the first snapshot.
  • Own Time Diff (ms) - the difference between the Own Time values of both snapshots.
  • Total Time (ms) - total time spent in this call for the first snapshot.
  • Total Time Diff (ms) - the difference between the Total Time values of both snapshots.
  • Hit Count (Diff) - hit count of this node from the first snapshot and the difference between the values of both snapshots in brackets.

The Signatures option is used to control whether to display the parameters of each function in the Name column. You can switch it off to reduce the amount of text on the screen.

The Average Times option is available only when Use tracing profiler has been selected in the profiler options. It is used to control whether to display average times per call in the Total Time, Total Time Diff, Own Time and Own Time Diff columns. Average values are equal to the actual accumulated values divided by the hit count.

When you right click an item in the call tree, a context menu with the following options shows up:

  • Show Just My Code - toggles the user code filter for this node. When turned off all non-user code under this node is shown. When on, all non-user code between this node and child user code nodes down the tree is removed and user code child nodes are brought up (hoisted). Hoisted calls are marked with the hoisted call icon.

    Clicking the expand filtered icon next to the node name also toggles filtering.

  • Group Minor Calls - toggles grouping of minor calls for the selected function. A minor call is defined as a call which has Total Time Diff equal to 0. When the option is on, minor calls are merged into a single group node. When off, they are marked with the minor call icon.

    Clicking the expand minor calls icon next to the node name or double clicking the group node also toggles grouping.

  • View Source - activates the Source Code Viewer tab and opens the source file if it is available. If the source is unavailable JustTrace will decompile the class using JustDecompile and will show the generated source code.

Method List

In the Method List comparison view you can track how the own time and hit counts of each method have changed between the two snapshots.

Snapshots Compare Snapshots Method List

The following information is listed for each node:

  • Name - method name.
  • Own Time (ms) - time spent in this node (excluding children), taken from the first snapshot.
  • Own Time Diff (ms) - the difference between the Own Time values of both snapshots.
  • Hit Count (Diff) - hit count of this node from the first snapshot and the difference between the values of both snapshots in brackets.

The Just My Code option filters out all functions which are not user code. You can control which assemblies are considered user code in the Assembly List view.

The Minor Methods option filters out all functions for which the hit count has not changed between the two snapshots.

The Signatures option is used to control whether to display the parameters of each function in the Name column. You can switch it off to reduce the amount of text on the screen.

When you right click an item, a context menu with the following options shows up:

  • Find in Root Call Tree - activates the Call Tree view and shows the first occurrence of the method. You can use the buttons of the navigation toolbar to locate all other calls to this method in the call tree.
  • View Source - activates the Source Code Viewer view and opens the source file if it is available. If the source is unavailable JustTrace will decompile the class using JustDecompile and will show the generated source code.

See Also