You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hmz007 36ed224bac
Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a)
1 year ago
..
app_api Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
demo Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
doc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
include Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
nonlinux_support Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
runtest Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
rust Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
scripts Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
simpleperf_app_runner Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
testdata Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
.clang-format Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
.gitignore Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
Android.bp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
Android.mk Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
CallChainJoiner.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
CallChainJoiner.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
CallChainJoiner_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
CtsSimpleperfTestCases_testdata Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
ETMBranchListFile.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
ETMBranchListFile.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
ETMBranchListFile_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
ETMConstants.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
ETMDecoder.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
ETMDecoder.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
ETMRecorder.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
ETMRecorder.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
IOEventLoop.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
IOEventLoop.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
IOEventLoop_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
JITDebugReader.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
JITDebugReader.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
JITDebugReader_impl.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
JITDebugReader_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
MapRecordReader.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
MapRecordReader.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
MapRecordReader_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
NOTICE Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
OWNERS Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
OfflineUnwinder.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
OfflineUnwinder.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
OfflineUnwinder_impl.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
OfflineUnwinder_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
ProbeEvents.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
ProbeEvents.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
ProbeEvents_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
README.md Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
RecordFilter.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
RecordFilter.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
RecordFilter_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
RecordReadThread.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
RecordReadThread.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
RecordReadThread_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
RegEx.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
RegEx.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
RegEx_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
SampleComparator.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
SampleDisplayer.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
TEST_MAPPING Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
build_id.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
callchain.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_api.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_api_impl.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_api_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_boot_record.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_boot_record_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_debug_unwind.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_debug_unwind_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_dumprecord.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_dumprecord_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_help.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_inject.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_inject_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_kmem.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_kmem_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_list.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_list_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_merge.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_merge_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_monitor.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_monitor_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_record.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_record_impl.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_record_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_report.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_report_sample.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_report_sample.proto Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_report_sample_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_report_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_stat.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_stat_impl.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_stat_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_trace_sched.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cmd_trace_sched_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
command.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
command.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
command_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
cpu_hotplug_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
dso.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
dso.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
dso_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
environment.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
environment.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
environment_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
etm_branch_list.proto Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
event_attr.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
event_attr.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
event_fd.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
event_fd.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
event_selection_set.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
event_selection_set.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
event_type.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
event_type.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
event_type_table.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
generate_event_type_table.py Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
get_test_data.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
gtest_main.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
kallsyms.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
kallsyms.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
kallsyms_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
libsimpleperf_report_fuzzer.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
main.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
perf_event.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
perf_regs.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
perf_regs.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
perf_regs_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
profcollect.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
read_apk.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
read_apk.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
read_apk_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
read_dex_file.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
read_dex_file.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
read_dex_file_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
read_elf.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
read_elf.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
read_elf_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
read_symbol_map.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
read_symbol_map.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
read_symbol_map_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
record.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
record.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
record_equal_test.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
record_file.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
record_file.proto Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
record_file_format.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
record_file_reader.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
record_file_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
record_file_writer.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
record_lib_interface.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
record_lib_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
record_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
report_lib_interface.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
report_utils.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
report_utils.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
report_utils_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
sample_tree.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
sample_tree_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
simpleperf.rc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
test_util.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
test_util.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
thread_tree.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
thread_tree.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
thread_tree_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
tracing.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
tracing.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
tracing_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
utils.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
utils.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
utils_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
workload.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
workload.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
workload_test.cpp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago

README.md

Simpleperf

Android Studio includes a graphical front end to Simpleperf, documented in Inspect CPU activity with CPU Profiler. Most users will prefer to use that instead of using Simpleperf directly.

If you prefer to use the command line, Simpleperf is a versatile command-line CPU profiling tool included in the NDK for Mac, Linux, and Windows.

This file contains documentation for simpleperf maintainers.

There is also user documentation.

Building new prebuilts

To snap the aosp-simpleperf-release branch to ToT AOSP main and kick off a build, use this coastguard page and choose "aosp-simpleperf-release" from the "Branch" dropdown. Then click "Submit build requests". You'll get emails keeping you up to date with the progress of the snap and the build.

Updating the prebuilts

Once you have the build id (a 7-digit number) and the build is complete, run the update script from within the system/extras/simpleperf directory:

$ ./scripts/update.py --build 1234567

This will create a new change that you can repo upload, then approve and submit as normal.

For testing, I usually only run python host tests as below:

$ ./scripts/test/test.py --only-host-test

To test all scripts, please use python 3.8+ and install below packages:

$ pip install bokeh jinja2 pandas protobuf textable

Updating the prebuilts in prebuilts/simpleperf

Download ndk branch.

$ repo init -u persistent-https://android.git.corp.google.com/platform/manifest -b master-ndk
$ repo sync

In prebuilts/simpleperf, run update.py:

$ ./update.py --build <bid>

Then manually edit ChangeLog. This will create a new change that you can repo upload, then approve and submit as normal.

For testing, we need to test if the scripts run on darwin/linux/windows for different android versions. I usually split it to four parts:

  1. Test on android emulators running on linux x86_64 host, for android version N/O/P/Q/R/S/current.
$ ./test/test.py -d <devices> -r 3

The scripts support android >= N. But it's easier to test old versions on emulators. So I only test android N on emulators.

Currently, the tests have problems in clean up. So tests on emulator may fail and take too long to run. And there are a few known failed cases. Hopefully they will be fixed soon.

  1. Test on android devices connected to linux x86_64 host, for android version O/P/Q/R/S/current.
$ ./test/test.py -d <devices> -r 3
  1. Test on an android device connected to darwin x86_64 host, for one of android version O/P/Q/R/S/current.
$ ./test/test.py -d <devices> -r 1
  1. Test on an android device connected to darwin x86_64 host, for one of android version O/P/Q/R/S/current.
$ ./test/test.py -d <devices> -r 1

To check simpleperf contents released in ndk, we can build ndk package.

$ <top_dir>/ndk/checkbuild.py --package --system linux --module simpleperf

The ndk package is generated in out/ directory.