Analyzing an example Streamline report with Arm DS

Learn how to import, re-analyze, and then explore the XaoS example report included in Streamline. The report was generated running the XaoS example included in Arm Development Studio (Arm DS).


Introduction Import the Linux example project Import the Streamline example report Re-analyze the report Exploring the example report Add the missing source code Example - How to analyze the Streamline capture Add the project path to Streamline locations

Exploring the example report

The XaoS report opens in a new tab automatically once you have re-analyzed it. It provides a summary view of CPU performance, branch mispredictions, memory and cache accesses, along with a sample of the frame buffer. Note that the vertical bar of the capture is now colored blue in the Streamline Data view, meaning it is up to date.

Streamline Timeline description

In the panel underneath these charts, there is a heatmap for each process and thread. Click individual processes or threads to reconfigure the charts to reflect them. You can also see annotations on each thread and the frame buffer, which are being passed from the source code. These annotations are a very useful profiling tool when you are working on your own code.

Along the top of the report, there are tabs which break down the data all the way to source code level. When using Streamline to profile your own software, look for areas where the CPU is being pushed hard, or where the cache is being heavily used. Then, try to identify which line of code is causing this.

I see numerous <unknown code in "x"> in the Call Paths and Functions tabs:
This issue relates to the images that you use for analysis in the first place. By default, this capture only includes a couple of images (in this case, the images xaos and libpthread-2.17.so). So, while Streamline knows that function "x" is taking up a certain percentage of processor time, it does not know what this code is.

Previous Next