Timeline view charts
The top half of the Timeline view contains a series of charts. The type of charts it displays depends on the counters you have defined using the Counter Configuration dialog box and any customizations you have made to the charts using the chart configuration controls.
Streamline collects data for charts from hardware and software performance counter resources. The data depends on how you have configured your counters and the type of system you use. For SMP systems, the chart disclosure control enables you to show data either per core or per big.LITTLE™ cluster.
Here are some of the default charts in the Timeline view:
- CPU Activity
- The percentage of the CPU time spent in system or user code, the remainder being idle time. The CPU activity chart is not user-configurable.
- CPU Wait - Contention
- Measures the amount of times the core was forced to wait due to contention as a percentage. This is a binary indicator. When the task is waiting, this value is 100%, otherwise it is 0%.
- CPU Wait - I/O
- Measures how often waiting on I/O caused a task to stop running.
- The number of cycles used by each core.
- The total number of instructions executed by each core.
- The frequency of the ARM® core. Can be broken down per core on a multi-core system.
- The number of cache coherency hits and misses. A cache coherency miss occurs every time a processor tries to read from or write to the cache when it is in incoherent state. This is more common in SMP systems where multiple processors share resources. A coherency hit occurs when a processor reads from or writes to a cache that is in a valid state.
- Maps the amount of both soft IRQs and standard, hardware IRQs. Soft IRQs are similar to IRQs, but are handled in software. Soft IRQs are usually delivered at a time that is relatively convenient for the kernel code.
- Disk IO
- Measures the number of times reads and writes to disk were triggered.
- Charts the available system memory over the time of the execution.
If you are using a target with more than one core, some graphs in the Timeline view have a disclosure control. Use this to break each graph into multiple sections, one for each core in your system.
Unlike the other charts in the Timeline view, the current selection in the Heat Map of the details panel affects how the CPU Activity, CPU Wait, GPU Vertex, GPU Fragments, and Memory charts are displayed. When there is an active selection in the Heat Map, the green bars change to reflect CPU activity caused by the selected processes. Streamline still displays the total activity in dark gray so that you can visually compare the selected processes CPU Activity values to the total.
Figure 6-3 A bar chart with an active selection in the processes section
Like the CPU Activity chart, the GPU Vertex and Fragment bar charts display only activity initiated by the selected processes. This allows you to differentiate between GPU activity caused by your application and activity resulting from other applications or system services.
Process Focus Buttons
Some of the charts in the Timeline view also have a button on the left side of the chart handle that enables you to select that chart as the current focus of the Heat Map in the details panel. By default, this is set to the CPU activity chart.
Figure 6-4 The Processes Focus button
If you click a Processes Focus button on one of the bar charts, the Heat Map in the details panel updates to show a heat map of processes that contributed to activity in the newly selected bar chart. For example, if you click the Processes Focus button on the GPU Vertex chart, the Heat Map updates to show activity for the GPU vertex processor only. The GPU charts are only available if you have captured data on an ARM Mali™-based target and built the gator module to support Mali technology.
Quick access tooltips
Hover over any of the charts in the Timeline view and a tooltip appears, displaying values and key colors specific to that chart.
Figure 6-5 The Quick Access tooltip
Clicking on a chart moves the Cross Section Marker, which shows values and key colors for each of the charts of the Timeline view.
Moving and re-sizing charts
Each chart and process has a rounded box on the left that contains the title, and in the case of charts, a color-coded key. You can also use these rounded bars, called handles, to drag and drop individual charts and processes into a preferred order.
Figure 6-6 Moving a chart using the handle control
To re-order a chart or process, click and drag the handle control, then release it where you want it placed. To hide a chart, drag it to the bottom of the charts and drag the divider bar up until it is hidden.
You can also re-size any chart in the Timeline view using a control on the bottom edge of the chart handle control.
Figure 6-7 Re-sizing a chart
All series expand to fill the new height. Increasing the size of a chart provides a higher level of graphical detail, highlighting the variance in values.
You can also customize the width of the chart handle. To do so, click and drag the right edge of any handle to your desired width.
The chart disclosure control
The chart disclosure control appears in the upper left corner of a chart where per core data is present. If you click on the disclosure control and there are no core clusters on your target, the disclosure arrow points straight down and the chart expands to show a separate chart for every core on your target.
If you do have clusters on your target hardware, the disclosure control behaves differently. Click once and the arrow moves down forty-five degrees and the Timeline view shows charts for each cluster on your system.
Figure 6-8 Using the chart disclosure control to show per cluster data
Click the button a second time and the arrow moves straight down and the Timeline view shows a chart for every core in your system. Click a third time and the chart returns to its default state.
Chart type overlay
The letter displayed in the chart handle tells you whether the Y-axis data in the chart is displayed as Logarithmic, Overlay, or Stack. Hover over the letter for a tooltip that describes how the data is displayed.