Age | Commit message (Collapse) | Author |
|
Enables cross-arch unwinding since the new unwinder supports cross-arch
unwinding.
Also change tests accordingly.
Bug: http://b/73127000
Test: run simpleperf_unit_test.
Change-Id: I3ca3f7a81b40e9f7ea2b39b9fdc951f9e7a6acc7
|
|
1. In record cmd, split most code in Run() into three functions to make it easier to maintain.
2. In record cmd, use CallChainJoiner by default when -g option is used. And allow using
--no-callchain-joiner option to disable the joiner, and --callchain-joiner-min-matching-nodes
to adjust the joiner.
3. Adjust the interface of UnwindCallChain() to return sps used by the joiner.
4. Add functions in SampleRecord to use callchains returned by the joiner.
Add CallChainRecord to keep callchains returned by the joiner for debugging.
5. In dump cmd, show callchains of SampleRecord and CallChainRecord for debugging.
Bug: http://b/69383534
Test: run simpleperf_unit_test.
Test: run python test.py.
Change-Id: I951b169dfba0f7c50b6d4d741df83f02f8010626
|
|
On arm64 devices, the kernel dumps arm64 regs
even for 32-bit processes. So we need to map
from arm64 registers to arm registers.
Bug: http://b/30974693
Test: run simpleperf manually on one app.
Change-Id: Iffeac9510b418b5dabc0604c16523887d63bba49
|
|
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
|
|
* Declare explicit conversion constructors.
Bug: 28341362
Change-Id: I9d5b764fe004e291cbdd212617df6f385c31df25
Test: build with clang-tidy
|
|
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
|
|
Bug: 27927427
Change-Id: I87abc7f8d1f160da4366ed04db054206403bc803
|
|
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
|
|
Change-Id: I31554f36ee97eb0ae27bda9b77e29410776925e2
|
|
Use libbacktrace for stack unwinding.
Bug: 22229391
Change-Id: Iab35cdb52936c65c4728e23423ded83050f1db76
|
|
Change-Id: I042fa65347c38879ff9b9f1027b8ae39ec26da62
|
|
Bug: 22229391
Change-Id: I3368da136277355e05045ee1203bb9a47036e94a
|
|
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
|