OSDN Git Service
Yabin Cui [Thu, 15 Feb 2018 18:13:12 +0000 (18:13 +0000)]
Merge "simpleperf: fix cmd_debug_unwind tests."
Yabin Cui [Wed, 14 Feb 2018 23:38:31 +0000 (23:38 +0000)]
Merge "simpleperf: fix --interval option in system wide stating."
Yabin Cui [Wed, 14 Feb 2018 23:28:59 +0000 (15:28 -0800)]
simpleperf: fix cmd_debug_unwind tests.
Without flushing stdout, the tests may fail when
running `adb shell simpleperf_unit_test`.
Bug: none
Test: run `adb shell simpleperf_unit_test`.
Change-Id: I8bcf739e7672e8affc71df0a3f11264c0bd7f745
Yabin Cui [Wed, 14 Feb 2018 21:41:03 +0000 (13:41 -0800)]
simpleperf: fix --interval option in system wide stating.
Bug: none
Test: run simpleperf_unit_test.
Change-Id: Ida90ecd465e5c63f0f813cde63d70acfeb1281da
Chih-hung Hsieh [Wed, 14 Feb 2018 20:57:14 +0000 (20:57 +0000)]
Merge "Declare explicitly thumb mode."
Yabin Cui [Wed, 14 Feb 2018 18:36:49 +0000 (18:36 +0000)]
Merge "simpleperf: Use cross-arch unwinding."
Chih-Hung Hsieh [Wed, 14 Feb 2018 18:10:35 +0000 (10:10 -0800)]
Declare explicitly thumb mode.
* bandwidth.h contains thumb mode only instructions.
Test: normal build.
Change-Id: Ib40dfda63f668949370405e7ec53f5f9828200e6
Logan Chien [Wed, 14 Feb 2018 02:11:54 +0000 (02:11 +0000)]
Merge "Fix PDK build"
Yabin Cui [Tue, 6 Feb 2018 21:42:16 +0000 (13:42 -0800)]
simpleperf: Use cross-arch unwinding.
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
Logan Chien [Tue, 13 Feb 2018 10:27:17 +0000 (18:27 +0800)]
Fix PDK build
This commit disables "perfporfd" in PDK builds because "perfporfd"
depends on "libservices" (from "frameworks/base") which is not in PDK
builds as well.
Test: Build a target (described in http://b/
72961456) with
`platform.zip` built from master FSK source tree.
Bug:
72961456
Change-Id: Ia4913435642cd09a321afb9f583331ca24a8e4be
Yabin Cui [Thu, 8 Feb 2018 21:35:11 +0000 (21:35 +0000)]
Merge "simpleperf: improve debug-unwind cmd."
Yabin Cui [Wed, 7 Feb 2018 01:49:06 +0000 (17:49 -0800)]
simpleperf: improve debug-unwind cmd.
In debug-unwind cmd:
1. Add --symfs option.
2. Add meta_info section when there isn't one.
3. Add file section when there isn't one.
Rename unwinding_result_reporter.py to debug_unwind_reporter.py,
and fix a small error in it.
Bug: http://b/
72556486
Test: run simpleperf_unit_test.
Test: run debug_unwind_reporter.py manually.
Change-Id: Ibc66b7bfdc91a17f6f1c2c0e84f4769d2bcaa1e7
Treehugger Robot [Wed, 7 Feb 2018 01:24:16 +0000 (01:24 +0000)]
Merge "Simpleperf: Support record --"
Andreas Gampe [Tue, 6 Feb 2018 02:53:25 +0000 (18:53 -0800)]
Simpleperf: Support record --
Support optional "--" to be compatible with linux-perf.
Test: mmma system/extras/simpleperf
Test: simpleperf_unit_test
Change-Id: I4c2627625bb97514d86c8972ef5a0a31bf518b76
Yabin Cui [Tue, 6 Feb 2018 02:54:18 +0000 (02:54 +0000)]
Merge "simpleperf: add debug-unwind cmd."
Yabin Cui [Fri, 2 Feb 2018 22:18:40 +0000 (14:18 -0800)]
simpleperf: add debug-unwind cmd.
Currently, we use --log debug option in record cmd to debug offline unwinding.
However, it has below disadvantages:
1. It adds extra complexity in record cmd.
2. It doesn't keep reg/stack data of samples.
3. It isn't convenient to reproduce samples in problem. Because each time
recording gets different samples.
4. It isn't very suitable for performance test of unwinding, for the same
reason as item 3.
So instead, this CL adds debug-unwind cmd focusing on debugging and testing
offline unwinding. It solves problems mentioned above.
Also change unwinding_result_reporter.py to make it work with perf.data
generated by debug-unwind cmd.
Bug: http://b/
72556486
Test: run simpleperf_unit_test.
Test: run unwinding_result_reporter.py manually.
Change-Id: I11cdf1eba993f48d61ef9891ad1be54d29679fdb
Yabin Cui [Thu, 1 Feb 2018 02:12:02 +0000 (02:12 +0000)]
Merge "simpleperf: Switch to use post-unwind by default in record cmd."
Yabin Cui [Tue, 30 Jan 2018 00:02:16 +0000 (16:02 -0800)]
simpleperf: Switch to use post-unwind by default in record cmd.
When recording google.sample.tunnel app for 30s:
It took 3s to unwind samples and write unwound samples to file.
It took 0.3s to write samples containing stack/reg data to file.
The result shows recording with post unwinding consumes much
less time than unwinding samples immediately. This means we can
record with higher freq and get smaller lose rate when using
post unwinding. So make below changes:
1. Make post unwinding by default.
2. Replace --post-unwind with --no-post-unwind option.
3. Make --trace-offcpu and callchain joiner work with post unwinding.
4. Remove special operations in --log debug mode. Those will be
supported in a new command.
Bug: http://b/
72556486
Test: run simpleperf_unit_test.
Test: run python test.py.
Change-Id: I9a5a5defda9d040985e674c43db19ee68e7aa305
Yabin Cui [Wed, 31 Jan 2018 01:42:47 +0000 (01:42 +0000)]
Merge "inferno: support --one-flamegraph option."
Yabin Cui [Tue, 30 Jan 2018 23:05:15 +0000 (23:05 +0000)]
Merge "simpleperf: fix mac build."
Yabin Cui [Tue, 30 Jan 2018 23:02:39 +0000 (15:02 -0800)]
simpleperf: fix mac build.
Bug: none
Test: none
Change-Id: Ia4e6dd0e44e19379d79a08a8555ad413ba879bf2
Yabin Cui [Tue, 30 Jan 2018 19:14:45 +0000 (11:14 -0800)]
inferno: support --one-flamegraph option.
Also split options into groups.
Bug: http://b/
72495881
Test: manually.
Change-Id: Iec322fc1f1afb74ee5ee0fb19145d16926064332
Christopher Ferris [Tue, 30 Jan 2018 15:33:56 +0000 (15:33 +0000)]
Merge "Change to new libbacktrace offline functions."
Christopher Ferris [Thu, 14 Dec 2017 23:53:37 +0000 (15:53 -0800)]
Change to new libbacktrace offline functions.
Changes:
- Removes references to libunwind.
- Add enabling of global Elf cache.
- Add new ApkInspector function to get the offset from an apk by name.
- When a map name contains a '!' convert back to a name and offset.
- Initialize global elf cache in OfflineUnwinder constructor.
Bug:
65682279
Test: All unit tests pass.
Change-Id: I303b4beab8270ed2097cd17d91253c321cdc97f1
Treehugger Robot [Mon, 29 Jan 2018 22:48:35 +0000 (22:48 +0000)]
Merge changes I1bdeffc6,I3e13db97
* changes:
Perfprofd: Clean up test logging helper
Perfprofd: Backport elf symbolizer config to ConfigReader
Andreas Gampe [Fri, 19 Jan 2018 05:20:36 +0000 (21:20 -0800)]
Perfprofd: Clean up test logging helper
Clean up, in preparation for a potential move to libbase.
Test: mmma system/extras/perfprofd
Test: perfprofd_test
Change-Id: I1bdeffc6b69bd8c2513e1b2fce103bbae1c53dad
Andreas Gampe [Fri, 19 Jan 2018 05:19:06 +0000 (21:19 -0800)]
Perfprofd: Backport elf symbolizer config to ConfigReader
Add an entry to ConfigReader to initialize usage of the ELF symbolizer.
Use this to turn off on-device symbolization for live testing, as
warnings about missing DSOs will pollute the logs and make the tests
fail.
Test: mmma system/extras/perfprofd
Test: perfprofd_test
Change-Id: I3e13db9779e5d2edfb14e2fbe2b3d186ef7af0bd
Treehugger Robot [Sat, 27 Jan 2018 04:07:35 +0000 (04:07 +0000)]
Merge "Perfprofd: Add process name to sampling"
Yabin Cui [Fri, 26 Jan 2018 18:37:24 +0000 (18:37 +0000)]
Merge "inferno: show time duration for perf.data recorded with --trace-offcpu."
Yabin Cui [Wed, 24 Jan 2018 01:50:52 +0000 (17:50 -0800)]
inferno: show time duration for perf.data recorded with --trace-offcpu.
Bug: http://b/
72323886
Bug: http://b/
72330172
Test: manually.
Change-Id: I91ece3081e0a7dcbe068154b36b35a694519af8e
Yabin Cui [Wed, 24 Jan 2018 19:28:59 +0000 (19:28 +0000)]
Merge "Avoid symlink of simpleperf."
Christopher Ferris [Wed, 24 Jan 2018 02:44:21 +0000 (02:44 +0000)]
Merge "Add dependency on libdexfile for static libraries."
Yabin Cui [Tue, 23 Jan 2018 23:04:44 +0000 (15:04 -0800)]
Avoid symlink of simpleperf.
Add simpleperf/Android.bp.
Move libperfprofd_elf_read to libsimpleperf_elf_read.
Remove perfprofd/simpleperf.
Bug: http://b/
72403367
Test: build.
Change-Id: I6525b19a94ddca1b935ad5c46a07cfa474471003
Yabin Cui [Tue, 23 Jan 2018 02:00:50 +0000 (02:00 +0000)]
Merge "simpleperf: fix test record_cmd.post_unwind_option."
Yabin Cui [Mon, 22 Jan 2018 23:11:07 +0000 (15:11 -0800)]
simpleperf: fix test record_cmd.post_unwind_option.
Sometimes a sample hits a pc location with no map, and results in
empty ips vector. This makes test record_cmd.post_unwind_option fail.
Bug: none
Test: run CtsSimpleperfTestCases.
Change-Id: If9ced5ee36fc6967afd2e82a11440d7410a74ea7
Yabin Cui [Mon, 22 Jan 2018 22:17:59 +0000 (22:17 +0000)]
Merge "simpleperf: temporarily disable handling cpu hotplug in record cmd."
Treehugger Robot [Mon, 22 Jan 2018 20:53:36 +0000 (20:53 +0000)]
Merge "ext4_utils: disable ext4 64bit block support"
Yabin Cui [Mon, 22 Jan 2018 20:19:50 +0000 (12:19 -0800)]
simpleperf: temporarily disable handling cpu hotplug in record cmd.
mmap() can fail in cpu hotplug handling code, So disable it
temporarily to pass cts test.
Bug: http://b/
65528673
Test: run CtsSimpleperfTestCases.
Change-Id: I4dd4958d802310dfaf6881ad1c438b4e130205c6
Christopher Ferris [Sat, 20 Jan 2018 07:05:42 +0000 (23:05 -0800)]
Add dependency on libdexfile for static libraries.
libbacktrace requires libdexfile now, so add the dependency.
Bug:
727070049
Test: Compiles. Unit tests pass.
Change-Id: I68d1275a5b59af1f2e7e25666c79f74ea5da1c11
Andreas Gampe [Tue, 16 Jan 2018 01:49:53 +0000 (17:49 -0800)]
Perfprofd: Add process name to sampling
To distinguish samples in similarly-named threads (not being uncommon
because of unnamed Java threads or common functionality like GC,
async tasks, etc.), record the name of the process (defined to be
the comm of the process with pid == tid) in program samples.
Currently this is encoded as an index into a ProcessNames table.
Test: mmma system/extras/perfprofd
Test: perfprofd_test
Change-Id: I146f9335d9edecba6b7fcefa71a735a185ba2270
Treehugger Robot [Fri, 19 Jan 2018 01:11:23 +0000 (01:11 +0000)]
Merge "Perfprofd: Dropbox support"
Treehugger Robot [Fri, 19 Jan 2018 00:54:32 +0000 (00:54 +0000)]
Merge "Perfprofd: Remove ConfigReader from binder interface"
Andreas Gampe [Thu, 28 Dec 2017 20:02:12 +0000 (12:02 -0800)]
Perfprofd: Dropbox support
Use libservices to support sending an encoded proto to dropbox.
In the binder frontend, send the encoded proto to dropbox if
enabled in the current configuration.
Test: mmma system/extras/perfprofd
Test: collect profile, check /data/system/dropbox
Change-Id: I9830f42ff111eacc685bd13efd6008a8c9c6d6ab
Andreas Gampe [Thu, 18 Jan 2018 22:30:58 +0000 (14:30 -0800)]
Perfprofd: Remove ConfigReader from binder interface
Remove reliance on ConfigReader for defaults.
Test: mmma system/extras/perfprofd
Change-Id: If580d30044a4ff2e1206b8ad2529f7dd9889292a
Treehugger Robot [Thu, 18 Jan 2018 02:24:55 +0000 (02:24 +0000)]
Merge "Perfprofd: minimal quipper fix for PERF_RECORD_THROTTLE"
Jin Qian [Tue, 14 Nov 2017 19:39:58 +0000 (11:39 -0800)]
ext4_utils: disable ext4 64bit block support
read_ext and vold full disk encryption can't handle 64bit block
address. Disable 64bit for now since 32bit can support 16TB file
system size.
Bug:
69234171
Change-Id: I7aab007e2e55f7416490e56864af1c69a9f55c9c
Treehugger Robot [Wed, 17 Jan 2018 02:07:26 +0000 (02:07 +0000)]
Merge "Perfprofd: Fix missing symbol crash in stack script"
Andreas Gampe [Tue, 16 Jan 2018 21:31:05 +0000 (13:31 -0800)]
Perfprofd: minimal quipper fix for PERF_RECORD_THROTTLE
Add offset support for throttle/unthrottle.
Test: mmma system/extras/perfprofd
Test: perfprofd_test
Test: manual
Change-Id: If44a5253b513a2b901d6c5752ef2747034eea436
Treehugger Robot [Tue, 16 Jan 2018 18:36:42 +0000 (18:36 +0000)]
Merge "Perfprofd: Change the imported chrome-base logging"
Andreas Gampe [Tue, 16 Jan 2018 01:49:11 +0000 (17:49 -0800)]
Perfprofd: Fix missing symbol crash in stack script
It is possible we will not find a symbol for a frame in the backtrace.
Do not crash, print '???' instead.
Test: mmma system/extras/perfprofd
Test: manual
Change-Id: Ic91907c2f38adcbbd5979b7d1533df642ce763b3
Andreas Gampe [Mon, 15 Jan 2018 23:08:56 +0000 (15:08 -0800)]
Perfprofd: Change the imported chrome-base logging
Call abort instead of exit to get decent Android support.
Test: mmma system/extras/perfprofd
Change-Id: Idaa22fef770be343d7939eed6be66429584c85b0
Treehugger Robot [Mon, 15 Jan 2018 23:23:32 +0000 (23:23 +0000)]
Merge "Perfprofd: Enable some more warnings"
Andreas Gampe [Fri, 12 Jan 2018 02:57:15 +0000 (18:57 -0800)]
Perfprofd: Enable some more warnings
Test: mmma system/extras/perfprofd
Change-Id: Ic004ff1a0aad28739880c1a562af7af82e87a9ae
Treehugger Robot [Fri, 12 Jan 2018 20:49:40 +0000 (20:49 +0000)]
Merge "Perfprofd: Generalize post-collection handling"
Treehugger Robot [Fri, 12 Jan 2018 20:27:57 +0000 (20:27 +0000)]
Merge "Perfprofd: Remove perfprofdutils"
Treehugger Robot [Fri, 12 Jan 2018 19:39:22 +0000 (19:39 +0000)]
Merge "Don't invent your own boolean type (and then not use it)."
Elliott Hughes [Fri, 12 Jan 2018 16:32:00 +0000 (08:32 -0800)]
Don't invent your own boolean type (and then not use it).
Bug: N/A
Test: builds
Change-Id: If1f064bce92e5c64768fd6d9042206c7e6a3aa69
Treehugger Robot [Fri, 12 Jan 2018 04:03:25 +0000 (04:03 +0000)]
Merge "Perfprofd: Fix zero-second sleep"
Andreas Gampe [Fri, 12 Jan 2018 02:21:20 +0000 (18:21 -0800)]
Perfprofd: Fix zero-second sleep
The binder frontend uses wait_for, which will degenerate to
unlimited sleep on zero.
Test: mmma system/extras/perfprofd
Change-Id: I3c25d9b004f864ad9ce2c71cf6d49c5a68cc98b5
Andreas Gampe [Thu, 11 Jan 2018 04:02:20 +0000 (20:02 -0800)]
Perfprofd: Generalize post-collection handling
Add a handler function to process to encoded protobuf. For now, just write
it to file, as before.
Test: mmma system/extras/perfprofd
Test: perfprofd_test
Change-Id: Ife55d6f62408fd1fd2eac5af3ad4cd319b985a69
Andreas Gampe [Wed, 10 Jan 2018 19:37:20 +0000 (11:37 -0800)]
Perfprofd: Remove perfprofdutils
The indirection is unnecessary. Implement test hijacking through
custom libbase logger.
Add "[vdso]" to the recognized kernel DSOs to avoid a warning
message for the symbolizer.
Test: m
Test: perfprofd_test
Change-Id: I66c13f3b45a772f121be1e083c6194e2c962a104
Treehugger Robot [Thu, 11 Jan 2018 01:12:55 +0000 (01:12 +0000)]
Merge "Perfprofd: Move binder code into subdirectory"
Yabin Cui [Thu, 11 Jan 2018 00:54:15 +0000 (00:54 +0000)]
Merge "simpleperf: add missing report html example."
Yabin Cui [Wed, 10 Jan 2018 22:50:16 +0000 (14:50 -0800)]
simpleperf: add missing report html example.
It is referenced in README.md.
Bug: none
Test: none
Change-Id: I6e194178702f4b7611f3b94f80ab17cd60a05e20
Andreas Gampe [Wed, 10 Jan 2018 17:16:47 +0000 (09:16 -0800)]
Perfprofd: Move binder code into subdirectory
Cleaner separation of concerns.
Test: m
Change-Id: I8a2022b89bca225ee73d8779e2b7b32cc16e9113
Treehugger Robot [Wed, 10 Jan 2018 02:19:04 +0000 (02:19 +0000)]
Merge "Perfprofd: Update proto config"
Andreas Gampe [Wed, 10 Jan 2018 00:18:35 +0000 (16:18 -0800)]
Perfprofd: Update proto config
Add symbolizer flag to config protobuf. Initialize to default in
FillConfig. Clean up perf_config_proto.py
Test: m
Change-Id: I891a76c16259d039739e7084dd384a68fb15d7b1
Treehugger Robot [Wed, 10 Jan 2018 00:10:04 +0000 (00:10 +0000)]
Merge "Perfprofd: Add functions in script"
Treehugger Robot [Tue, 9 Jan 2018 23:07:11 +0000 (23:07 +0000)]
Merge "Perfprofd: Add a symbolizer based on simpleperf code"
Andreas Gampe [Tue, 9 Jan 2018 02:44:54 +0000 (18:44 -0800)]
Perfprofd: Add functions in script
Makes it easier to change functionality and printing for debug
purposes.
Test: m
Change-Id: I1a849adca9d72f748352accdc81a9ae38a7c174e
Treehugger Robot [Tue, 9 Jan 2018 21:03:14 +0000 (21:03 +0000)]
Merge "Add OWNERS files for perfprofd and simpleperf."
Andreas Gampe [Mon, 8 Jan 2018 20:39:38 +0000 (12:39 -0800)]
Perfprofd: Add a symbolizer based on simpleperf code
For the time being, compile a small library straight out of
simpleperf sources. Once simpleperf has been transitioned to
Soong, use it directly.
Test: m
Change-Id: I2aa4695fda97ce424b9e9382db4346b8b0e38d2a
Elliott Hughes [Tue, 9 Jan 2018 19:23:50 +0000 (11:23 -0800)]
Add OWNERS files for perfprofd and simpleperf.
Bug: N/A
Test: N/A
Change-Id: I04c950bcde5c2001c0dd0cc0acabbdfcc5e21e69
Treehugger Robot [Tue, 9 Jan 2018 02:38:49 +0000 (02:38 +0000)]
Merge "Perfprofd: Add symbolizer interface"
Yabin Cui [Mon, 8 Jan 2018 22:07:34 +0000 (22:07 +0000)]
Merge "simpleperf: stop recording when app exits."
Yabin Cui [Mon, 8 Jan 2018 22:07:11 +0000 (22:07 +0000)]
Merge "simpleperf: fix test for vdso file."
Yabin Cui [Mon, 8 Jan 2018 19:48:12 +0000 (11:48 -0800)]
simpleperf: fix test for vdso file.
The kernel may export vdso file with no symbols.
Bug: http://b/
69073856
Test: run simpleperf_unit_test.
Change-Id: I5c59513debe014ffd7fd772be110044eefcbb37f
Yabin Cui [Mon, 8 Jan 2018 19:13:52 +0000 (11:13 -0800)]
simpleperf: stop recording when app exits.
Bug: http://b/
71708104
Test: run test.py.
Change-Id: I06ff0cb4feb046a7e66cea4640e3cbbd71cbb86d
Andreas Gampe [Thu, 4 Jan 2018 22:22:50 +0000 (14:22 -0800)]
Perfprofd: Add symbolizer interface
Add an interface for symbolizer support, translating a path an
offset to a symbol string.
Test: perfprofd_test
Change-Id: I9510ed308330735ec1023d9bccd972441a4cced6
Treehugger Robot [Fri, 5 Jan 2018 23:42:35 +0000 (23:42 +0000)]
Merge "simpleperf: improve unwinding result report."
Yabin Cui [Fri, 5 Jan 2018 01:17:55 +0000 (17:17 -0800)]
simpleperf: improve unwinding result report.
1. Add stack range in unwinding result.
2. Add option to omit callchains fixed by callchain joiner.
Bug: http://b/
69383534
Test: manually.
Change-Id: I9672061a8972ac79c321fc5d5e63950369c63e9c
Treehugger Robot [Thu, 4 Jan 2018 21:46:55 +0000 (21:46 +0000)]
Merge "Perfprofd: Fix tests"
Andreas Gampe [Thu, 4 Jan 2018 06:28:18 +0000 (22:28 -0800)]
Perfprofd: Fix tests
Properly manage test directories. Allow running the test out of
its directory.
Test: adb shell 'cd /data/local/tmp ; ./perfprofd_test'
Change-Id: I622eec59210d581472ad406c06e564ef9d171ba3
Treehugger Robot [Thu, 4 Jan 2018 19:14:56 +0000 (19:14 +0000)]
Merge "Don't TEMP_FAILURE_RETRY on close."
Treehugger Robot [Thu, 4 Jan 2018 18:56:17 +0000 (18:56 +0000)]
Merge "Perfprofd: Fix tests"
Andreas Gampe [Wed, 3 Jan 2018 20:39:53 +0000 (12:39 -0800)]
Perfprofd: Fix tests
Follow-up to previous logging changes.
Test: development/testrunner/runtest.py --path=system/extras/perfprofd/tests
Change-Id: I5444edfdbc643fca679bb5017142f8b9e605169a
Treehugger Robot [Wed, 3 Jan 2018 01:23:11 +0000 (01:23 +0000)]
Merge "Perfprofd: Start binder service by default"
Treehugger Robot [Fri, 29 Dec 2017 03:33:23 +0000 (03:33 +0000)]
Merge "Perfprofd: Add process-specific profiling"
Andreas Gampe [Fri, 29 Dec 2017 02:02:43 +0000 (18:02 -0800)]
Perfprofd: Start binder service by default
Enable the binder service.
Test: m
Test: device boots, perfprofd is running
Change-Id: I7ee197997c11f1a9135a2e38fe7557b0088392e0
Andreas Gampe [Thu, 28 Dec 2017 03:20:45 +0000 (19:20 -0800)]
Perfprofd: Add process-specific profiling
Allow to restrict profiling to a process.
Test: m
Test: adb shell 'cmd perfprofd startProfilingProto - < /data/local/tmp/test.proto'
Change-Id: I4d56fb1b3f578130cf29fce7bcb6558e7434ab1f
Treehugger Robot [Thu, 28 Dec 2017 23:38:40 +0000 (23:38 +0000)]
Merge "Perfprofd: Add a sample python script"
Treehugger Robot [Thu, 28 Dec 2017 23:38:16 +0000 (23:38 +0000)]
Merge "Perfprofd: Add startProfilingProtobuf"
Treehugger Robot [Thu, 28 Dec 2017 23:36:00 +0000 (23:36 +0000)]
Merge "Perfprofd: Add IsProfilingEnabled to Config"
Josh Gao [Thu, 28 Dec 2017 22:13:38 +0000 (14:13 -0800)]
Don't TEMP_FAILURE_RETRY on close.
close always succeeds, even if it was interrupted and "fails" with
EINTR. Retrying will either close a nonexistent fd or stomp on another
thread's newly opened file descriptor.
Bug: http://b/
20501816
Test: treehugger
Change-Id: I706d5e8027e60b13f23f9488fdf5cf7cef7b3d3b
Andreas Gampe [Thu, 28 Dec 2017 00:52:18 +0000 (16:52 -0800)]
Perfprofd: Add a sample python script
Add a sample script parsing the proto output of perfprofd.
Test: PYTHONPATH=$PYTHONPATH:development/scripts python system/extras/perfprofd/scripts/perf_proto_stack.py
Change-Id: Ia291495632072373dd8594f9c4d80b6b9bb11ada
Andreas Gampe [Wed, 27 Dec 2017 18:57:34 +0000 (10:57 -0800)]
Perfprofd: Add startProfilingProtobuf
Add a binder interface to start profiling with a protobuf detailing
the configuration. Some light internal refactoring to reuse the
profiling driver.
Test: m
Test: adb shell 'cmd perfprofd startProfilingProto - < /data/local/tmp/test.proto'
Change-Id: I94bb220124d7200d75890bbeb7a5d153d959e02f
Treehugger Robot [Thu, 28 Dec 2017 01:28:32 +0000 (01:28 +0000)]
Merge "Perfprofd: Move binder code to libperfprofd_binder"
Andreas Gampe [Wed, 27 Dec 2017 19:23:41 +0000 (11:23 -0800)]
Perfprofd: Add IsProfilingEnabled to Config
Move part of enablement to Config. Maintain standard behavior for
the old version. The binder version always has profiling enabled,
and depends on the caller to determine the state.
Test: m
Change-Id: I6f27582132c7051299c0132a7d8f301b433c1c8e
Andreas Gampe [Wed, 27 Dec 2017 18:44:42 +0000 (10:44 -0800)]
Perfprofd: Move binder code to libperfprofd_binder
Refactor binder-related code into a static library.
Test: m
Change-Id: I2c976b1973dbc299e8c7d32a80bfa7fa062c08ed
Treehugger Robot [Sat, 23 Dec 2017 08:10:04 +0000 (08:10 +0000)]
Merge changes I1572afcf,Ia6786225,Ia338f92c,I58312b59
* changes:
Perfprofd: Implement simpleperf interrupt
Perfprofd: Implement stopProfiling
Perfprofd: Implement startProfiling
Perfprofd: Add binder service