How Do I profile a native android application with Streamline

How can I profile a Native Application on the Android device?


Suppose I have an native application and can execute it on an Android device at `/data/local/tmp/my.bin` . How can I profile this application with Streamline?

Inspired by this thread: https://community.arm.com/support-forums/f/armds-forum/9615/profiling-android-native-code I have pushed `gatord` (located at `Arm_Performance_Studio_2024.0/streamline/bin/android/arm64/` to the android device and run the exectuable like so:

```

./gatord --output /data/local/tmp/ --app my.bin                          
``

However, I cannot see a trace file afterwards. How could I profile this application?

Parents
  • Hi

    That is generally correct, you should give the name of the capture as part of output, so something like:

    ./gatord -o /data/local/tmp/capture.apc -A application args...

    ought to work.

    Refer to `--help` for a list of command line arguments used to configure the target (see for example `--print counters`, and `-C` for configuration).

    You can also use the Streamline UI to make a live capture from the target in this configuration (which will allow you to apply GPU templates if you are interested in such things)... run gatord like:

    ./gatord -A application args...


    and then use the "TCP/IP" option, rather than the "Android" option in the "Start" tab. If your device is connected by adb/usb, and the adb command is in the PATH (or is configured in the Streamline UI preferences) then you should see the device appear in the list of available devices.

    Regards

    Ben

Reply
  • Hi

    That is generally correct, you should give the name of the capture as part of output, so something like:

    ./gatord -o /data/local/tmp/capture.apc -A application args...

    ought to work.

    Refer to `--help` for a list of command line arguments used to configure the target (see for example `--print counters`, and `-C` for configuration).

    You can also use the Streamline UI to make a live capture from the target in this configuration (which will allow you to apply GPU templates if you are interested in such things)... run gatord like:

    ./gatord -A application args...


    and then use the "TCP/IP" option, rather than the "Android" option in the "Start" tab. If your device is connected by adb/usb, and the adb command is in the PATH (or is configured in the Streamline UI preferences) then you should see the device appear in the list of available devices.

    Regards

    Ben

Children