ARM DS-5 Using ARM Streamline

Version 5.17

Table of Contents

About this book
Using this book
Typographic conventions
Other information
1 Target setup
1.1 Standards compliance in Streamline
1.2 Streamline prerequisites
1.3 Preparing and building your Linux kernel
1.4 Required kernel configuration menu options
1.5 Building the gator daemon
1.6 Building the gator module
1.7 Running the gator daemon on your target
1.8 Connecting to an Android target using ethernet
1.9 Starting a capture session
1.10 Stopping the gator daemon
1.11 gatord command line options
1.12 Setting up Streamline to support a Mali device
1.13 Connecting to a Cortex-M device via DSTREAM
1.14 Recommended compiler options
2 The Streamline Data view
2.1 Opening the Streamline Data view
2.2 Streamline Data view toolbar options
2.3 The Connection Browser dialog box
2.4 Analysis Data Locations dialog box options
2.5 Duplicating a Capture
3 Capture options
3.1 Opening the Capture & Analysis Options dialog box
3.2 Capture & Analysis Options dialog box settings
4 Counter configuration
4.1 Counter configuration dialog box structure
4.2 Opening the Counter Configuration dialog box
4.3 Adding new events to the Events to Collect list
4.4 Removing events from the Events to Collect list
4.5 Counter Configuration toolbar options
4.6 Mali-specific events
4.7 Events-based sampling
4.8 Setting up events-based sampling
5 The Live view
5.1 Live view overview
5.2 Live view toolbar options
6 The Timeline view
6.1 Timeline view overview
6.2 Timeline view charts
6.3 The Cross Section Marker
6.4 Timeline view details panel overview
6.5 Heat Map mode
6.6 Core Map and Cluster Map modes
6.7 Processes mode
6.8 Timeline view toolbar
6.9 Timeline view contextual menu options
6.10 Timeline view keyboard shortcuts
6.11 The Timeline view Samples HUD
6.12 Filtering using the caliper controls
6.13 Adding bookmarks to the Timeline view
6.14 Timeline view charts specific to Mali targets
6.15 The Warnings tag
6.16 Changing the quality of graphics in the Timeline view
6.17 Timeline view chart configuration
6.18 Chart configuration toolbar options
6.19 Chart configuration series options
6.20 Snippet menu
6.21 Adding an existing chart using the Snippets menu
6.22 Adding a new chart to the Timeline view using the Snippets menu
6.23 Snippet menu contextual menu options
6.24 Snippet menu buttons
6.25 Visual Annotation in the Timeline view
7 The Table Views: Call Paths, Functions, and Stack
7.1 Table view toolbar options
7.2 Table view contextual menu options
7.3 Table view keyboard shortcuts
7.4 Sorting table reports
7.5 Call Paths view column headers
7.6 Functions view column headers
7.7 The Maximum Stack Depth by Thread chart
7.8 Stack view column headers
8 The Code view
8.1 Code view basics
8.2 Selecting rows in the Code view
8.3 Locating missing source in the Code view
8.4 Using the find command in the Code view
8.5 Code view toolbar options
8.6 Code view keyboard shortcuts
9 The Call Graph view
9.1 Call Graph view overview
9.2 How the Call Graph view hierarchy is built
9.3 Using the mini-map to navigate the Call Graph view
9.4 Call Graph view function contextual menu options
9.5 Call Graph view whitespace contextual menu options
9.6 Call Graph view toolbar options
9.7 Call Graph view keyboard shortcuts
10 Streamline Annotate
10.1 Annotate overview
10.2 Adding Streamline Annotate to your code
10.3 Visual Annotate overview
10.4 Adding Visual Annotate to your code
10.5 Kernel annotation
10.6 Annotate macros
10.7 Importing the Streamline_annotate example
11 The Log view
11.1 Log view column headers
11.2 Log view search fields
11.3 Log view contextual menu options
11.4 Log view totals panel
12 The Energy Probe
12.1 Energy Probe overview
12.2 Energy Probe requirements
12.3 Shunt resistor selection for Energy Probe
12.4 Setting up Energy Probe
12.5 Adding the caiman application to Streamline
12.6 Updating your firmware
12.7 Energy Probe data in Streamline
12.8 Applying manual offsets to align energy data
12.9 Setting up National Instrument Multifunction Data Acquisition devices (NI DAQ) to capture energy data
13 Advanced customizations
13.1 Capturing data on your target
13.2 Using the gator_events_mmaped.c custom counters example
13.3 Creating custom performance counters
13.4 gator_events functions
13.5 Adding your categories to the events.xml file
13.6 Category and event parameters for custom counters in events.xml
13.7 Getting L2C-310 memory-mapped peripherals working with Streamline
13.8 Profiling the Linux kernel
13.9 Re-analyzing Stored Streamline Capture Data
13.10 Streamline preferences
14 Troubleshooting common Streamline issues
14.1 Troubleshooting target connection issues
14.2 Troubleshooting report issues
15 Using Streamline on the command line
15.1 Opening a Streamline-enabled command prompt or shell
15.2 Streamline command line options
15.3 Outputting command line data to a file

