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 as an aggregate of all cores.
Here are some of the default charts in the Live and Timeline views:
- CPU Activity
- The percentage of the CPU time spent in system or user code, the remainder being idle time.
- 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 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.
- The number of cycles used by each core.
- Disk I/O
- Measures the number of times reads and writes to disk were triggered.
- The frequency of the ARM® core. Can be broken down per core on a multi-core system.
- The total number of instructions executed by each core.
- 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.
- Charts the available system memory over the time of the execution.
Processes focus menu
You can select an activity source from the drop-down menu in the bottom right corner of the Timeline view as the focus of the Heat Map, Core Map, or Cluster Map in the details panel. By default, CPU Activity is selected.
If you select a different activity source to focus on, the Heat Map, Core Map, or Cluster Map in the details panel updates to show a map of threads and processes for the newly selected source. For example, if you select GPU Fragment, the map updates to show activity for the GPU fragment processor only. The GPU activity sources are only available if your ARM Mali™-based target is configured to support Mali GPU-specific profiling.
Figure 5-4 Processes focus menu
Quick access tooltips
Hover over any of the charts in the Live or Timeline views and a tooltip appears, displaying values and key colors specific to that chart.
Figure 5-5 Quick Access tooltip
Clicking on a chart either displays or moves the Cross Section Marker, which shows values and key colors for all of the charts in the Live or Timeline view.
Moving and re-sizing charts
Each chart in the Live or Timeline view has a box on the left that shows the chart title, the names of the series in the chart, and a color-coded key for each series. When you click within a box, it becomes a handle which you can use to drag and drop charts into a preferred order.
Figure 5-6 Moving a chart using the handle control
To re-order the charts, 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 Live or Timeline view using a control on the bottom edge of the chart handle control. 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.
Chart disclosure control
The chart disclosure control appears in the upper left corner of a chart handle in the Live or Timeline view where per-core data is present. By default, the control points right, to show chart data for an aggregate of all cores. If you click the control, it points downwards and the chart breaks down into multiple sections, one for each core on your target.
Figure 5-7 Using the chart disclosure control to show per core data
Click the button again and the arrow returns to its default state.
Selecting processes or threads in the Timeline view
Many chart series in the Timeline view can be filtered, based on the current selection in the Cluster Map, Core Map, or Heat Map of the details panel. When there is an active selection, the affected chart series show activity caused by the selected processes or threads only. Filtered series are identified by the letter F beside the series name. Streamline still displays the total activity in dark gray so that you can visually compare the activity values of the selected processes or threads to the total.
Figure 5-8 CPU Activity chart with a thread selected in the Heat Map
Like the CPU Activity chart, the GPU Vertex and Fragment charts display only activity initiated by the selected processes or threads. This allows you to differentiate between GPU activity caused by your application and activity resulting from other applications or system services.