History log of /system/extras/simpleperf/cmd_report.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dcb2a3e580f155bb28621c4cbad019d104e8f300 19-May-2017 Yabin Cui <yabinc@google.com> simpleperf: enable two options by default.

Enable dumping symbols in record cmd by default,
and change --dump-symbols option into --no-dump-symbols option.
Show brief call graph in report cmd by default,
and change --brief-callgraph option into --full-callgraph option.
Make the change because these two behaviors are always recommended.

Bug: None.
Test: run simpleperf_unit_test.
Change-Id: Icff6a843a7f46c56313500f4da119aa5118a57e5
/system/extras/simpleperf/cmd_report.cpp
98c7584c1c6cb93ad3e0f66e2a6f1d6b2d8fb878 28-Apr-2017 Yabin Cui <yabinc@google.com> simpleperf: fix unknown binary in samples.

1. Wrong ip addresses in callchain can map to unknown binary. They
should be omitted.
2. When unknown binary is really hitted in samples, which is unlikely
to happen, make sure report-sample cmd will not skip the file id of
unknown binary.
3. Add corresponding test.

Bug: http://b/37783312
Test: run simpleperf_unit_test.
Change-Id: Ifb5b59401bce9c8f81042015e73f190acd43ce31
/system/extras/simpleperf/cmd_report.cpp
0c093f3cc0dbced581c9d430e0ed8cd12def61ce 19-Apr-2017 Yabin Cui <yabinc@google.com> simpleperf: add --brief-callgraph option for report cmd.

Remove duplicated callgraphs (which appears as a sub graph in
another place) in --brief-callgraph mode.
Accept brief callgraph in report.py.
Add unit test for --brief-callgraph option.

Bug: http://b/37444055
Test: run simpleperf_unit_test.
Test: manually run report.py.
Change-Id: I41977762552ec66807f394558352da6cbefaec2e
/system/extras/simpleperf/cmd_report.cpp
10dbaaa7263682e5100616cc630b4fbba31fb6fc 24-Feb-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "simpleperf: generate one report for each event attr."
afe99a53d3030f54fa843af3e1558852a4cb3815 24-Feb-2017 Yabin Cui <yabinc@google.com> simpleperf: add --raw-period option for report cmd.

Bug: http://b/35475170
Test: run simpleperf_unit_test.
Change-Id: Ib5bae0b775ac2a3e647b7724df01ce0b8deb1a38
/system/extras/simpleperf/cmd_report.cpp
ada97db3d4336faac601663e8bb4b59835ae49a0 24-Feb-2017 Yabin Cui <yabinc@google.com> simpleperf: generate one report for each event attr.

Bug: http://b/35475170
Test: run simpleperf_unit_test.
Test: run report.py.
Change-Id: Ie9329a64c701bce38f7b440c16cb47e99e83db45
/system/extras/simpleperf/cmd_report.cpp
b92bae84b27889b548214bee8d0730ef10da0c6d 10-Feb-2017 Yabin Cui <yabinc@google.com> simpleperf: build libsimpleperf_inplace_sampler library.

libsimpleperf_inplace_sampler.so is a library linked with
user's app. It opens a unix socket server and waits for
simpleperf's profiling request. This patch doesn't contain
code generating real samples, instead it uses a fake sample
for testing.
Add runtest for 32bit. Increase runtest duration to 2 seconds
and adjust some args in runtest.conf to make test result stable.
Fix one tiny error in cmd_report.cpp to report correctly
in `report --sort comm,symbol`.

Bug: http://b/30974760
Test: run simpleperf_unit_test.
Test: run runtest.py.
Change-Id: I58163fe47f62e6ba7dd684b33a2ce302feb880f5
/system/extras/simpleperf/cmd_report.cpp
18385c4b52c25f14475645172a2ce5dfd3fb1e9a 09-Dec-2016 Yabin Cui <yabinc@google.com> simpleperf: Improve Callgraph.

