History log of /system/extras/simpleperf/record_test.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3d4aa26ae99db7576f352771d704bd9da9a55bcd 01-Nov-2017 Yabin Cui <yabinc@google.com> simpleperf: fix callchains generated by the kernel.

The kernel stores return addrs in the callchain, but we
want the addrs of call instructions along the callchain.
So adjust callchains generated by the kernel.

Also avoid using const_cast<> in record.cpp by constructing
Record classes with non const buffers.

Bug: None.
Test: `python report_html.py --add_disassembly`.
Test: run simpleperf_unit_test.

Change-Id: I8c5f369e333ec9bc96cf5b5166ac670c3e3b5c62
/system/extras/simpleperf/record_test.cpp
d3cb3b0c50211ad68459d526fcc32eb11b8f26a5 24-Jul-2017 Yabin Cui <yabinc@google.com> simpleperf: exclude kernel callchains when needed.

Exclude kernel callchains when users only monitor events in user space.
After this change, when users use `record -e cpu-cycles:u --trace-offcpu`,
the samples of the implicitly added sched:sched_switch event won't contain
any kernel callchain.

Bug: http://b/37572306
Test: run simpleperf_unit_test.
Change-Id: Iffcb61bac796e734825e68f847f24b4006b44360
/system/extras/simpleperf/record_test.cpp
2865343fd64e093961b7454c7f9b02640a1bb147 16-Nov-2016 George Burgess IV <gbiv@google.com> Fix static-analyzer memory leak warnings.

system/extras/simpleperf/record_test.cpp:77:3: warning: Potential leak
of memory pointed to by 'r2'

system/extras/simpleperf/record_test.cpp:77:3: warning: Potential leak
of memory pointed to by 'r3'

system/extras/simpleperf/record_test.cpp:77:3: warning: Potential leak
of memory pointed to by 'r4'

Bug: None.
Test: Now builds without those warnings, and
`simpleperf_unit_test -t system/extras/simpleperf/testdata` passes.
Change-Id: Ie77955367efeeba13173e2542eba02727b298f86
/system/extras/simpleperf/record_test.cpp
2597ef042881f834d1bc414930f144a405dd13ca 19-Oct-2016 Yabin Cui <yabinc@google.com> simpleperf: support building sample record manually.

And other small changes:
add time when building comm record.
move some Move*BinaryFormat to utils.h.
Handle wrong symbol whoes address can be ULLONG_MAX.

Bug: http://b/30974760
Test: simpleperf_unit_test.
Change-Id: I2956d3c4b781c580fe93a6e5b77e0469f7f4f43f
/system/extras/simpleperf/record_test.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/record_test.cpp
86d934083f5ad968bc2a6dfaa2cfc53d7bafcbc4 06-Jul-2016 Yabin Cui <yabinc@google.com> simpleperf: fix RecordCache.

RecordCache::Push(vector<..>) doesn't update last_time_, this makes
RecordCache don't pop any record before PopAll().

Bug: 29581559
Change-Id: Icea806346b7ad812e606eaf05747797b766ebd71
Test: run simpleperf_unit_test.
/system/extras/simpleperf/record_test.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/record_test.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/record_test.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/record_test.cpp
f469c3d7f4466a2a31c3e837969c43c1e3bc4c90 08-Oct-2015 Yabin Cui <yabinc@google.com> Simpleperf: do stack unwinding while recording.

Dumping user's stack consumes lots of disk space, which makes long period recording
impossible. This patch does stack unwinding before writing to perf.data, so it doesn't
need to save user's stack. Previous behavior is still supported with --post-unwind option.

A record cache is used for online record processing.

Bug: 22229391
Change-Id: Idcc6ec46924fff3fcc8c165d62f8af875b173cd4
/system/extras/simpleperf/record_test.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/record_test.cpp
9fd3cc1048a3d0338df4a48760dfd655560992a1 26-Jun-2015 Yabin Cui <yabinc@google.com> Simpleperf: support build on mac.

Bug: 19483574
Change-Id: I6c28541944bc0a4e6fc07d7ea5a8fb5f71890510
/system/extras/simpleperf/record_test.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/record_test.cpp
7d59bb49fb47fbc82ef5c77d7aebf7174fd996e1 05-May-2015 Yabin Cui <yabinc@google.com> Dump kernel/modules/thread mmap information in `simpleperf record`.

Bug: 19483574
Change-Id: Ia65cb12804a6dffa440501736a6229b2f7248958
/system/extras/simpleperf/record_test.cpp