History log of /system/extras/simpleperf/cmd_dumprecord.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
df6333c5f5a34d4b7853c4671a53fcfd9e5a0b88 04-May-2017 Yabin Cui <yabinc@google.com> simpleperf: add META_INFO feature section in perf.data.

META_INFO section can be used to pass some small information
in perf.data.

Add simpleperf_version in META_INFO section for debugging.

Bug: http://b/37960318
Test: run simpleperf_unit_test.
Change-Id: If17a147bbc77b5af063fbf77e02ca81430afb8a5
/system/extras/simpleperf/cmd_dumprecord.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_dumprecord.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_dumprecord.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_dumprecord.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_dumprecord.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_dumprecord.cpp
4913c12f341bc4319d243af24fa2ee1a6618eb34 12-Jan-2016 Yabin Cui <yabinc@google.com> Simpleperf: adjust sort strategy in RecordCache.

In order to report correctly, We should keep the order of self created
records when reading perf.data. So adjust sort strategy in RecordCache
to avoid reordering it.

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

Change-Id: Ic15d4778c7accd1382de0b440a437aba2cf67016
/system/extras/simpleperf/cmd_dumprecord.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_dumprecord.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_dumprecord.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_dumprecord.cpp
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_dumprecord.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_dumprecord.cpp
6afc7e17d39ab294bdf625076777443a6b4c8e18 18-Jun-2015 Yabin Cui <yabinc@google.com> Simpleperf: add branch stack feature in perf.data.

Also add the function to remove old perf.data.

Bug: 19483574

Change-Id: I605bb637674d4674f95503a160de8c530fe87812
/system/extras/simpleperf/cmd_dumprecord.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_dumprecord.cpp
f79f07e13c56f7ca3be1435cea7f8861daf7efaa 01-Jun-2015 Yabin Cui <yabinc@google.com> Simpleperf: refactor command system.

Register a callback function to create a new command instance instead of
registering a command instance. Then we can release resources in the
command destructors, and don't need xxxCommandImpl classes any more.

Bug: 19483574
Change-Id: Ibb54892ec0655fd43909347afd72bb08bc8a716c
/system/extras/simpleperf/cmd_dumprecord.cpp
8f6225147c5b6cb2159a7f5cb0dab952ee0759df 06-May-2015 Yabin Cui <yabinc@google.com> Dump build_id feature in `simpleperf record`.

Bug: 19483574
Change-Id: Ie2acd8a157bca9ad3c01a2e4b37e139aba89670f
/system/extras/simpleperf/cmd_dumprecord.cpp
9759e1b1ce76185aa539aeea2fb1cbd8382156e7 29-Apr-2015 Yabin Cui <yabinc@google.com> Implement simpleperf record/dumprecord subcommands.

Bug: 19483574

Change-Id: Id879713a75c2d3a6289d8847b95ee0bb4a2cc8a0
/system/extras/simpleperf/cmd_dumprecord.cpp