1. Reduce columns used by callgraph by reducing spaces between
entries from 11 to 4. This helps to show more entries in the limited screen width.
2. Add [hit-in-function] line for each entry, so we know the percentage
of samples hit in the function and samples hit in the children functions.
3. Add --kallsyms option for report command.

After all, The callgraph is changed like below.
Before change:
|--99.08%-- java.lang.Thread.run
| void com.example.cyb.tappydefender.TDView.run()
| |
| | |--95.63%-- void com.example.cyb.tappydefender.TDView.draw()

After change:
|--98.85%-- java.lang.Thread.run
| void com.example.cyb.tappydefender.TDView.run()
| |--0.09%-- [hit in function]
| |
| |--95.54%-- void com.example.cyb.tappydefender.TDView.draw()

Bug: http://b/33356538
Test: run simpleperf_unit_test.
Test: run simpleperf report -g manually.
Change-Id: Ifc1846d4ee7469cadbcc727cae6bf59552d919d5
/system/extras/simpleperf/cmd_report.cpp
010b232198b1eab7c9fcba099a5565b03faba695 05-Nov-2016 Yabin Cui <yabinc@google.com> simpleperf: make file feature section used in more report commands.

Bug: http://b/32340274
Test: run simpleperf_unit_test.
Change-Id: I0bed466c145fdbb2988308f56a031c06bad16352
/system/extras/simpleperf/cmd_report.cpp
c5b4a3106a0845d1bd8fd2c1b1c724eeb719ec62 24-Oct-2016 Yabin Cui <yabinc@google.com> simpleperf: dump file feature section.

For `record --dump-symbols` option, change from dumping
DsoRecord and SymbolRecord to dumping file feature section.
It is to avoid reading symbols from elf files during recording,
which takes a lot of time. And we don't want to mix optional
data (the symbol tables) with necessary data (the profiling records).

Bug: http://b/32340274
Test: run simpleperf_unit_test.
Test: run simpleperf runtest.py.

Change-Id: I0a387de243afac93486fc885f223a58060ec07f4
/system/extras/simpleperf/cmd_report.cpp
c0565bb21e2997d7a01dda40ea2b16e067e7e28c 30-Sep-2016 Yabin Cui <yabinc@google.com> Simpleperf: add --max-stack and --percent-limit options for report cmd.

Bug: http://b/24905115
Test: run simpleperf-unit-test.

Change-Id: I177f618f923f90069c0380063f0c3f93427dedd7
/system/extras/simpleperf/cmd_report.cpp
003b245939bae5e86ed53b3c6b333637dbc571b4 30-Sep-2016 Yabin Cui <yabinc@google.com> Simpleperf: don't expose EventSelection.

And some tiny improvements.

Bug: http://b/30974760
Test: run simpleperf_unit_test.
Change-Id: Ie2d46c8ab9ee763d107527c9a54590f845569da4
/system/extras/simpleperf/cmd_report.cpp
a447c0d5f1d5227af30c0cbb4320ad878bd78c43 26-Aug-2016 Yabin Cui <yabinc@google.com> simpleperf: add python report interface on linux.

1. Build libsimpleperf_report.so on host, which exports functions
to access samples.
2. Add simpleperf_report_lib.py to wrap libsimpleperf_report.so.
3. Write report_sample.py to test simpleperf_report_lib.py. The
output format of report_sample.py matches the need of building
FlameGraph.

Bug: http://b/31069528
Test: run report_sample.py on perf.data.
Test: run simpleperf_unit_test.

Change-Id: I4949f8ea506f12101a9c4fb4c896957c96676853
/system/extras/simpleperf/cmd_report.cpp
825e56be3a1c5310969aaa3e10a7cd1f63455189 27-Aug-2016 Yabin Cui <yabinc@google.com> simpleperf: support hotplug events in record cmd.

1. When a cpu is down, read records from event files on that cpu,
then close those event files.
2. When a cpu is up, open event files on that cpu, and create
mapped buffer for those event files to dump records.
3. Instead of creating a mapped buffer for each event type on each
cpu, we can just create a mapped buffer for all event types on
each cpu.
4. When new event files are created, store a EventIdRecord record in
perf.data to notify record_file_reader.cpp.

