Capture & Analysis Options dialog box settings
The Capture & Analysis Options dialog box enables you to change the capture session settings, including the IP address of the target, duration, sample rate, and buffer size.
To open it, click the Capture & Analysis Options button () in the Streamline Target view.
Figure 4-1 Capture & Analysis Options dialog box
The Connection section contains the following settings:
- The IP address of the target. You can alternatively enter the network name
of your target. The value that is given in this field overwrites the value
in the Address field of the
Streamline Data view, if one has
been given. The reverse is also true. If you enter a new address in the
Address field of the Streamline Data
view, it replaces the value that was entered here.
By default, Arm Streamline uses port 8080 to connect to a target. To use a different port, specify one here by entering a colon and a port number after the IP address. For example, enter
Your_IP_address:1010 to use port 1010 to connect to the target.
If you use the port forwarding of Android ADB with USB, enter localhost in the Address field.
- Browse for a target button ()
- The Browse for a target button, on the right side of the Address field, opens the Connection Browser. Arm Streamline searches your network and produces a list of possible targets. Selecting one populates the Address field.
The Capture section contains the following options:
- Sample Rate
- The target generates periodic measurement interrupts according to the following settings: Normal=1kHz, Low=100Hz, and None. The Normal setting works well in most cases. Low is recommended if you have a slow target, or if the target is heavily loaded, because it means less intrusion by Arm Streamline. The Low setting requires a longer capture to collect representative data. Set Sample Rate to None to ensure that Arm Streamline has the lowest level of intrusion on your code, but this also means that resulting reports show only zeroes in any report columns that rely on sampling. Enabling event-based sampling for a counter overrides this timer-based sampling.
- Buffer Mode
The default setting is Streaming, which enables unbounded streaming of target data directly to your host using a 1MB buffer. You can also use one of the following store-and-forward buffers:
If you select one of these sizes, the capture ends when the buffer is full, which prevents the intrusion that is caused by streaming data from the target to the host.
NoteYou must set the Buffer Mode to Streaming to enable Live view. If you select one of the buffer sizes, Live view does not display real-time data during the capture session.
- Call Stack Unwinding
- Select this checkbox to ensure that Arm Streamline
records call stacks. This option greatly improves the visibility of the
behavior of the target, but increases the amount of raw data Arm Streamline
sends from the target to the host. Ensure that you compile your EABI images
and libraries with frame pointers enabled using the
-fno-omit-frame-pointercompiler option. If GCC is compiled with the
--with-mode=thumboption, you must also use the
Arm Streamline supports call stack unwinding for Arm® binaries created using GCC or Arm Compiler 6 (armclang), provided you compile them with frame pointers enabled. Arm Streamline does not support call stack unwinding for code that is generated by Arm Compiler 5 and earlier (armcc).
User space gator does not support call stack unwinding.
- Discard Data
If this option is enabled, Arm Streamline discards all data when you terminate the capture. Use this option if you only want to see the data that streams during a capture session and do not want to generate a capture.
If you select this option, the Stop capture and analyze button in the Live view is disabled.
- The length of the capture session, in minutes and seconds. For example, enter 1:05 for 1 minute and 5 seconds. If you do not provide a value here, the capture session continues until you stop it manually, or the buffer is full.
- Use more efficient Ftrace collection
When this option is selected, Arm Streamline uses a more efficient way of collecting ftrace, atrace, and ttrace counters. Charts that rely on these counters are empty in Live view, although the data is present when you view the report.
To use the following Command settings, you must use the
-a option when starting
- Working Directory
- The absolute path of the directory on the target in which to run the command that is specified in the Command field. If a path is not given, the path to the current working directory of the gator process is used.
- User Name
- The user account to run the command as. By default, the command runs as the same user as
gator. For example, if
gatoris run as root, the command runs as root.
- A command to run on the target. The command is run a few seconds after the capture begins.
- Stop Capture
- When this checkbox is set, the capture stops when the command specified in the Command field exits. If the checkbox is clear, the capture continues to run after the command finishes.
The following settings define your energy capture device:
- Energy Capture drop-down menu
- This menu has three options. Select No Energy Data Collection to turn energy capture off. When you select this option, all other energy capture options are disabled. Select ARM Energy Probe or NI DAQ to match your energy capture hardware.
Use this field to give Arm Streamline the name of your target energy capture device. Arm Streamline attempts to auto-detect your device if this field is left blank.
When using Arm Energy Probe on Linux, enter /dev/ttyACM0 in the Device field, if required.
When using NI DAQ, the device name depends on the drivers that are installed on the host. For example, when using NI DAQmx Base drivers, the device name is usually Dev1. You can determine the device name by using the National Instruments
- The port Arm Streamline uses to communicate with your chosen energy capture device. The default port is 8081.
- Tool Path
- Use this field to define the path to the caiman executable, which is required to use either the Arm Energy Probe or a NI DAQ device to gather power output statistics. The button to the right of this field enables you to search your file system.
In addition to the settings that define your capture device, the Energy Probe section has configuration options that apply to each channel:
- When enabled, Arm Streamline collects energy data for this channel in joules.
- When enabled, Arm Streamline collects power data for this channel in watts.
- When enabled, Arm Streamline collects voltage data for this channel in volts.
- When enabled, Arm Streamline collects current data for this channel in amps.
- Use this field to define the value, in milliohms, of the shunt resistor that connects to each of the available channels. The default setting is 20 milliohms.
The Analysis section contains the following controls:
- Process Extra Debug Information (when available) checkbox
- If you enable this option, Arm Streamline
processes DWARF debug information and line numbers. This option provides a
higher level of detail in your captures, but results in higher memory usage.
It does not affect the data that is collected during the capture session. It
only affects the report data that is automatically generated after the
termination of the capture session. This option can be changed when you
re-analyze the stored capture.
To enable this feature, you must have built the image using the
If you disable this feature, the source section of the Code view does not display the source code or source code statistics. The disassembly is still available with this option disabled, but the source section shows only a No source available message.
- Resolution mode drop-down menu
This menu has three options. Select Normal for the standard resolution in Timeline view. The highest resolution in this mode is milliseconds. Select High to instruct Arm Streamline to process more data, enabling you to zoom in to microsecond bin sizes. Select Ultra-High to add one microsecond resolution to the data analysis. When Ultra High is selected, a warning is displayed explaining that the analysis time is increased, and that the captures are likely to require more disk space.
These options do not affect the data that is collected during the capture session. They only affect the report data that is automatically generated after the termination of the capture session. The selected option can be changed when you re-analyze the stored capture data.
Use this area to explore your file system and define the images and libraries that you want to profile.
The images that you define here do not affect the data that is collected during the capture session. They only affect the report data that is automatically generated after the termination of the capture session. These images can be changed when you re-analyze the stored capture.
When compiling images on your host, ensure that you use the
-gcompiler option to enable debug symbols.
Disabling inlining with the
-fno-inlinecompiler option substantially improves the call path quality.
As an alternative to manually selecting images and libraries on the host in the Program Images section, you can use the image download functionality described in Image download.
The following buttons are included in the Program Images section:
- Use all images for analysis / Use none of the images for analysis
- Toggles the checkboxes that control symbol loading for the ELF images, executables, or APKs listed. Use the checkboxes instead of removing entries from the Program Images list to toggle entries on and off over multiple runs.
- Add ELF Image…
- Opens a file system dialog box that you can use to choose images to add. Select the image, executable, or Android Package File (APK) and click Open to add the file to the list.
- Select Separate Debug Image…
- Click to select a separate file containing the extracted debug information and CFI. This button is available when the Debug Info or CFI columns display the icon.
- Removes the selected entries.
The Program Images table has the following column headings:
- Select the checkboxes to include the corresponding images in the analysis. Deselected images are ignored.
- The name of the image.
Displays the following icons to indicate whether symbol information is available:
The image contains symbol information.
No symbol information is available.
- Debug Info
Displays the following icons to indicate whether debug information is available:
Debug information is available. This information is used to determine line numbers and inlining information.
Debug information is available in a separate file (split debug image).
File contains no debug information, and no link to external debug information.
Availability of debug information is unknown. This icon is only displayed if the image is an APK.
Displays the following icons to indicate whether CFI is available:
eh_framesection is available. This information is used to determine stack frame sizes in the call paths view.
eh_framesection is available in a separate file.
File contains no CFI, and no link to external CFI.
Availability of CFI is unknown. This icon is only displayed if the image is an APK.
- Further remarks about the image.
- Use the resulting file system dialog box to find an existing session.xml file and import its settings to the Capture & Analysis Options dialog box.
- Saves the current settings as a session.xml file.
- Saves the settings and exits.
- Discards all changes and exits.