Closed bylanhao closed 4 years ago
Hey! Can you please tell me why you think hotspot doesn't work for the embedded use-case? Are you passing the correct paths to e.g. --sysroot
- see hotspot --help
for more information:
hotspot --help
Usage: hotspot [options] [files...]
Linux perf GUI for performance analysis.
Options:
-h, --help Displays help on commandline options.
--help-all Displays help including Qt specific options.
-v, --version Displays version information.
--sysroot <path> Path to sysroot which is used to find libraries.
--kallsyms <path> Path to kallsyms file which is used to resolve
kernel symbols.
--debugPaths <paths> Colon separated list of paths that contain debug
information.
--extraLibPaths <paths> Colon separated list of extra paths to find
libraries.
--appPath <path> Path to folder containing the application executable
and libraries.
--arch <path> Architecture to use for unwinding.
Quite a few people are using hotspot for embedded projects with arm architectures e.g. and it just works. So I wonder why it doesn't work for you?
hotspot --kallsyms kallsyms --sysroot root --debugPaths symbols/ --arch arm64 perf.data bad feature data: 0x7ffe2b6ac4e0 HEADER_TRACING_DATA with unexpected contentSize 2308 unhandled event type 5 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 5 unhandled event type 6 unhandled event type 6 unhandled event type 5 unhandled event type 5 unhandled event type 5 unhandled event type 6 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 6 unhandled event type 5 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 6 unhandled event type 5 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 5 unhandled event type 6 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 5 unhandled event type 6 unhandled event type 6 Segmentation fault (core dumped) root:/usr/hotspot# unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 5 unhandled event type 6 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 5 unhandled event type 6 unhandled event type 6 unhandled event type 5 unhandled event type 5 unhandled event type 6 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 5 unhandled event type 6 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 5 unhandled event type 6 unhandled event type 6 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 6 unhandled event type 5 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 5 unhandled event type 5 unhandled event type 6 unhandled event type 6 unhandled event type 6 unhandled event type 5 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 6 unhandled event type 5 unhandled event type 6 unhandled event type 5 unhandled event type 5
When I use the Android simpleperf the hotspot is crash, if it can use perf script maybe prefect.
python run_simpleperf_on_device.py record -e cpu-clock -e sched:sched_switch -a --call-graph fp --duration 45
and I use this command to get the perf.data.
So the issue is a crash that occurs when you try to analyze the data as produced by simpleperf.
To do anything about this, can you please provide me with a perf.data
file recorded with simpleperf please?
Here's an example perf.data from simpleperf: simpleperf-20200425-perf.data (7.9 MB)
And here's perf script
-style text version of it, obtained with report_sample.py
: simpleperf-20200425-report_sample.txt.zip (5.5 MB)
I obtained this profile by following the instructions from https://github.com/acreskeyMoz/simpleperf_for_geckoview_example. I was profiling a locally-built Fenix on a Moto G5.
The link to the text file references is the same as to the binary perf.data file. Can you get me a correct link please?
Please try with the latest AppImage from the continuous build once it finishes. You should be able to parse the simpleperf data files then.
Note that you'll have to provide the paths to the sysroot etc. to be able to resolve debug symbols.
I've updated the link in the comment.
Your application is perfect in x86 arch, but in embedded, it has a issue to used. Can you develop analytics based on perf.script? Follow the steps of your document analysis to analyze the embedded perf.data, most of the time hotspot didn't work. And many Android app can use simpleperf to get perf script, it's hard to use hotspot to analysis android app.