Bug: http://b/29245608
Test: run simpleperf record cmd and make cpu offline and online.
Test: run simpleperf_unit_test.

Change-Id: Ib97a24b6292fa143e9b35cb105bdddf1e826d60a
/system/extras/simpleperf/cmd_report.cpp
861f655538b17ed37cf5d9bcadc71f22d3a0a6e9 08-Aug-2016 Yabin Cui <yabinc@google.com> simpleperf: fix --pids option.

--pids option was recognized as --tids because of logic
error. this patch fixes that and adds corresponding test.

Bug: http://b/30736228
Change-Id: I0515fc7e03f29f821f7b0aa32c608cf250e87662
Test: run simpleperf_unit_test.
/system/extras/simpleperf/cmd_report.cpp
190a848fb2d4f502372b2528c55ca1f520e90609 04-Aug-2016 Yabin Cui <yabinc@google.com> simpleperf: keep binary in class Record.

It removes memory copy and heap allocation/deallocation in
Record::BinaryFormat(), and is a preparation to remove memory
copy and heap allocation in Record constructor.

Bug: 30649868
Test: run simpleperf_unit_test.
Change-Id: Ic8dd80e43f7b547a9beaf896d726b56aeb5d55a2
/system/extras/simpleperf/cmd_report.cpp
71f3fbc91b475fd912a068eab05e040e9416c17b 15-Jul-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "simpleperf: show dso[+vaddr_in_file] for unknown symbols."
15475e6ff1bc0273f666ef1bd6c2f7a50c4b948c 14-Jul-2016 Yabin Cui <yabinc@google.com> simpleperf: show dso[+vaddr_in_file] for unknown symbols.

It gives more information than just unknown symbols.
Add --no-show-ip option to disable this additional detail.

Bug: 29772268
Change-Id: Ie8067f95b5fdc65806044e229ee12095367d115a
Test: run simpleperf_unit_test.
/system/extras/simpleperf/cmd_report.cpp
5e6ff6e73310de386b2e374729bd9358aaeb4054 14-Jul-2016 Yabin Cui <yabinc@google.com> simpleperf: change default callgraph to use caller mode.

Callgraph in caller mode shows how functions call others, i.e.,
main() -> func1() -> func2(). Instead, callgraph in callee mode shows
how functions are called by others, i.e., func2() <- func1() <- main().
It seems callgraph in caller mode is easier to understand than callee
mode. So change to default option to use caller mode.

Bug: 29574526
Change-Id: I85f104ef7c974bbf7cafd290563e762ba1e0a084
Test: manually check if the default call graph changes.
/system/extras/simpleperf/cmd_report.cpp
05ef2eab98caee49b6b27cac518856b7f5124bee 11-Jul-2016 Yabin Cui <yabinc@google.com> simpleperf: change the separator of --symbols option from comma to semicolon.

Function name of c++ can have comma, like func2(int, int). So it is not
proper to use comma to separate function names.

Bug: 29826956
Change-Id: I9da4bc178232dad53abdc5735358f3feb608fee4
Test: run simpleperf_unit_test.
/system/extras/simpleperf/cmd_report.cpp
f79fbd127178ef1bdca82926fde09cb3ec7ba584 06-Jul-2016 Yabin Cui <yabinc@google.com> simpleperf: add symbol filter for report command.

By adding --symbols option, we can report for selected functions.
It helps to filter out functions we don't care, especially when
we are using `simpleperf report --sort vaddr_in_file` to profile
inside a function.

Bug: 29826956

Change-Id: I4de9dfe1a376db097f6163aa780a079cbc33689a
/system/extras/simpleperf/cmd_report.cpp
9970a2344333f2c19d9126cfec4f833f50ff2f22 29-Jun-2016 Yabin Cui <yabinc@google.com> Simpleperf: add vaddr_in_file sort key in report command.

