Timeline overview

The main view in Streamline is the Timeline view, which shows the captured performance data on a time-based visualization. You can zoom and scroll this view to show regions of interest.

A hierarchical data model stores the captured data at multiple resolutions that match the zoom levels available in the Timeline view. If you zoom in beyond the data capture sample frequency, the presented data is interpolated between the nearest data samples.

Hardware counters are sampled, by default, using a 1 millisecond sample rate. Other data sources are event-based and are captured and timestamped as they occur. Counter samples or event-based counters that occur less often than the 1 millisecond level must be mapped to the 1 millisecond data view for presentation. This mapping depends on the type of data being shown. See Counter classes for more details.

Cross-section marker

You can use the cross-section marker to highlight a time interval and show a summary of the counter statistics for the highlighted region. The summary shows a sum or an average per series, depending on the data source, see Chart configuration series options .

The cross-section marker

Calipers

You can use the calipers to filter the data range that is provided to the other analysis visualizations, such as the Call Paths view. When you select a region of interest with the calipers in the Timeline view, the other views only consider that region.

The calipers

Note

You can also filter by process or thread by clicking the processes or threads of interest in the Timeline view.

Activity and Counters charts

There are two main chart types that the Timeline view shows by default. By convention we call these 'Activity charts' and 'Counter charts', but you can customize the presentation and these names are not enforced.

Activity charts are generated from kernel or driver scheduling information. They show the percentage of time, at the current hierarchy level, that the indicated hardware unit was busy. Note that high utilization is not always the same as high load. A processor might run all the time, but at a low operating frequency due to low workload demand.

Counter-based charts are generated from actual hardware activity. For example, counting the number of instructions executed by a processor, or the number of cycles a block was active. These charts give a more direct measure of the workload, but do not indicate how long the processor was actually running for.

Combining both activity and counter-based charts allows a view of execution time and workload, both of which are needed for a complete performance analysis.

Expressions

To supplement the raw data that is captured from the hardware, you can use expressions to define custom data series. Expressions are simply equations, defined in a light-weight macro syntax, which define a derived data point to plot. For example, you can use expressions to scale a 'bus beats' counter into a 'bus bytes' counter, or to generate a hit ratio from cache hit and miss event counts.

Data points for expressions are re-evaluated for each zoom level in the timeline to ensure correct results for equations that are not distributive.

Templates

Templates store the current Timeline view layout - charts, series, and styling - as a reusable visualization that you can apply to other data captures. You can customize your Timeline view and save it as a template for future use, or for sharing with other team members.

Note

  • Templates are designed to work with captures made with the current version of Streamline. Applying a template to a capture made with an older version of Streamline might result in some series being omitted. If a data series uses a source counter which has changed name since the capture was made, it is omitted.

  • When you configure your counters, you can select a template to automatically collect data from all the sources that the template requires.

Built-in templates are included for most of the Arm® Mali GPU family. These templates do not include every Mali data source, but are the recommended starting point for Mali GPU profiling. For detailed descriptions of all the performance counters available for each Mali GPU, refer to the Mali GPU Counter references on the Arm Developer website.