google / fplutil

fplutil is a set of small libraries and tools that can be useful when developing applications for Android and other platforms.
http://google.github.io/fplutil
Apache License 2.0
333 stars 49 forks source link

Supported device list #8

Open colordancer opened 8 years ago

colordancer commented 8 years ago

Hi there,

I've only seen 4 devices in SUPPORTED_DEVICES and BROKEN_DEVICES from the source code.

SUPPORTED_DEVICES = set([ 'mantaray', # Nexus 10 'nakasi', # Nexus 7 (2012) ]) BROKEN_DEVICES = set([ 'razor', # Nexus 7 (2013) 'hammerhead', # Nexus 5 ])

And I've tested Nexus 5(hammerhead) and seen a warning message when I tried ./android_ndk_perf --apk testbed-debug.apk record -o perf.data.

WARNING: AOSP on HammerHead is not in the list of supported devices. It is likely that the performance counters don't work so you may need to try a different device.

So I'd like to ask whether Nexus 6/5x is supported by Android perf, as I badly need to use to perf to profile my apk to show its run-time call graph. Thanks.

stewartmiles commented 8 years ago

Regarding Nexus 6 / 5x, we haven't run tests with android_ndk_perf to see whether the performance counters are accurate.

Unfortunately, right now Linux perf appears to be a little broken on devices running Android M and above since maintenance has been dropped for the tool. We have a task open to switch android_ndk_perf over from using the port of Linux perf to simpleperf https://android.googlesource.com/platform/prebuilts/simpleperf/+/refs/heads/ndk-r13-release/README.md

Right now we recommend trying out simpleperf to profile your applications. If you have time we would appreciate a patch to android_ndk_perf to use simpleperf instead of Linux perf :)

On Sun, Sep 18, 2016 at 8:24 PM, colordancer notifications@github.com wrote:

Hi there,

I've only seen 4 devices in SUPPORTED_DEVICES and BROKEN_DEVICES from the source code. `## Set of tested devices that are known to support perf. SUPPORTED_DEVICES = set([ 'mantaray', # Nexus 10 'nakasi', # Nexus 7 (2012) ]) Set of tested devices that are known to have broken support for perf.

BROKEN_DEVICES = set([ 'razor', # Nexus 7 (2013) 'hammerhead', # Nexus 5 ])`

And I've tested Nexus 5(hammerhead) and seen a warning message when I tried ./android_ndk_perf --apk testbed-debug.apk record -o perf.data. WARNING: AOSP on HammerHead is not in the list of supported devices. It is likely that the performance counters don't work so you may need to try a different device.

So I'd like to ask whether Nexus 6/5x is supported by Android perf, as I badly need to use to perf to profile my apk to show its run-time call graph. Thanks.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/google/fplutil/issues/8, or mute the thread https://github.com/notifications/unsubscribe-auth/AFw1RPvtRb6Tr73ScGnEHYGnkZOaQK1gks5qrgBogaJpZM4KAHBN .

colordancer commented 8 years ago

Thanks for the update. I also found external/linux-tools-perf was cleaned in ASOP master repo. Then I turned to simpleperf and had been trying.

So far it works well. But it seems branch profiling failed in my Nexus 5x. The application I profiled was liquidfun-master from fplutil.

root@bullhead:/data/local/tmp # ./simpleperf report -b
Cmdline: /data/local/tmp/simpleperf record -b -e branch-loads:u -g -p 13155 Arch: arm Event: branch-loads:u (type 3, config 5) Samples: 0 Event count: 0

I tried both commands, -b and -b -e.

BTW, I'm not sure it's cool to raise the questions about simpleperf here, as I've more questions to ask. If it's not the right place, I will try other ways.