Currently report command can't report more details than function name.
After adding vaddr_in_file sort key, it can report the place of the
instruction being sampled. vaddr_in_file is the instruction's virtual
address in elf file, which matches output generated by objdump.

Bug: 29826956
Test: run simpleperf_unit_test.
Change-Id: Ifad4dfb7c60014a03c01ffbfd0b972858f1a4884
/system/extras/simpleperf/cmd_report.cpp
c10a9dce1f1faa292317c815205d821fd1f859be 15-Jun-2016 Yabin Cui <yabinc@google.com> simpleperf: add type modifier when reporting events.

Before the change:
$simpleperf record -e cpu-cycles:u sleep 1
$simpleperf report
...
Event: cpu-cycles (type 0, config 0)
...

After the change:
$simpleperf report
...
Event: cpu-cycles:u (type 0, config 0)
...

Change-Id: I296c5476e03250e928ed0f579483d6866576d417
/system/extras/simpleperf/cmd_report.cpp
4f41df6f68efc3b9b534014a8cfb6ee8ac4d5c91 02-Jun-2016 Yabin Cui <yabinc@google.com> simpleperf: dump tracing data when needed.

When monitoring tracepoint events, dump tracing data to perf.data
can enable reporting on a different machine.

Bug: 27403614
Change-Id: Ie1af624717a245cacbeb44b4c1bcd499fc9ad8db
/system/extras/simpleperf/cmd_report.cpp
767dd17947f1ae9dd3d02f738d442a23ed76f2f6 03-Jun-2016 Yabin Cui <yabinc@google.com> simpleperf: add report-sample command.

1. Add report-sample command to report each sample with symbol information.
2. Add --dump-symbols option to record command to collect dso and symbol
information in perf.data.

Bug: 28114205

Change-Id: I37424ee6abd74a21ad41cd3b6c4249cf0625c201
/system/extras/simpleperf/cmd_report.cpp
b42129797f17f990ea5a88c6bdc7446000cc361c 25-May-2016 Yabin Cui <yabinc@google.com> simpleperf: record kernel symbols in perf.data.

To better support kernel profiling, record kernel symbols in perf.data
when necessary. An option --no-dump-kernel-symbols is added in
record command to always avoid recording kernel symbols.
The way to handle all zero /proc/modules and /proc/kallsyms is
improved. Add Better support in finding symbols for kernel modules.

Bug: 27403614
Change-Id: I470151c54f8a45ad1c101c1b94490e33d7fd7485
/system/extras/simpleperf/cmd_report.cpp
b64a86327afe2b77dab7d724d363386c674163b6 25-May-2016 Yabin Cui <yabinc@google.com> simpleperf: refactor SampleTree for reuse.

By moving most function in report command into template classes, it
allows other report commands to reuse the code.

Bug: 27403614
Change-Id: I3d35b3a34d48c5c043ba4257a52eaf0961c12bca
/system/extras/simpleperf/cmd_report.cpp
4dd14a3487c79e6d8449885a10dba20b9e34a026 25-Apr-2016 Chih-Hung Hsieh <chh@google.com> Fix google-explicit-constructor warnings.

Bug: 28341362
Change-Id: Ie9d9c33b48b179917f084e59a4e595c6eb972adf
/system/extras/simpleperf/cmd_report.cpp
2d6efe4b167da4e6b77f168b1820239ee65599e2 02-Apr-2016 Yabin Cui <yabinc@google.com> simpleperf: support reporting more than one event type.

When sampling kernel trace points, it is like to sample more than
one even type. Like `simpleperf record -e kmem:mm_page_alloc,kmem:mm_page_free`.

1. change record command to dump event_id for all records.
2. change report command and record reader to support multiple
event attrs.
3. hide record_cache inside EventSelectionSet.
4. add test to report multiple event types.

Bug: 27403614
Change-Id: Ic22a5527d68e7a843e3cf95e85381f8ad6bcb196
/system/extras/simpleperf/cmd_report.cpp
4b6720d137c15b9485318255e89ffcd3c76ab579 31-Mar-2016 Yabin Cui <yabinc@google.com> simpleperf: loosen unwinding arch check for system wide collection.

