[go: nahoru, domu]

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