Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arm Performix Arm Performix

Arm Performix

Arm Performix is a performance analysis toolkit for developers building on Arm-based infrastructure. It combines target-side data collection with guided analysis, function-level insights, and desktop visualisations.

What Does This Repository Contain?

Arm is gradually making source code for Arm Performix available to the public. Currently, you can build the Arm Performix CLI (apx) and use it to run the System Utilization recipe.

How To Build

Note

This build process is fully supported on Linux and MacOS systems. For Windows users, we recommend using WSL.

Step 1 - Pre-requisites

Ensure the following are available on your system:

  • C/C++ compiler toolchain
  • git
  • curl
  • unzip

For example, on Ubuntu or Debian:

sudo apt install build-essential git curl unzip

On macOS, install the Xcode Command Line Tools (curl and unzip are included with the operating system):

xcode-select --install

Step 2 - Clone the repository

git clone https://github.com/arm/performix.git
cd performix

Step 3 - Bootstrap the repository with mise

Bootstrap the mise toolchain:

./bootstrap

If bootstrap configured mise for the first time, start a new shell.

Step 4 - Use task to build

Then use Task to install dependencies, generate sources, and build APX:

mise exec -- task install

This command assumes you accepted bootstrap's prompt to add mise to your PATH. Otherwise, use the installed path directly:

"$HOME/.local/bin/mise" exec -- task install

Using the Arm Performix CLI

The resulting CLI binary will be located at core/apap-cli/apx.

To run the System Utilization recipe, you will need an SSH-accessible Linux AArch64 or x86_64 target. On a Linux AArch64 or x86_64 machine, you can use the local machine as the target with --target localhost.

Example commands using a local Linux machine:

cd core/apap-cli
./apx recipe ready system_utilization --system-wide --target localhost
./apx recipe run system_utilization --system-wide --timeout 30 --deploy-tools --target localhost

Example commands using a remote target:

cd core/apap-cli
./apx target add user@hostname:22:/path/to/private_key --name linux-target --default
./apx target prepare
./apx recipe ready system_utilization --system-wide --target linux-target
./apx recipe run system_utilization --system-wide --timeout 30 --deploy-tools --target linux-target