When doing system wide collection, it is possible that there are
32-bit compat processes running on 64-bit devices. It is not proper
to abort in this situation. So loosen the check to allow it. Also
add corresponding test.

Bug: 27927427

Change-Id: I5c9253eb6e474497e4f37e234e0e523e141fab20
/system/extras/simpleperf/cmd_report.cpp
257d5e69967941de7c5516a476397450063b8c3d 31-Mar-2016 Yabin Cui <yabinc@google.com> simpleperf: don't allow 64bit simpleperf unwinding 32bit processes.

Bug: 27927427
Change-Id: I87abc7f8d1f160da4366ed04db054206403bc803
/system/extras/simpleperf/cmd_report.cpp
48460892306fbc232d7623b1aa5be1aefdc1a8a7 18-Mar-2016 Yabin Cui <yabinc@google.com> Simpleperf: remove dependency on global current_arch.

When running unit tests on arm64 devices:
[OK] ReportCommandTest.dwarf_callgraph
[OK] record_cmd.dwarf_callchain_sampling.
ERROR: can't unwind data recorded on a different architecture.

It is because ReportCommandtest.dwarf_callgraph opens a perf.data
recorded on x86_64, and changes current_arch. It causes a problem when
the test record_cmd.dwarf_callchain_sampling calls libbacktrace built
on aarch64. Athough it doesn't make the test fail, we should fix this.

Change-Id: I2cd70369a769ef2199cab2302b8b824369be0907
/system/extras/simpleperf/cmd_report.cpp
b0bf4913ada98c2280d26bb842b4a271a5e2e7dc 01-Mar-2016 Than McIntosh <thanm@google.com> Fix typo in 'help report' output.

Was "--pid", should be "--pids".

Change-Id: Icb49a3d7568bd8f339bf0e4e1065fe2367514588
/system/extras/simpleperf/cmd_report.cpp
ff7465c896ab90c162cbcf2b141c4cdd79bf437f 25-Feb-2016 Yabin Cui <yabinc@google.com> simpleperf: fix mac build.

I forgot that mac doesn't support whole static library. Change to static library
to avoid hiting the same problem in the future.

Bug: 26962895
Change-Id: Ia8e26c2e1cf7621391e00e100b22b7ed451dfa32
/system/extras/simpleperf/cmd_report.cpp
b1a885b014540a2f7798b5a35ea0f0ec150d93ee 15-Feb-2016 Yabin Cui <yabinc@google.com> simpleperf: report symbols of native libraries in apk file.

Changes included:
1. provide interface in read_apk.h to read build id and symbols.
2. report symbols of native libraries in apk file.
3. refactor code in read_elf.cpp and read_apk.cpp.
4. add verbose log.
5. add -o report_file_name option for report command.
6. add corresponding unit tests.

Bug: 26962895
Change-Id: I0d5398996e0c29dba4a6f5226692b758ca096bbd
/system/extras/simpleperf/cmd_report.cpp
569f64afd3db2b43003978765b833669f99477d2 06-Feb-2016 Yabin Cui <yabinc@google.com> simpleperf: port read_apk and read_apk/read_elf tests to nonlinux.

Also make following small changes:
1. Manage testdata files like libziparchive.
2. Replace StringToPid() with android::base::ParseInt().
3. Add tests in read_elf_test.

Bug: 26962895

Change-Id: I6603e9f3cea3a013e2618ea003790d102739f843
/system/extras/simpleperf/cmd_report.cpp
4a6c58dba06a907c2d687ff0983469c6abe640a7 13-Jan-2016 Yabin Cui <yabinc@google.com> Simpleperf: fix --comms option for report cmd.

Add corresponding runtest.
Adjust limitation in runtest.conf to pass tests on device.

Change-Id: Ie56dc6dc4dade3c13aaaa7022b871b5d8bfd69dc
/system/extras/simpleperf/cmd_report.cpp
66dd09e8e2407082ce93bf0784de641298131912 04-Dec-2015 Elliott Hughes <enh@google.com> Track rename from base/ to android-base/.

