Skip to content

Commit e23a734

Browse files
Merge pull request #1326 from juliegaskin/main
Add new installation script instructions
2 parents 687f3aa + 1251ba7 commit e23a734

File tree

2 files changed

+67
-36
lines changed

2 files changed

+67
-36
lines changed

content/install-guides/streamline-cli.md

Lines changed: 56 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -68,29 +68,67 @@ Arm recommends that you profile an optimized release build of your application,
6868

6969
If you are using the `workflow_topdown_basic option`, ensure that your application workload is at least 20 seconds long, in order to give the core time to capture all of the metrics needed. This time increases linearly as you add more metrics to capture.
7070

71-
## Install Streamline CLI Tools
71+
## Using Python scripts
7272

73-
1. Download and extract the Streamline CLI tools on your Arm server:
73+
The Python scripts provided with Streamline CLI tools require Python 3.8 or later, and depend on several third-party modules. We recommend creating a Python virtual environment containing these modules to run the tools. For example:
74+
75+
```sh
76+
# From Bash
77+
python3 -m venv sl-venv
78+
source ./sl-venv/bin/activate
79+
80+
# From inside the virtual environment
81+
python3 -m pip install -r ./<install>/bin/requirements.txt
82+
```
83+
84+
{{% notice Note%}}
85+
The instructions in this guide assume you have added the `<install>/bin/`
86+
directory to your `PATH` environment variable, and that you run all Python commands from inside the virtual environment.
87+
{{% /notice %}}
88+
89+
## Installing the tools {.reference}
90+
91+
The Streamline CLI tools are available as a standalone download to enable easy integration in to server workflows.
92+
93+
To download the latest version of the tool and extract it to the current working directory you can use our download utility script:
94+
95+
```sh
96+
wget https://artifacts.tools.arm.com/arm-performance-studio/Streamline_CLI_Tools/get-streamline-cli.py
97+
98+
python3 get-streamline-cli.py install
99+
```
100+
101+
The script can also be used to download a specific version, or install to a user-specified directory:
102+
103+
* To list all available versions:
104+
105+
```sh
106+
python3 get-streamline-cli.py list
107+
```
108+
109+
* To download, but not install, a specific version:
74110

75111
```sh
76-
wget https://artifacts.tools.arm.com/arm-performance-studio/2024.3/Arm_Streamline_CLI_Tools_9.2.2_linux_arm64.tgz 
77-
tar -xzf Arm_Streamline_CLI_Tools_9.2.2_linux_arm64.tgz 
112+
python3 get-streamline-cli.py download --tool-version <version>
78113
```
79114

80-
1. The `sl-format.py` Python script requires Python 3.8 or later, and depends on several third-party modules. We recommend creating a Python virtual environment containing these modules to run the tools. For example:
115+
* To download and install a specific version:
81116

82117
```sh
83-
# From Bash
84-
python3 -m venv sl-venv
85-
source ./sl-venv/bin/activate
118+
python3 get-streamline-cli.py install --tool-version <version>
119+
```
86120

87-
# From inside the virtual environment
88-
python3 -m pip install -r ./streamline_cli_tools/bin/requirements.txt
121+
* To download and install to a specific directory
122+
123+
```sh
124+
python3 get-streamline-cli.py install --install-dir <path>
89125
```
90126

91-
{{% notice Note%}}
92-
The instructions in this guide assume you have added the `<install>/bin/` directory to your `PATH` environment variable, and that you run all Python commands from inside the virtual environment.
93-
{{% /notice %}}
127+
For manual download, you can find all available releases here:
128+
129+
```sh
130+
https://artifacts.tools.arm.com/arm-performance-studio/Streamline_CLI_Tools/
131+
```
94132

95133
## Applying the kernel patch
96134

@@ -135,10 +173,10 @@ Follow these steps to integrate these patches into an RPM-based distribution's k
135173
136174
1. Install the RPM build tools:
137175
138-
```
176+
```sh
139177
sudo yum install rpm-build rpmdevtools
140178
```
141-
179+
142180
1. Remove any existing `rpmbuild` directory, renaming as appropriate:
143181
144182
```sh
@@ -150,18 +188,21 @@ Follow these steps to integrate these patches into an RPM-based distribution's k
150188
```sh
151189
yum download --source kernel
152190
```
191+
153192
1. Install the sources binary:
154193
155194
```sh
156195
rpm -i kernel-<VERSION>.src.rpm
157196
```
158197
159198
1. Enter the `rpmbuild` directory that is created:
199+
160200
```sh
161201
cd rpmbuild
162202
```
163203
164204
1. Copy the patch into the correct location. Replace the 9999 patch number with the next available patch number in the sequence:
205+
165206
```sh
166207
cp vX.Y-combined.patch SOURCES/9999-strobing-patch.patch
167208
```