List of Figures

2-1 The Streamline Data view
2-2 The compact data view
2-3 Naming your Capture
3-1 The Change capture options button
3-2 The Capture & Analysis Options dialog box
3-3 The Keep overlay
3-4 The Tool Path dialog box
4-1 The Streamline data view
4-2 Adding a counter to the Events to Collect list
4-3 The Interface drop-down menu
4-4 Setting events-based sampling
5-1 The Live view
6-1 The Timeline view
6-2 A bar chart with an active selection in the processes section
6-3 The Processes Focus button
6-4 The Quick Access tooltip
6-5 Moving a chart using the handle control
6-6 Re-sizing a char
6-7 Using the chart disclosure control to show per cluster data
6-8 A Cross Section Marker fuzzy line
6-9 Process bars
6-10 CPU contention dots in the Timeline view
6-11 Filtering threads
6-12 Core Map mode with two cores
6-13 The Events-based sampling tag
6-14 The zoom level drop-down menu
6-15 Timeline view Samples HUD
6-16 Using the calipers to filter
6-17 Adding a bookmark
6-18 Choosing a color
6-19 The bookmark in the timeline overview
6-20 Mali charts in the Timeline view
6-21 The Warnings tag
6-22 The Timeline view with the Use highest quality graphics option disabled
6-23 The Chart Configuration button
6-24 The Chart Configuration panel and Cache chart
6-25 A stack chart example
6-26 Data from series A obstructed by data from series B
6-27 A bar chart example
6-28 Series options
6-29 The Color dialog box on Windows
6-30 The Snippets menu
6-31 Changing categories
6-32 Visual annotation in the Timeline view
6-33 Hovering over an image in the Timeline view
7-1 A multi-level sort
7-2 The Maximum Stack Depth by Thread chart
8-1 The Code View
8-2 The Totals panel
8-3 Missing source file
8-4 The Locate source dialog box
8-5 The Find field
9-1 A selected function in the Call Graph view
9-2 A simple hierarchy
9-3 Call Hierarchy with Multiple Calls
9-4 The Call Graph view mini-map
10-1 Annotation overlays
10-2 Visual Annotation in the Timeline view
11-1 Visual annotation in the Log view
12-1 Energy Probe schematic
12-2 Energy Probe electrical connection example
12-3 Connection to target
12-4 The populated Tool Path field
12-5 Energy Probe data in the Timeline view
12-6 The Energy Offset menu
12-7 Connections for NI USB-621x
13-1 The Sine counter in the Timeline view
13-2 The Analyze dialog box
15-1 A functions report generated using report mode
15-2 The Timeline view in a text file

List of Tables


Release Information

Document History
Issue Date Confidentiality Change
A 19 October 2010 Non-Confidential ARM Streamline Performance Analyzer 1.0
B 19 January 2011 Non-Confidential Version 5.4
C 19 April 2011 Non-Confidential Version 5.5
D 19 July 2011 Non-Confidential Version 5.6
E 19 September 2012 Non-Confidential Version 5.7
F 19 November 2011 Non-Confidential Version 5.8
G 19 February 2012 Non-Confidential Version 5.9
H 19 May 2012 Non-Confidential Version 5.10
I 19 July 2012 Non-Confidential Version 5.11
J 19 October 2012 Non-Confidential Version 5.12
K 19 December 2012 Non-Confidential Version 5.13
L 15 March 2013 Non-Confidential Version 5.14
M 14 June 2013 Non-Confidential Version 5.15
N 13 September 2013 Non-Confidential Version 5.16
O 13 December 2013 Non-Confidential Version 5.17

Proprietary Notice

Words and logos marked with ® or ™ are registered trademarks or trademarks of ARM® in the EU and other countries, except as otherwise stated below in this proprietary notice. Other brands and names mentioned herein may be the trademarks of their respective owners.

Neither the whole nor any part of the information contained in, or the product described in, this document may be adapted or reproduced in any material form except with the prior written permission of the copyright holder.

The product described in this document is subject to continuous developments and improvements. All particulars of the product and its use contained in this document are given by ARM in good faith. However, all warranties implied or expressed, including but not limited to implied warranties of merchantability, or fitness for purpose, are excluded.

This document is intended only to assist the reader in the use of the product. ARM shall not be liable for any loss or damage arising from the use of any information in this document, or any error or omission in such information, or any incorrect use of the product.

Where the term ARM is used it means “ARM or any of its subsidiaries as appropriate”.

Confidentiality Status

This document is Non-Confidential. The right to use, copy and disclose this document may be subject to license restrictions in accordance with the terms of the agreement entered into by ARM and the party that ARM delivered this document to.

Unrestricted Access is an ARM internal classification.

Product Status

The information in this document is Final, that is for a developed product.

Web Address

Non-ConfidentialPDF file icon PDF versionARM DUI0482O
Copyright © 2010-2013 ARM. All rights reserved.