Dan Albert | e7e2c31 | 2021-03-10 16:43:22 -0800 | [diff] [blame] | 1 | |
Dan Albert | b8a0c00 | 2021-03-18 14:43:06 -0700 | [diff] [blame^] | 2 | build 7173446 |
| 3 | Add visualization tool purgatorio. |
| 4 | Switch to llvm-objdump and llvm-readelf. |
| 5 | |
| 6 | build 7119240 |
| 7 | Reduce prepare recording time. |
| 8 | Add --kprobe option in record cmd. |
| 9 | Add --cpu option in report cmd. |
| 10 | Add -i option in dump cmd. |
| 11 | Add --exclude-perf option in inject cmd. |
| 12 | Add merge cmd to merge recording files recorded in the same environment using |
| 13 | the same event types. |
| 14 | Add monitor cmd to record and report events in real time. |
| 15 | Fix a few bugs about symbolization of kernel and kernel modules. |
| 16 | Support parsing kernel etm data in inject cmd. |
| 17 | Add --show-execution-type option in report-sample cmd. |
| 18 | Don't hide art jni methods in report_lib and report-sample cmd. |
| 19 | |
| 20 | |
Dan Albert | e7e2c31 | 2021-03-10 16:43:22 -0800 | [diff] [blame] | 21 | build 6859468 |
| 22 | Add --csv option in report cmd. |
| 23 | Add --sort option in stat cmd. |
| 24 | Add --tp-filter option to filter tracepoint events in record cmd. |
| 25 | Add --addr-filter to filter etm recording in record cmd. |
| 26 | Fix finding symbols from kernel modules. |
| 27 | Better ART JIT support (dump jit symfiles to a single file instead of multiple |
| 28 | temporary files). |
| 29 | Support generic JIT symbols from symbol map file. See doc/jit_symbols.md. |
| 30 | |
| 31 | |
| 32 | ndk r22 |
| 33 | build 6401870 |
| 34 | Support multiple record files in pprof_proto_generator.py. |
| 35 | In stat cmd, add --per-thread and --per-core options to report per thread and per core. |
| 36 | In record cmd, add --exclude-perf option to exclude simpleperf samples in system wide |
| 37 | recording. |
| 38 | In inject cmd, support decoding coresight etm data to branch list data in protobuf format. |
| 39 | Fix and add doc for app_api, which can control simpleperf recording in app code. |
| 40 | Support pmu event types: |
| 41 | list supported pmu events via `simpleperf list pmu`. |
| 42 | record/stat pmu events via options like -e armv8_pmuv3/cpu_cycles/. |
| 43 | Switch to llvm-objdump. |
| 44 | Add doc for line and disassembly annotation in README.md. |
| 45 | Add doc for profiling profileable release app on Android >= Q. |
| 46 | Remove dependency on libncurses. |
| 47 | |
| 48 | ndk r21 |
| 49 | In record cmd, support recording coresight etm data (via -e cs-etm option). |
| 50 | Add inject cmd to decode coresight etm data. |
| 51 | Add doc for downloading unstripped libraries on device. |
| 52 | Fix scripts for using unstripped libraries without build ids for reporting. |
| 53 | Switch to llvm-symbolizer. |
| 54 | Add app_api and api_profiler.py, which can control simpleperf recording in app code. |
| 55 | Fix pprof_proto_generator.py to support line and disassembly annotation via pprof. |
| 56 | |
| 57 | ndk r20 |
| 58 | Skipped. |
| 59 | |
| 60 | ndk r19 |
| 61 | Fix report-sample command on Windows. |
| 62 | |
| 63 | ndk r18 |
| 64 | Improve support of profiling JITed/interpreted Java code on Android >= P: |
| 65 | 1) Support JITed/interpreted Java code in system wide recording. |
| 66 | 2) Support dex files extracted to memory. |
| 67 | 3) Fix some bugs and improve inefficient code. |
| 68 | Improve record command: |
| 69 | 1) Add a user space buffer and a high priority record reading thread to reduce sampe lost rate. |
| 70 | 2) Record full process name instead of only the last 16 bytes. |
| 71 | Improve report_html.py: |
| 72 | 1) Generate flamegraphs in Javascript code instead of using inferno, thus |
| 73 | reducing the time used to generate and load report. |
| 74 | 2) Use bootstrap 4 to format UI. |
| 75 | 3) Use progressbar to show progress of loading contents. |
| 76 | 4) Add --binary_filter option to only annotate selected binaries. |
| 77 | Export tracing data in simpleperf_report_lib.py. |
| 78 | Test python scripts with both python2 and python3. |
| 79 | Add document for using simpleperf in Android platform profiling. |
| 80 | |
| 81 | ndk r17 |
| 82 | (release) |
| 83 | Use new Android unwinder, which can unwind for archs different from build. |
| 84 | Support profiling interpreted and JITed java code on Android >= P. |
| 85 | Refactor app_profiler.py: improve option interface, simplify profiling from launch, |
| 86 | and improve native lib downloading. |
| 87 | Fix ndk issues 638, 644, 499, 493. |
| 88 | Add debug-unwind cmd and script to debug unwinding. |
| 89 | Update document, including the way using wrap.sh to profile released apk. |
| 90 | |
| 91 | (beta 1) |
| 92 | Add report_html.py, reporting profiling result in html interface. |
| 93 | Improve inferno. |
| 94 | Refactor document. |
| 95 | Provide more complete dwarf based call graphs. |
| 96 | |
| 97 | ndk r16 |
| 98 | |
| 99 | Add inferno, a flamegraph generator. |
| 100 | Add --trace-offcpu option in simpleperf record command and app_profiler.py to trace offcpu time. |
| 101 | Add --app option in simpleperf record command to remove need of using run-as. |
| 102 | Add --profile_from_launch option in app_profiler.py to start recording from Activity launch time. |
| 103 | Configure scripts from command lines, remove config files. |
| 104 | Wrap simpleperf report command with report.py, in which GUI mode is enabled with --gui option. |
| 105 | Add release tests for scripts. |
| 106 | |
| 107 | |
| 108 | ndk r15 |
| 109 | |
| 110 | Add three Android Studio project examples, show how to build optimized native libs containing |
| 111 | debug info, show how to fully compile app on Android O. |
| 112 | Add symbol info in perf.data by default, no need to add --dump-symbols in simpleperf record command. |
| 113 | Report brief call-graph in simpleperf report command. |
| 114 | Support raw cpu pmu events. |
| 115 | |
| 116 | |
| 117 | ndk r14 |
| 118 | |
| 119 | Add app_profiler.py to help recording profiling data. |
| 120 | Add annotate.py to annotate source code. |
| 121 | Add simpleperf_report_lib.py interface to support extracting samples from perf.data. |
| 122 | Release simpleperf binaries on host to support reporting on host. |
| 123 | |
| 124 | |
| 125 | ndk r13 |
| 126 | |
| 127 | Release simpleperf binaries on device. |
| 128 | Support recording and reporting stack frame based callgraphs and dwarf based callgraphs. |
| 129 | Add simpleperf_report.py to show callgraphs in GUI. |