Change-Id: Ic15d4778c7accd1382de0b440a437aba2cf67016
/system/extras/simpleperf/cmd_report.cpp
b7f481f59126456b0e708a76f40fa88224f3531b 24-Oct-2015 Yabin Cui <yabinc@google.com> Simpleperf: Don't load whole perf.data into memory.

perf.data can be too large to be loaded into memory.
To avoid this, use fread() instead of mmap() to read perf.data,
and always use RecordCache to sort records.

Fix unit tests failure caused by previous change.

Bug: 25194400

Change-Id: If29dc0bb0ed992ba34202c2cb1a204a1d9123b7a
/system/extras/simpleperf/cmd_report.cpp
3c8c21345478816dd0c70c096090b564c91bd9d2 14-Aug-2015 Yabin Cui <yabinc@google.com> Simpleperf: support dwarf callgraph in report command.

Use libbacktrace for stack unwinding.

Bug: 22229391
Change-Id: Iab35cdb52936c65c4728e23423ded83050f1db76
/system/extras/simpleperf/cmd_report.cpp
cc2e59e2478d330c89eaceda0dcc1f05ee32fbf8 21-Aug-2015 Yabin Cui <yabinc@google.com> Simpleperf: use OneTimeFreeAllocator to allocate symbol names.

simpleperf report takes a lot of time mallocing and freeing memory.
This change reduces the time to free memory.

Before this change:
$sudo simpleperf stat simpleperf report
Performance counter statistics:

3,258,481,203 cpu-cycles # 2.290946 GHz (80%)
4,147,660,154 instructions # 0.785619 cycles per instruction (79%)

Total test time: 1.422330 seconds.

After this change:
$sudo simpleperf stat simpleperf report
Performance counter statistics:

1,699,221,386 cpu-cycles # 2.994754 GHz (79%)
2,739,945,156 instructions # 0.620166 cycles per instruction (81%)

Total test time: 0.567399 seconds.

This change also fix a bug in record_file_test.cpp.

Bug: 23387541

Change-Id: I59fc86ca54a6c09bd08eec8ada931ccff88d3102
/system/extras/simpleperf/cmd_report.cpp
c84856093e8bf4350d30fc521dc0f1c800c5270b 21-Aug-2015 Yabin Cui <yabinc@google.com> Simpleperf: refactor dso.

Having DsoEntry and DsoFactory confuses me which part code should belong to.
This change merges the two into class Dso and makes things clear.
It is also a preparation for performance optimization in Dso.

Bug: 23387541
Change-Id: I41e773406a7f1582a11a18859df252ce8ea3acfa
/system/extras/simpleperf/cmd_report.cpp
b10a8fb990f71351558ed07b84b57ad5cafe993a 19-Aug-2015 Yabin Cui <yabinc@google.com> Simpleperf: demangle symbols only when necessary.

Before this change:
$sudo simpleperf record -a sleep 1
$sudo simpleperf stat simpleperf report
Total test time: 4.088779 seconds.

After this change:
$sudo simpleperf record -a sleep 1
$sudo simpleperf stat simpleperf report
Total test time: 1.226267 seconds.

Change-Id: Ifc811f432ac69f770eeb5814e4983f6f19dbc909
/system/extras/simpleperf/cmd_report.cpp
38e573ee1958959253ba8f3af7567adb4cbeea55 06-Aug-2015 Yabin Cui <yabinc@google.com> Simpleperf: add filters to report command.

Change-Id: I0e6cec1ce638fd4c832fe398a08168138e22ee7e
/system/extras/simpleperf/cmd_report.cpp
c42867e0c65569906002e7cdc87161a972b292b7 05-Aug-2015 Yabin Cui <yabinc@google.com> Simpleperf: support caller callgraph.

Bug: 22229391
Change-Id: I95af71d50811feb4515a5c4ec7102788a00aad31
/system/extras/simpleperf/cmd_report.cpp
f8258896a364b6c996b6d6816b88849cc8d0a488 03-Aug-2015 Yabin Cui <yabinc@google.com> Simpleperf: fix the process of parsing records.

