Profiling Workflow Overview
The profiling workflow may vary depending on the issue you want to analyze. Nevertheless, generally, it will always include the following steps.
1. Configure and run a profiling session
Profiling session is a period of time when dotTrace measures application performance and collects data.
Typically, profiling session configuration includes:
Selecting a profiling target.
Choosing the proper profiling type.
Specifying other options.
Depending on your profiling scenario, you can use one of the following interfaces to configure and run a profiling session:
2. Collect profiling snapshot
Typically, you collect profiling data using the dotTrace Controller window (the alternative is to control profiling using the dotTrace API). At this step, you should reproduce the issue you seek for in your app and get a profiling snapshot - a dump of collected data.
The process of controlling profiling sessions is covered in Controlling Profiling Session.
3. Analyze the snapshot and determine issues
Depending on the selected profiling type, this step is performed either in Performance Viewer or Timeline Viewer. At this step you use various views of Performance Viewer to locate slowest-running parts in your code and identify performance bottlenecks down to a particular function. For investigating multi-threading issues, Timeline Viewer is a better choice.
4. Modify application code
Once you identify the cause of the issue, you can fix it in code.
5. Collect profiling snapshot and compare results
At this step, you perform profiling one more time and compare results with the previous run. In case of Performance Viewer, a special comparison functionality can be used.