History log of /system/extras/perfprofd/perfprofdcore.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a5cbb7a0538bd63d87f11be13ce1d85bb594e20d 25-Sep-2016 Alexey Alexandrov <aalexand@google.com> Stop coalescing kernel processes to the same name, other changes.

* Do not coalesce kernel processes to the same name as knowing the
breakdown of kernel cycles by the name of kernel or user process is
useful.
* Make the perfprofd tests run well in 64-bit mode.
* Add debugging "-x PATH" flag to perfprofd which can be used to convert
the given perf data file to the encoded proto format and immediately
exit.

Test: 32-bit and 64-bit perfprofd_test on the device
Change-Id: Iec35190db995243eed253045605f8807bc0bddee
/system/extras/perfprofd/perfprofdcore.cc
e42c1f126a76b4ed4f95ef8fcdfea6866002c185 01-Jun-2016 Than McIntosh <thanm@google.com> Handle additional record types in perf.data reader.

Enhance the perf.data reader in perfprofd to handle the new kernel
symbol records that simpleperf generates. In addition, add support for
handling PERF_SAMPLE_REGS_USER and PERF_SAMPLE_STACK_USER records as
well (these wind up in perf.data files if callchain profiling is
used). Perfprofd doesn't need to look at any of the data in these
records, but it does need to be able to read past them.

Bug: 29067424
Bug: 29067428
Change-Id: I38c12f6a219a4d28afe50e0418d30cfdcd1a9222
/system/extras/perfprofd/perfprofdcore.cc
66dd09e8e2407082ce93bf0784de641298131912 04-Dec-2015 Elliott Hughes <enh@google.com> Track rename from base/ to android-base/.

Change-Id: Ic15d4778c7accd1382de0b440a437aba2cf67016
/system/extras/perfprofd/perfprofdcore.cc
fd6bb2d486084a0eeeb11767b17234cf4a23159d 23-Oct-2015 Than McIntosh <thanm@google.com> Reduce oom_score_adj to zero for perfprofd.

Up until this point perfprofd has inherited a
decreased OOM score of -1000 from init -- this
doens't make sense given that perfprofd is not
a critical system service. This fixes perfprofd to
reduce its oom_score_adj to 0.

Bug: 25216630
Change-Id: Ica8a300d8c33016bcbd3b0ecd25393828654878e
/system/extras/perfprofd/perfprofdcore.cc
8c7c7db1f1a23ab0c575cc217bed6b45f42b9ba5 03-Sep-2015 Than McIntosh <thanm@google.com> Support for additional profile annotations.

Includes "device booting", "on charger", and cpu utilization.
Prototype version of "camera active" (not yet enabled). Also in
this patch, separate out the code to read perfprofd's config
file and place into a separate source file.

Change-Id: I04d65c406fd41f26a509983f08658991e8f1d422
/system/extras/perfprofd/perfprofdcore.cc
ebb946827ffbbb7df4c41be262a627c02bd95888 10-Jun-2015 Than McIntosh <thanm@google.com> Record device screen state and system load (from /proc/loadavg).

Bug: http://b/19483574
Change-Id: Ic0306ca9d7707c7e20158014e2c0a18b929afbc4
/system/extras/perfprofd/perfprofdcore.cc
f353d8bf370eab2117e6259630f5540f12b361b0 21-May-2015 Than McIntosh <thanm@google.com> Perfprofd: various changes related to config parameters.

Details:
- turn "max unprocessed profiles" into a configurable parameter.
- use a longer default collection interval
- reread config file on very iteration through the main loop,
so as to incorporate new parameters written by the upload service

Bug: http://b/19483574
Change-Id: I1ecacbdeccf26f09ddd8387aef0f2587483eb967
/system/extras/perfprofd/perfprofdcore.cc
f4605017b29dd98232af9385e71079a3ba0297f1 07-May-2015 Dehao Chen <dehao@google.com> Add sequence number to encoded perf.data file.

Bug: 19483574
Change-Id: I49e313f295ebc4ea3f994634676aa6d5f6798a82
/system/extras/perfprofd/perfprofdcore.cc
58bade36c738ed96137cfcc8d15f0505f085b5ae 06-May-2015 Dehao Chen <dehao@google.com> Separate the destination directory to /data/misc/perfprofd.
Remove reading of aux-config.

Bug: 19483574

Change-Id: Ie99d522d37e8688febc7f324502ca68150dd235c
/system/extras/perfprofd/perfprofdcore.cc
adc45b2517a336e152aaa8ffbf19a505547f7d77 05-May-2015 Dehao Chen <dehao@google.com> Change the encoded file's mode to be readable by GMS core.

Bug: 19483574
Change-Id: Iee89138520a657df9a02bc98217c311d8c5a9262
/system/extras/perfprofd/perfprofdcore.cc
35bb6be739761482fa7e72214d2aedf2623cbb9a 30-Apr-2015 Dehao Chen <dehao@google.com> Update simpleperf path to /system/xbin/simpleperf.

Change-Id: Ib326b1669553146e028c8354bb5077176d150616
/system/extras/perfprofd/perfprofdcore.cc
bfd3af43e88249e763185005cf1db3cca4a3e6ed 29-Apr-2015 Dehao Chen <dehao@google.com> Default the config file to NULL for perfprofd, so that we will not see error in logcat when config file is not specified.

Change-Id: Ib6a442726b687f8aaec27dee30962cf3cc820918
/system/extras/perfprofd/perfprofdcore.cc
07f00fd438a0c10bc6b2487352d09eb0a648db40 17-Apr-2015 Than McIntosh <thanm@google.com> Second round of changes to 'perf' profile collection daemon.

Details:
- avoid use of system() in favor of fork/exec.
- add option to selectively disable/enable mpdecision service around perf
collection runs to improve profile quality and avoid kernel pmuevents issues.
- default to using 'simpleperf' instead of 'perf'

Change-Id: I27928d8bb647fd852ec944158ebfd8efa38c01b4
/system/extras/perfprofd/perfprofdcore.cc
7e2f4e9d384d501cf86118ebac4b8de2b86eac53 05-Mar-2015 Than McIntosh <thanm@google.com> Perf profile collection daemon.

Collects system-wide profiles via periodic invocation of
/system/bin/perf, placing the resulting data files in a destination
directory selected via config file. Behavior of the daemon, e.g how
often to profile, duration of profiling runs, etc, can also be
controlled with config file settings.

Change-Id: I7978cab62aa0c2507ecf8d70ba073e77db730120
/system/extras/perfprofd/perfprofdcore.cc