The Performance Profiler helps answer performance-related question like:
- Why are certain operations in the profilee not fast enough?
- Which parts of the profilee take the most time during execution?
- Which parts of the code to explore to look for optimization opportunities?
- How to make my program go faster?
There are several possible options to choose from, when starting a performance profiling session with the
Telerik's JustTrace performance profiler
- Start with profiler suspended - determines whether to immediately start collecting data from the profilee.
- Profile child processes - determines whether to profile child processes.
- Tracing profiler - when the tracing profiler is used JustTrace collects performance
every time the runtime enters or leaves methods. The tracing profiler gathers additional information like method hit counts,
but slows down the profiled application considerably and the overhead from the profiler skews the reported timings.
Fast-running methods like simple property getters may be reported as taking considerable time to run, when in reality
it is the profiler itself that is taking that time.
- Filter .NET Framework internals - when checked, calls to private and internal methods part of the .NET
Framework will not be recorded by the tracing profiler. This usually leads to better profiler performance and also improved clarity
of the resulting call trees. When unchecked, all method calls are recorded.
- Ignore transitions - determines whether to show transitions between managed and unmanaged code. Having it
checked may decrease the profiler overhead.
- Source-level profiling - when checked, JustTrace will show source level timings and hitcounts for all
methods that have source code available. Enabling this feature will increase the profiler overhead. For more information about
Source-level profiling, check
- Sampling profiler - The Sampling Profiler dumps the call stacks
for all threads executed by the profilee at regular intervals using operating system interrupts.
Sampling profilers are statistical in nature and typically less accurate, but have minor performance impact on the profilee allowing it
to run at near full speed. The longer the application runs and more samples are taken, the more accurate the reported data becomes.
- Also profile native code - Collects profiling data for both managed and native (unmanaged) methods.
Performance profiler controls
To start collecting performance data click Enable Profiler.
To suspend collecting performance data click Disable Profiler.
To force a garbage collection in the profiled process click Force GC.
To terminate the profiling process and save the current session click Kill Profilee. When profiling a running application
this button becomes Detach Profilee.
In order to analyze the performance information collected from the profiler, JustTrace allows
you to get a snapshot for a specified time range. This can be done from the timeline under the ribbon, select the desired
range and a snapshot will be taken.
It is also possible to use the Get Snapshot
() button in the ribbon, to get a full range snapshot of the profiled application.