content/learning-paths/servers-and-cloud-computing/profiling-for-neoverse/streamline-cli.md

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -26,33 +26,23 @@ Arm recommends that you profile an optimized release build of your application,
2626

2727
### Procedure {.section}
2828

29-
1. Download and extract the Streamline CLI tools on your Arm server:
29+
1. Use the download utility script to download the latest version of the tool and extract it to the current working directory on your Arm server:
3030

3131
```sh
32-
wget https://artifacts.tools.arm.com/arm-performance-studio/2024.4/Arm_Streamline_CLI_Tools_9.3_linux_arm64.tgz 
33-
tar -xzf Arm_Streamline_CLI_Tools_9.3_linux_arm64.tgz 
34-
```
35-
36-
1. Follow the instructions in the [Install Guide](/install-guides/streamline-cli/) to ensure you have everything set up correctly. Arm recommends that you apply the kernel patch as described in this guide, to improve support for capturing function-attributed top-down metrics on Arm systems.
37-
38-
1. The `sl-format.py` Python script requires Python 3.8 or later, and depends on several third-party modules. We recommend creating a Python virtual environment containing these modules to run the tools. For example:
39-
40-
```sh
41-
# From Bash
42-
python3 -m venv sl-venv
43-
source ./sl-venv/bin/activate
32+
wget https://artifacts.tools.arm.com/arm-performance-studio/Streamline_CLI_Tools/get-streamline-cli.py
4433

45-
# From inside the virtual environment
46-
python3 -m pip install -r ./streamline_cli_tools/bin/requirements.txt
34+
python3 get-streamline-cli.py install
4735
```
4836

49-
{{% notice Note%}}
50-
The instructions in this guide assume you have added the `<install>/bin/` directory to your `PATH` environment variable, and that you run all Python commands from inside the virtual environment.
51-
{{% /notice %}}
37+
The script can also be used to download a specific version, or install to a user-specified directory. Refer to the [Install Guide](/install-guides/streamline-cli/) for details on all the script options.
38+
39+
{{% notice %}}
40+
Follow the instructions in the [Install Guide](/install-guides/streamline-cli/) to ensure you have everything set up correctly. Arm recommends that you apply the kernel patch as described in this guide, to improve support for capturing function-attributed top-down metrics on Arm systems.
41+
{{% /notice %}}
5242

5343
1. Use `sl-record` to capture a raw profile of your application and save the data to a directory on the filesystem.
5444

55-
Arm recommends making a profile of at least 20 seconds in duration, which ensures that the profiler can capture a statistically significant number of samples for all of the metrics.
45+
Arm recommends making a profile of at least 20 seconds in duration, which ensures that the profiler can capture a statistically significant number of samples for all of the metrics.
5646

5747
```sh
5848
sl-record -C workflow_topdown_basic -o <output.apc> -A <your app command-line>
@@ -110,15 +100,15 @@ Arm recommends that you profile an optimized release build of your application,
110100

111101
## Capturing a system-wide profile
112102

113-
To capture a system-wide profile, which captures all processes and threads, run `sl-record` with the `-S yes` option and omit the `-A ` application-specific option and following arguments.
103+
To capture a system-wide profile, which captures all processes and threads, run `sl-record` with the `-S yes` option and omit the `-A` application-specific option and following arguments.
114104

115105
In systems without the kernel patches, system-wide profiles can capture the top-down metrics. To keep the captures to a usable size, it may be necessary to limit the duration of the profiles to less than 5 minutes.
116106

117107
## Capturing top-down metrics without the kernel patches
118108

119109
To capture top-down metrics in a system without the kernel patches, there are three options available:
120110

121-
* To capture a system-wide profile, which captures all processes and threads, run with the `-S yes` option and omit the `-A ` application-specific option and following arguments. To keep the captures to a usable size, it may be necessary to limit the duration of the profiles to less than 5 minutes.
111+
* To capture a system-wide profile, which captures all processes and threads, run with the `-S yes` option and omit the `-A` application-specific option and following arguments. To keep the captures to a usable size, it may be necessary to limit the duration of the profiles to less than 5 minutes.
122112

123113
* To reliably capture single-threaded application profile, add the `--inherit no` option to the command line. However, in this mode metrics are only captured for the first thread in the application process and any child threads or processes are ignored.
124114

0 commit comments

Comments
 (0)