To find a period of time in which the CPU or CPUs are not always running in user mode, you can use the Samples bars in the Timeline tab. The samples show a color-coded representation of the amount of time spent in each microstate. The color code is displayed in the Event tab in the right pane. By default User CPU time is coded green. The data in the samples includes all LWPs, so if your application creates more LWPs than there are CPUs, the samples will only have a fraction of their area colored green for the times when the application was running at 100% CPU efficiency.
The details show how much time is spent in each microstate. You can use this information to decide whether to investigate further.
Choose View Filter Data and select the experiment and sample number.
Now that you have found a region that you are interested in, you can use one of the following methods to locate the function that is responsible for the problem.
You can select an event and use the arrow keys to step through the events, examining the details in the Event tab. You might need to zoom in to distinguish the individual events.
Click one of the colored rectangles of the event marker to select the corresponding function from the call stack. The leaf function is at the top.
Select the visible metrics by doing one of the following:
Click the column head for one of the significant metrics to select the sort metric.
Now that you have located a function that might be the cause of the problem, you can examine the annotated source code or annotated disassembly code to find the source lines or instructions that are responsible for the high metric value. See Finding Problem Points in Your Program for more information on how to do this.
See also | |
---|---|
The Timeline Tab The Event Tab The Legend Tab |