Searched refs:simpleperf (Results 1 – 25 of 142) sorted by relevance
123456
1 # Domain used when running /system/bin/simpleperf to profile a specific app.5 typeattribute simpleperf coredomain;8 domain_auto_trans({ untrusted_app_all -runas_app }, simpleperf_exec, simpleperf)10 # When running in this domain, simpleperf is scoped to profiling an individual12 # consistent if simpleperf is marked as an app domain as well (as, for example,14 app_domain(simpleperf)15 untrusted_app_domain(simpleperf)19 allow simpleperf untrusted_app_all:process ptrace;22 allow simpleperf self:perf_event { open read write kernel };26 r_dir_file(simpleperf, untrusted_app_all)[all …]
9 # when using run-as on a debuggable app. Used to run lldb/ndk-gdb/simpleperf,13 # Allow lldb/ndk-gdb/simpleperf to read maps of debuggable app processes.16 # Allow lldb/ndk-gdb/simpleperf to ptrace attach to debuggable app processes.20 # Allow executing system image simpleperf without a domain transition.23 # Suppress denial logspam when simpleperf is trying to find a matching process
16 # perfprofd checks for the existence of and then invokes simpleperf;17 # simpleperf retains perfprofd domain after exec36 # simpleperf uses ioctl() to turn on kernel perf events measurements39 # simpleperf needs to examine /proc to collect task/thread info42 # simpleperf needs to access /proc/<pid>/exec46 # simpleperf needs open/read any file that turns up in a profile50 # simpleperf examines debugfs on startup to collect tracepoint event types53 # simpleperf is going to execute "sleep"56 # needed for simpleperf on some kernels
7 - [How simpleperf works](#how-simpleperf-works)34 ## How simpleperf works42 exposes all events to userspace via the perf_event_open system call, which is used by simpleperf.48 1. Given user options, simpleperf enables profiling by making a system call to the kernel.50 3. After profiling, simpleperf reads counters from the kernel, and reports a counter summary.53 1. Given user options, simpleperf enables profiling by making a system call to the kernel.54 2. Simpleperf creates mapped buffers between simpleperf and the kernel.68 The debug-unwind command: debug/test dwarf based offline unwinding, used for debugging simpleperf.69 The dump command: dumps content in perf.data, used for debugging simpleperf.76 simpleperf in Android Studio.[all …]
5 profile both Java and C++ code on Android. The simpleperf executable can run on Android >=L,9 …ource code is [here](https://android.googlesource.com/platform/system/extras/+/master/simpleperf/).10 … [here](https://android.googlesource.com/platform/system/extras/+/master/simpleperf/doc/README.md).14 - [Simpleperf](#simpleperf)17 - [Tools in simpleperf](#tools-in-simpleperf)33 Simpleperf contains two parts: the simpleperf executable and Python scripts.35 The simpleperf executable works similar to linux-tools-perf, but has some specific features for39 report on the host", simpleperf not only collects samples in profiling data, but also collects43 a. When recording dwarf based call graph, simpleperf unwinds the stack before writing a sample59 simpleperf executables can be pushed on any Android device and used to record profiling data.[all …]
7 - [Start simpleperf from system_server process](#start-simpleperf-from-system_server-process)14 1. After running `adb root`, simpleperf can be used to profile any process or system wide.15 2. It is recommended to use the latest simpleperf available in AOSP main, if you are not working16 on the current main branch. Scripts are in `system/extras/simpleperf/scripts`, binaries are in17 `system/extras/simpleperf/scripts/bin/android`.35 # Doing recording with app_profiler.py or simpleperf on device, and generates perf.data on host.47 ## Start simpleperf from system_server process50 we can add code starting simpleperf at the point where the situation is detected.52 1. Disable selinux by `adb shell setenforce 0`. Because selinux only allows simpleperf running63 Runtime.getRuntime().exec("/system/bin/simpleperf record -g -p " + String.valueOf(Process.myPid())[all …]
4 …[Here](https://android.googlesource.com/platform/system/extras/+/master/simpleperf/demo/README.md).36 enables JNI checks and may not optimize C/C++ code. It can be profiled by simpleperf without any43 with android::debuggable set to true can be profiled. So simpleperf can only profile a release48 a released app profileable by preinstalled profiling tools. In this case, simpleperf downloaded by49 adb will invoke simpleperf preinstalled in system image to profile the app.109 On Android >= P, simpleperf supports profiling Java code, no matter whether it is executed by112 On Android O, simpleperf supports profiling Java code which is compiled into native instructions,116 On Android N, simpleperf supports profiling Java code that is compiled into native instructions.119 On Android <= M, simpleperf doesn't support profiling Java code.122 …tive](https://android.googlesource.com/platform/system/extras/+/master/simpleperf/demo/SimpleperfE…[all …]
42 Inferno relies on simpleperf to record the callstack of a native application45 `simpleperf` also symbolize all IPs automatically. The record are aggregated and52 Open a terminal and from `simpleperf/scripts` directory type:78 `simpleperf` to unwind the stack via the kernel and frame pointers. Try to85 ` -fomit-frame-pointer` in your build config. Alternatively, ask simpleperf to92 If simpleperf reports a lot of lost sample it is probably because you are102 If you cannot run as root, make sure the app is debuggable otherwise simpleperf
19 # perfprofd checks for the existence of and then invokes simpleperf;20 # simpleperf retains perfprofd domain after exec45 # simpleperf reads kernel notes.53 # simpleperf writes to perf_event_paranoid under /proc.59 # simpleperf uses ioctl() to turn on kernel perf events measurements62 # simpleperf needs to examine /proc to collect task/thread info65 # simpleperf needs to access /proc/<pid>/exec69 # simpleperf needs open/read any file that turns up in a profile82 # simpleperf will set security.perf_harden to enable access to perf_event_open()85 # simpleperf examines debugfs on startup to collect tracepoint event types[all …]
19 # perfprofd checks for the existence of and then invokes simpleperf;20 # simpleperf retains perfprofd domain after exec45 # simpleperf reads kernel notes.53 # simpleperf writes to perf_event_paranoid under /proc.59 # simpleperf uses ioctl() to turn on kernel perf events measurements62 # simpleperf needs to examine /proc to collect task/thread info65 # simpleperf needs to access /proc/<pid>/exec69 # simpleperf needs open/read any file that turns up in a profile80 # simpleperf will set security.perf_harden to enable access to perf_event_open()83 # simpleperf examines debugfs on startup to collect tracepoint event types[all …]
319 // simpleperf shipped in system image321 name: "simpleperf",352 // simpleperf released in ndk359 targets: ["simpleperf"],381 dir: "simpleperf/android/arm",386 dir: "simpleperf/android/arm64",391 dir: "simpleperf/android/x86",396 dir: "simpleperf/android/x86_64",401 dir: "simpleperf/darwin/x86",406 dir: "simpleperf/darwin/x86_64",[all …]
3 This file is documentation for simpleperf maintainers.8 To snap the aosp-simpleperf-release branch to ToT AOSP main and kick off a11 and choose "aosp-simpleperf-release" from the "Branch" dropdown. Then click18 update script from within the `system/extras/simpleperf` directory:
46 $(hide) $(SOONG_ZIP) -d -o $@ -C system/extras/simpleperf $(SIMPLEPERF_SCRIPT_LIST)48 $(call dist-for-goals,simpleperf,$(SIMPLEPERF_SCRIPT_PATH):simpleperf/simpleperf_script.zip)
25 using namespace simpleperf;89 namespace simpleperf { namespace
36 namespace simpleperf {171 using MapEntry = simpleperf::MapEntry;172 using ThreadEntry = simpleperf::ThreadEntry;173 using ThreadTree = simpleperf::ThreadTree;
1 # Examples of using simpleperf to profile Android applications5 - [Examples of using simpleperf to profile Android applications](#examples-of-using-simpleperf-to-p…16 … [here](https://android.googlesource.com/platform/system/extras/+/master/simpleperf/doc/README.md).17 …here](https://android.googlesource.com/platform/system/extras/+/master/simpleperf/doc/README.md#An…18 This directory is to show examples of using simpleperf to profile Android applications. The21 ../scripts/ -- contain simpleperf binaries and scripts.32 $ cd extras/simpleperf/demo66 $ python app_profiler.py -p com.example.simpleperf.simpleperfexamplepurejava98 $ python app_profiler.py -p com.example.simpleperf.simpleperfexamplewithnative130 $ python app_profiler.py -p com.example.simpleperf.simpleperfexampleofkotlin[all …]
9 # when using run-as on a debuggable app. Used to run lldb/ndk-gdb/simpleperf,13 # Allow lldb/ndk-gdb/simpleperf to read maps of debuggable app processes.16 # Allow lldb/ndk-gdb/simpleperf to ptrace attach to debuggable app processes.
17 package simpleperf.demo.java_api;24 import com.android.simpleperf.ProfileSession;25 import com.android.simpleperf.RecordOptions;
60 return simpleperf::etm::HasSupport(); in IsSupported()72 return simpleperf::etm::Record(outputFile, samplingPeriod); in Trace()86 bool success = simpleperf::etm::Inject(traceFile, binaryOutput, binaryFilter); in Process()
6 applicationId "simpleperf.demo.java_api"8 …// https://android.googlesource.com/platform/system/extras/+/master/simpleperf/doc/README.md#prepa…
6 applicationId "simpleperf.demo.cpp_api"8 …// (https://android.googlesource.com/platform/system/extras/+/master/simpleperf/doc/README.md#why-…
34 simpleperf::RecordOptions options; in ProfileThreadFunc()36 simpleperf::ProfileSession session; in ProfileThreadFunc()