It is not correct to parse all the mmap records first, then parse
all the sample records. Instead, records should be parsed one by one.
This change also fix the bug of not writing kernel build id in
record command, which is introduced previously.

Change-Id: I7e6d3d1c74c134e4b7af97c184b6a71c3379a59a
/system/extras/simpleperf/cmd_report.cpp
73d8078e6e5ef92b2301386ce96260bd99efacbb 24-Jul-2015 Yabin Cui <yabinc@google.com> Simpleperf: use ThreadTree when getting hit files in record command.

The new method is more accurate and has lower time complexity.

Bug: 22229391
Change-Id: I8b3016798b8a0e20335adeb7ec5dda0068044142
/system/extras/simpleperf/cmd_report.cpp
60a0ea96c0fb9e807c899759256df5e20bd904bd 23-Jul-2015 Yabin Cui <yabinc@google.com> Simpleperf: separate ThreadTree from SampleTree.

It is a preparation for unwinding in record command.

Bug: 22229391
Change-Id: I2f5c6df3f7332d4c98b61c7f9f922456b5bbeaaa
/system/extras/simpleperf/cmd_report.cpp
39d3caeb60a913276a2bbaa35f6a28dc3284eb52 14-Jul-2015 Yabin Cui <yabinc@google.com> Simpleperf: support --vmlinux option in report command.

Bug: 22179177
Change-Id: I633da55c6bfcb106d69de9bda6b44bce24ffca8e
/system/extras/simpleperf/cmd_report.cpp
76769e502d8f0ebf5d2c81b00246727fb0a59925 13-Jul-2015 Yabin Cui <yabinc@google.com> Simpleperf: Support dwarf callgraph recording.

1. add OS_RELEASE and ARCH feature in perf.data. ARCH feature is used when parsing
recorded user registers.
2. support `--call-graph dwarf` option in record command.

Bug: 22229391
Change-Id: I56dbdd101338658ce6a9b59aa8be90e712e007f5
/system/extras/simpleperf/cmd_report.cpp
13dedc6a7970837fbf85e3a80933207176c9562a 11-Jul-2015 Yabin Cui <yabinc@google.com> Merge "Simpleperf: check build id in report command."
638c558339b7f1ae0ed95f64bcf7dbc5b238ed83 02-Jul-2015 Yabin Cui <yabinc@google.com> Simpleperf: check build id in report command.

1. refactor BuildId type.
2. check build id before parsing symbols in report command.

Bug: 22179177

Change-Id: Iefc797a88d4a168e109db786105120c8d6914369
/system/extras/simpleperf/cmd_report.cpp
ecb9a302b52b034610efb85bd73cb473e7c4ddb2 01-Jul-2015 Yabin Cui <yabinc@google.com> Simpleperf: support callgraph option in report command.

Bug: 19483574
Change-Id: I7c5558a71ea15650c1d3e7afa268b3fbc11543d7
/system/extras/simpleperf/cmd_report.cpp
36c662b538bd89e591b1bfcbce59fc0de3602bf6 30-Jun-2015 Yabin Cui <yabinc@google.com> Simpleperf: support --children option in report command.

1. Refactor code about managing report items.
2. support --children option. It is a preparation to support -g option.

Bug: 19483574
Change-Id: Iba4dc0895c48a9fa1937aed165d7b3a2dc8e5c71
/system/extras/simpleperf/cmd_report.cpp
d713f959ec1fe07ed993e2c9f4166b52aa98a58c 24-Jun-2015 Yabin Cui <yabinc@google.com> Simpleperf: support cmdline feature in perf.data.

Bug: 19483574
Change-Id: I92f16d6616f274f31ea54e305fe1de10049baf02
/system/extras/simpleperf/cmd_report.cpp
8a530e3bae0cc031d60e397c347e96f44487e919 24-Jun-2015 Yabin Cui <yabinc@google.com> Simpleperf: add option to report branch stack information.

