Linux Performance Analysis (Streamline) Tutorial

Learn how to use Streamline to analyze performance on your Linux device.

DS-5 CE Linux Streamline


Prerequisites

You will need to have Arm Streamline kernel module (gator) and daemon (gatord) running on your device before you try to analyze it. You can start by checking whether your platform already provides support for Streamline out of the box on the DS-5 Supported Platforms web page. If your device is not listed there, you can still build Streamline's kernel module against the version of the Linux kernel on your device and install it onto the target yourself. For details on how to achieve this please see Using Arm Streamline.

Streamline Setup

Once you have all required components installed on your target, you might need to manually start the gator daemon to allow Streamline to connect to the device to collect performance data.

  1. On your target execute “gatord &” to start the gator daemon (if it is not started automatically).
  2. In Eclipse, open the Arm Streamline View by selecting Window > Show View > Other > Arm Streamline > Arm Streamline Data.
  3. Next we need to setup Streamline settings. In the Arm Streamline Data View open the capture options by clicking on the gear lever button.
  4. In the Connection Address box type the IP address to your target.
  5. In the Program Images box select the Image (or shared library) that you want to profile. Alternatively, you can select none and add the Images after you have gathered the data. Click Save once you finished with the Capture Options.

Capturing Data and Viewing the Arm Streamline Report

  1. In the Arm Streamline Data View click the Start Capture button to start collecting the profiling information from the target.
  2. Next run the application which you wish to profile on your target.
  3. When you are finished executing the application click stop in the Arm Streamline Data View. The remainder of the data will be analyzed and you will be presented with a report once it is finished.
    Streamline Timeline
  4. The Timeline View displays a list of pre-configured performance counters measuring activity on the Arm core. In the bottom of the view a list of processes and threads are displayed along with a heat map showing where in your code the most time was spent.
  5. Click on the functions tab to display a list of the functions which took the most time in your profile run. The top functions for which you have loaded shared libraries for in the Capture Options will be displayed, along with a list of the other shared libraries that was used by the application during the run. From the view below “fir_filter_c” is taking up a lot of time, and would be a good candidate to optimize.
    Streamline Functions Tab?
  6. The Community Edition does not include all the features of the other DS-5 editions. To see the extra features included in the DS-5 UltimateEdition, view the DS-5 website.