[go: nahoru, domu]

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