Bug: 19483574
Change-Id: If98e6d3e7a171bb4f2aa7f5d4be43586a6286f56
/system/extras/simpleperf/cmd_report.cpp
41d4ba9f6f2781155a0519a784606d5382cda88f 22-Jun-2015 Yabin Cui <yabinc@google.com> Simpleperf: better support for per thread comm.

1. Move ProcessEntry to ThreadEntry, and add thread_comm in SampleEntry.
2. Add support of ForkRecord and Mmap2Record.
3. Dump ForkRecord for each thread in record command.
4. Add sort key 'tid' in report command, and change default keys.

Bug: 19483574
Change-Id: Iacc690637154aeb7b6f85373730beb50d638ce86
/system/extras/simpleperf/cmd_report.cpp
d115b2f738f2cef352877b26c2d93460ac9fea25 15-Jun-2015 Yabin Cui <yabinc@google.com> Simpleperf: support event type modifier.

Also fix a bug in event_attr dumping.

Bug: 19483574
Change-Id: I255647d1471acab3a63c3dc787ab06b3d2bee294
/system/extras/simpleperf/cmd_report.cpp
decc11c6b5f88c72d2ca72be5efe6064f2176d1c 12-Jun-2015 Yabin Cui <yabinc@google.com> Merge "Simpleperf: add option to print sample count in report command."
ec9395d2bebb43df9f99a3a785fb7aaf63fa2309 12-Jun-2015 Yabin Cui <yabinc@google.com> Merge "Simpleperf: improve records parsing."
22ec7fa2032610b6868e4fb8997bb28aee0dea84 11-Jun-2015 Yabin Cui <yabinc@google.com> Simpleperf: improve records parsing.

Sort records by time before handling.
Separate kernel space and user space sample records handling.

Bug: 19483574

Change-Id: I7722bb15678af18cbe883a2cf3fdac948bdd0c9f
/system/extras/simpleperf/cmd_report.cpp
8e27740e1a28633b3a6cd017997b4d4daa5c1a25 11-Jun-2015 Yabin Cui <yabinc@google.com> Simpleperf: add option to print sample count in report command.

Also make output items left-aligned.

Bug: 19483574
Change-Id: I1b40a68d219a3fdd0ff3bf25a67c1a355201810a
/system/extras/simpleperf/cmd_report.cpp
b378355f34b2b585eaf2be262bcd9baae9f3d36a 11-Jun-2015 Yabin Cui <yabinc@google.com> Simpleperf: improve symbol parsing.

Support c++ symbol demangling, and add option to disable it.
Add option to set symfs dir, so it can report on host.
Add label symbols, add add symbol length fixing for it.
Add two hacks about arm elf symbol parsing.

Bug: 19483574

Change-Id: I300d6c007c8634db382d0a50627b9cde1502df89
/system/extras/simpleperf/cmd_report.cpp
ec12ed9010128483993a87d68edc02d3a89d56cf 08-Jun-2015 Yabin Cui <yabinc@google.com> Simpleperf: support symbol parsing in report command.

Also fix the storage of ProcessEntry.

Bug: 19483574
Change-Id: I2182a804f6ecbd28e7aa3c1a38a6f19b86f583c9
/system/extras/simpleperf/cmd_report.cpp
589b82fd6c0bf421ca09bc60b03333ad22fd3ee7 08-Jun-2015 Yabin Cui <yabinc@google.com> Simpleperf: adjust report width based on requirement.

Bug: 19483574
Change-Id: I01fadd50090aea67cda5009c5f4c2d8d780fc616
/system/extras/simpleperf/cmd_report.cpp
2672dea3f1112b13678103023011c797ca283bac 21-May-2015 Yabin Cui <yabinc@google.com> Add simpleperf report command.

Only support report of process/file level. Symbol parsing is not included.

Bug: 19483574
Change-Id: I6d1c67000bd0e303623183912ff06fdeeb51c5e9
/system/extras/simpleperf/cmd_report.cpp