Prev Next

Call Graph

  • Quickly discover what a program is doing at any point in time
  • Easily identify performance issues
  • Be surprised how quickly you can realize improvements
  • See your improvements at work and have the evidence
  • Support for C/C++, .NET and Java platforms

Usage

The 'Call Graph' option is typically used in situations where an activity is performing slower than expected, but it can also be used simply to better understand the patterns of behavior at play during an activity.

Operation

The Profiler operates by taking samples - or Call Stacks - at regular intervals over a period of time; the interval is set using the Profiler toolbar. You use the Profiler to run a particular program, or you can attach to an existing process. The Profiler capture is controlled, and you can pause and resume capture at any time. You can also elect to have capture initiated immediately when the Profiler is started. If necessary, you can discard any captured samples and start again during the same session. If you cannot continue with the same session, restarting the Profiler is quick and easy.

Results

Results can be produced at any time during the session; however, capture must be disabled in order for the Report button to become active. It is up to you to decide how long you let the Profiler run. You might know when an activity is finished, or it might be apparent for other reasons. The reason you are here might be that an activity is not completing at all.

You enable the Report button by either pausing capture or stopping the Profiler altogether.

Results are displayed in a Report view. The report opens with two tabs initially visible: the Call Graph and the Function Summary. The reports can be saved to file, stored in the model as Artifacts or posted in the Team Library.