OSDN Git Service

android-x86/system-extras.git
6 years agoMerge "Perfprofd: Add functions in script"
Treehugger Robot [Wed, 10 Jan 2018 00:10:04 +0000 (00:10 +0000)]
Merge "Perfprofd: Add functions in script"

6 years agoMerge "Perfprofd: Add a symbolizer based on simpleperf code"
Treehugger Robot [Tue, 9 Jan 2018 23:07:11 +0000 (23:07 +0000)]
Merge "Perfprofd: Add a symbolizer based on simpleperf code"

6 years agoPerfprofd: Add functions in script
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

6 years agoMerge "Add OWNERS files for perfprofd and simpleperf."
Treehugger Robot [Tue, 9 Jan 2018 21:03:14 +0000 (21:03 +0000)]
Merge "Add OWNERS files for perfprofd and simpleperf."

6 years agoPerfprofd: Add a symbolizer based on simpleperf code
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

6 years agoAdd OWNERS files for perfprofd and simpleperf.
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

6 years agoMerge "Perfprofd: Add symbolizer interface"
Treehugger Robot [Tue, 9 Jan 2018 02:38:49 +0000 (02:38 +0000)]
Merge "Perfprofd: Add symbolizer interface"

6 years agoMerge "simpleperf: stop recording when app exits."
Yabin Cui [Mon, 8 Jan 2018 22:07:34 +0000 (22:07 +0000)]
Merge "simpleperf: stop recording when app exits."

6 years agoMerge "simpleperf: fix test for vdso file."
Yabin Cui [Mon, 8 Jan 2018 22:07:11 +0000 (22:07 +0000)]
Merge "simpleperf: fix test for vdso file."

6 years agosimpleperf: 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

6 years agosimpleperf: stop recording when app exits.
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

6 years agoPerfprofd: Add symbolizer interface
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

6 years agoMerge "simpleperf: improve unwinding result report."
Treehugger Robot [Fri, 5 Jan 2018 23:42:35 +0000 (23:42 +0000)]
Merge "simpleperf: improve unwinding result report."

6 years agosimpleperf: 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

6 years agoMerge "Perfprofd: Fix tests"
Treehugger Robot [Thu, 4 Jan 2018 21:46:55 +0000 (21:46 +0000)]
Merge "Perfprofd: Fix tests"

6 years agoPerfprofd: 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

6 years agoMerge "Don't TEMP_FAILURE_RETRY on close."
Treehugger Robot [Thu, 4 Jan 2018 19:14:56 +0000 (19:14 +0000)]
Merge "Don't TEMP_FAILURE_RETRY on close."

6 years agoMerge "Perfprofd: Fix tests"
Treehugger Robot [Thu, 4 Jan 2018 18:56:17 +0000 (18:56 +0000)]
Merge "Perfprofd: Fix tests"

6 years agoPerfprofd: 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

6 years agoMerge "Perfprofd: Start binder service by default"
Treehugger Robot [Wed, 3 Jan 2018 01:23:11 +0000 (01:23 +0000)]
Merge "Perfprofd: Start binder service by default"

6 years agoMerge "Perfprofd: Add process-specific profiling"
Treehugger Robot [Fri, 29 Dec 2017 03:33:23 +0000 (03:33 +0000)]
Merge "Perfprofd: Add process-specific profiling"

6 years agoPerfprofd: Start binder service by default
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

6 years agoPerfprofd: Add process-specific profiling
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

6 years agoMerge "Perfprofd: Add a sample python script"
Treehugger Robot [Thu, 28 Dec 2017 23:38:40 +0000 (23:38 +0000)]
Merge "Perfprofd: Add a sample python script"

6 years agoMerge "Perfprofd: Add startProfilingProtobuf"
Treehugger Robot [Thu, 28 Dec 2017 23:38:16 +0000 (23:38 +0000)]
Merge "Perfprofd: Add startProfilingProtobuf"

6 years agoMerge "Perfprofd: Add IsProfilingEnabled to Config"
Treehugger Robot [Thu, 28 Dec 2017 23:36:00 +0000 (23:36 +0000)]
Merge "Perfprofd: Add IsProfilingEnabled to Config"

6 years agoDon't TEMP_FAILURE_RETRY on close.
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

6 years agoPerfprofd: Add a sample python script
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

6 years agoPerfprofd: Add startProfilingProtobuf
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

6 years agoMerge "Perfprofd: Move binder code to libperfprofd_binder"
Treehugger Robot [Thu, 28 Dec 2017 01:28:32 +0000 (01:28 +0000)]
Merge "Perfprofd: Move binder code to libperfprofd_binder"

6 years agoPerfprofd: Add IsProfilingEnabled to Config
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

6 years agoPerfprofd: Move binder code to libperfprofd_binder
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

6 years agoMerge changes I1572afcf,Ia6786225,Ia338f92c,I58312b59
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

6 years agoMerge changes Ic5340e95,I94f54ffe,I3bc947a2
Treehugger Robot [Sat, 23 Dec 2017 01:59:40 +0000 (01:59 +0000)]
Merge changes Ic5340e95,I94f54ffe,I3bc947a2

* changes:
  Perfprofd: Factor out profiling loop
  Perfprofd: Move Sleep to Config
  Perfprofd: Factor out configuration

6 years agoPerfprofd: Implement simpleperf interrupt
Andreas Gampe [Fri, 22 Dec 2017 21:51:52 +0000 (13:51 -0800)]
Perfprofd: Implement simpleperf interrupt

Change profiling to wait for the requested duration. This allows
profiling to be interrupted when simpleperf is already running.

When profiling should be stopped, send a SIGHUP to simpleperf, which
will make it finish sampling and clean up.

Test: m
Change-Id: I1572afcf61dd89bfaee00b036e4301e86e66e993

6 years agoPerfprofd: Implement stopProfiling
Andreas Gampe [Fri, 22 Dec 2017 18:32:16 +0000 (10:32 -0800)]
Perfprofd: Implement stopProfiling

Change sleep to a condition-variable wait-for. Add some early
exits to the profiling loop.

TODO: Refactor actual profiling to be interruptible.

Test: m
Change-Id: Ia6786225ae2efccd993c7932b97df1fd10d53d2e

6 years agoPerfprofd: Implement startProfiling
Andreas Gampe [Fri, 22 Dec 2017 02:15:37 +0000 (18:15 -0800)]
Perfprofd: Implement startProfiling

Add a startProfiling implementation that starts a dedicated thread
for the ProfilingLoop.

Test: m
Test: manual
Change-Id: Ia338f92c7fe6f6629b6743b1279377636cad0d6f

6 years agoPerfprofd: Factor out profiling loop
Andreas Gampe [Thu, 21 Dec 2017 18:43:01 +0000 (10:43 -0800)]
Perfprofd: Factor out profiling loop

Factor out profiling loop from perfprofd_main, to reuse it in the future.

Test: m
Change-Id: Ic5340e95afebd5daf8bf83eb14d32396bb4bc99e

6 years agoPerfprofd: Add binder service
Andreas Gampe [Thu, 21 Dec 2017 19:37:21 +0000 (11:37 -0800)]
Perfprofd: Add binder service

Start a binder service for perfprofd. This will require selinux policy
changes going forward.

Test: m
Change-Id: I58312b5908c67ca1203f052a01c95fba5b9c27ef

6 years agoPerfprofd: Move Sleep to Config
Andreas Gampe [Thu, 21 Dec 2017 18:26:36 +0000 (10:26 -0800)]
Perfprofd: Move Sleep to Config

Move sleep call to Config to be able to factor it out and change behavior
easier (e.g., wakeup without SIGHUP).

Test: m
Change-Id: I94f54ffefd9d2688ed3cffb4a99c4e75b58007d8

6 years agoPerfprofd: Factor out configuration
Andreas Gampe [Thu, 21 Dec 2017 18:02:23 +0000 (10:02 -0800)]
Perfprofd: Factor out configuration

Create Config struct to separate file configuration from usage.

Test: m
Change-Id: I3bc947a2982063afae8e4dc64ceb704683edead8

6 years agoMerge "simpleperf: update simpleperf prebuilts to build 4514082."
Yabin Cui [Thu, 21 Dec 2017 20:28:40 +0000 (20:28 +0000)]
Merge "simpleperf: update simpleperf prebuilts to build 4514082."

6 years agoMerge "Remove unused variables in memcpy-perf"
Treehugger Robot [Thu, 21 Dec 2017 20:06:07 +0000 (20:06 +0000)]
Merge "Remove unused variables in memcpy-perf"

6 years agosimpleperf: update simpleperf prebuilts to build 4514082.
Yabin Cui [Thu, 21 Dec 2017 18:25:01 +0000 (10:25 -0800)]
simpleperf: update simpleperf prebuilts to build 4514082.

Taken from branch aosp-master.

Bug: none
Test: run test.py.

Change-Id: I8e21e0162ac3c142052ca12866309d19df2bc66e

6 years agoRemove unused variables in memcpy-perf
Yi Kong [Thu, 21 Dec 2017 18:06:54 +0000 (10:06 -0800)]
Remove unused variables in memcpy-perf

Discovered by the upcoming compiler update.

Test: Build
Change-Id: I27fccce3e6b89485c4eb1bc31a932910dfd70b86

6 years agoMerge "simpleperf: adjust callchains generated by kernel before unwinding records."
Yabin Cui [Thu, 21 Dec 2017 04:12:22 +0000 (04:12 +0000)]
Merge "simpleperf: adjust callchains generated by kernel before unwinding records."

6 years agoMerge "simpleperf: Add needed testdata in artifacts."
Treehugger Robot [Thu, 21 Dec 2017 02:02:53 +0000 (02:02 +0000)]
Merge "simpleperf: Add needed testdata in artifacts."

6 years agosimpleperf: Add needed testdata in artifacts.
Yabin Cui [Thu, 21 Dec 2017 00:27:41 +0000 (16:27 -0800)]
simpleperf: Add needed testdata in artifacts.

This is needed to run test.py in prebuilts/simpleperf.

Bug: none
Test: none
Change-Id: I9cbaf298766054a5315562ac13a611ea4628fd73

6 years agosimpleperf: adjust callchains generated by kernel before unwinding records.
Yabin Cui [Thu, 21 Dec 2017 00:18:02 +0000 (16:18 -0800)]
simpleperf: adjust callchains generated by kernel before unwinding records.

Bug: none
Test: run simpleperf manually.
Change-Id: I97968b30c5546abc6088700c297ebd1b28bc284c

6 years agoMerge "Revert "Allow -Wformat warnings before they are all fixed.""
Treehugger Robot [Wed, 20 Dec 2017 23:08:19 +0000 (23:08 +0000)]
Merge "Revert "Allow -Wformat warnings before they are all fixed.""

6 years agoRevert "Allow -Wformat warnings before they are all fixed."
Elliott Hughes [Wed, 20 Dec 2017 21:15:26 +0000 (21:15 +0000)]
Revert "Allow -Wformat warnings before they are all fixed."

This reverts commit 9ecf36a285551efb0b092e7351554a5e48f1e995.

Change-Id: Iddb504b15abc2327da2cf9e6608b81aab5fdccff

6 years agoMerge "simpleperf: fix test.py to pass on non-rooted devices."
Yabin Cui [Tue, 19 Dec 2017 23:56:28 +0000 (23:56 +0000)]
Merge "simpleperf: fix test.py to pass on non-rooted devices."

6 years agosimpleperf: fix test.py to pass on non-rooted devices.
Yabin Cui [Tue, 19 Dec 2017 21:46:16 +0000 (13:46 -0800)]
simpleperf: fix test.py to pass on non-rooted devices.

Bug: none.
Test: run test.py.
Change-Id: I42d367fa93c2900f07bcd4cbfeef14c14b3886f9

6 years agoMerge "simpleperf: improve recording unwinding results."
Yabin Cui [Tue, 19 Dec 2017 18:25:32 +0000 (18:25 +0000)]
Merge "simpleperf: improve recording unwinding results."

6 years agosimpleperf: improve recording unwinding results.
Yabin Cui [Tue, 19 Dec 2017 01:46:36 +0000 (17:46 -0800)]
simpleperf: improve recording unwinding results.

1. Add MAP_MISSING result type.
2. Pass --log option to the simpleperf process running in app's context,
  in order to dump unwinding results when profiling android apps.

Bug: http://b/69383534
Test: run simpleperf_unit_test.
Test: run simpleperf manually.
Change-Id: I72173060a5808e5ffb7318640509cabe53395063

6 years agoMerge "simpleperf: fix mac build."
Yabin Cui [Sun, 17 Dec 2017 03:34:04 +0000 (03:34 +0000)]
Merge "simpleperf: fix mac build."

6 years agosimpleperf: fix mac build.
Yabin Cui [Sun, 17 Dec 2017 03:08:29 +0000 (19:08 -0800)]
simpleperf: fix mac build.

Bug: none
Test: build manually.
Change-Id: I078739812be624c11b37fd675427103534f5802e

6 years agoMerge "simpleperf: report unwinding failures."
Yabin Cui [Sat, 16 Dec 2017 20:40:25 +0000 (20:40 +0000)]
Merge "simpleperf: report unwinding failures."

6 years agosimpleperf: report unwinding failures.
Yabin Cui [Wed, 13 Dec 2017 19:31:53 +0000 (11:31 -0800)]
simpleperf: report unwinding failures.

1. When --log debug is used, store unwinding results in
   UnwindingResultRecords in perf.data.
2. Use unwinding_result_reporter.py to report unwinding results.

This is to help finding different unwinding failures.

Bug: http://b/69383534
Test: run simpleperf_unit_test.
Test: run unwinding_result_reporter.py manually.
Change-Id: I6d7f107e9758b1ec55ed35b49657bb41d47e2178

6 years agoMerge "simpleperf: check elf files with broken section tables."
Yabin Cui [Fri, 15 Dec 2017 22:40:18 +0000 (22:40 +0000)]
Merge "simpleperf: check elf files with broken section tables."

6 years agosimpleperf: check elf files with broken section tables.
Yabin Cui [Fri, 15 Dec 2017 19:36:51 +0000 (11:36 -0800)]
simpleperf: check elf files with broken section tables.

Some applications ship elf files with broken section tables.
This crashes simpleperf when it tries to read symbols from the
broken elf files while doing system wide profiling.
So fix it by checking existence of symbol sections before reading
symbols.

Bug: None.
Test: simpleperf_unit_test.
Change-Id: If581cd2d83df55f1cadc253222d5d8242ebddafd

6 years agoMerge "Revert "Perfprofd: Work around simpleperf temp dir expectations""
Treehugger Robot [Fri, 15 Dec 2017 03:35:00 +0000 (03:35 +0000)]
Merge "Revert "Perfprofd: Work around simpleperf temp dir expectations""

6 years agoMerge "BENCHMARK_MAIN now needs a trailing semicolon."
Treehugger Robot [Fri, 15 Dec 2017 02:55:32 +0000 (02:55 +0000)]
Merge "BENCHMARK_MAIN now needs a trailing semicolon."

6 years agoMerge "simpleperf: respect inherited SIGHUP disposition."
Treehugger Robot [Fri, 15 Dec 2017 02:38:47 +0000 (02:38 +0000)]
Merge "simpleperf: respect inherited SIGHUP disposition."

6 years agoMerge "simpleperf: update document about app profiling."
Yabin Cui [Fri, 15 Dec 2017 01:41:52 +0000 (01:41 +0000)]
Merge "simpleperf: update document about app profiling."

6 years agoMerge "inferno: show total event count."
Yabin Cui [Fri, 15 Dec 2017 01:37:20 +0000 (01:37 +0000)]
Merge "inferno: show total event count."

6 years agosimpleperf: update document about app profiling.
Yabin Cui [Thu, 14 Dec 2017 23:52:11 +0000 (15:52 -0800)]
simpleperf: update document about app profiling.

1. Remove instructions using command lines. Because I think it's easier
   to understand by focusing on script interface.
2. Remove texts that already exists in references, replace them with links.

Bug: http://b/69128787
Test: none.
Change-Id: Ia331673cf2e9fd10354d1ec5dc7857f3bb5e74da

6 years agosimpleperf: respect inherited SIGHUP disposition.
Josh Gao [Fri, 15 Dec 2017 00:10:28 +0000 (16:10 -0800)]
simpleperf: respect inherited SIGHUP disposition.

Only register a SIGHUP handler if we didn't inherit an ignored signal
disposition (e.g. from nohup).

Bug: http://b/70689692
Test: nohup simpleperf record -t 1
      killall -HUP simpleperf
Change-Id: I6e146ca6bcd18b5c9cf63cdb17fca73f187d1364

6 years agoRevert "Perfprofd: Work around simpleperf temp dir expectations"
Andreas Gampe [Thu, 14 Dec 2017 19:24:43 +0000 (11:24 -0800)]
Revert "Perfprofd: Work around simpleperf temp dir expectations"

This reverts commit ca111bc58e05119470e630ba875b8aaa9931019d.

No longer needed.

Bug: 70232908
Test: m

6 years agoinferno: show total event count.
Yabin Cui [Thu, 14 Dec 2017 01:00:07 +0000 (17:00 -0800)]
inferno: show total event count.

Bug: http://b/70636120
Test: run inferno manually.
Change-Id: I182e0f4cc40fbfdce8ddb2100c0ccb5ba8057434

6 years agoMerge "inferno: Show both event count and percentage in flamegraph."
Yabin Cui [Thu, 14 Dec 2017 22:03:30 +0000 (22:03 +0000)]
Merge "inferno: Show both event count and percentage in flamegraph."

6 years agoMerge "inferno: support --title option."
Yabin Cui [Thu, 14 Dec 2017 22:02:39 +0000 (22:02 +0000)]
Merge "inferno: support --title option."

6 years agoinferno: Show both event count and percentage in flamegraph.
Yabin Cui [Thu, 14 Dec 2017 01:47:03 +0000 (17:47 -0800)]
inferno: Show both event count and percentage in flamegraph.

Bug: http://b/70569354
Test: run inferno manually.
Change-Id: I592a58f9ee074f1162fb105fd93077c7b54db5fd

6 years agoBENCHMARK_MAIN now needs a trailing semicolon.
Elliott Hughes [Thu, 14 Dec 2017 02:18:05 +0000 (18:18 -0800)]
BENCHMARK_MAIN now needs a trailing semicolon.

Bug: N/A
Test: ran tests
Change-Id: Ie28a286fad41b75d090ed8edf95c60daf9e9aee7

6 years agoinferno: support --title option.
Yabin Cui [Thu, 14 Dec 2017 01:07:48 +0000 (17:07 -0800)]
inferno: support --title option.

Allow adding a custom title for a report html.

Bug: http://b/70636208
Test: run inferno manually.
Change-Id: Ic5f57be9d1a8f3f69d4598851dbbedbdbc17facb

6 years agoMerge "Include what we use."
Treehugger Robot [Wed, 13 Dec 2017 19:38:44 +0000 (19:38 +0000)]
Merge "Include what we use."

6 years agoMerge "simpleperf: report a clear call chain end in protobuf output."
Yabin Cui [Wed, 13 Dec 2017 00:22:14 +0000 (00:22 +0000)]
Merge "simpleperf: report a clear call chain end in protobuf output."

6 years agoInclude what we use.
Dan Albert [Wed, 13 Dec 2017 00:09:58 +0000 (16:09 -0800)]
Include what we use.

Test: mma
Bug: None
Change-Id: Ie4351fab064c4983f3166227938c3ea26e80b059
Exempt-From-Owner-Approval: trivial cleanup

6 years agoMerge "simpleperf: Use CallChainJoiner."
Treehugger Robot [Wed, 13 Dec 2017 00:04:35 +0000 (00:04 +0000)]
Merge "simpleperf: Use CallChainJoiner."

6 years agosimpleperf: report a clear call chain end in protobuf output.
Yabin Cui [Mon, 11 Dec 2017 02:46:35 +0000 (18:46 -0800)]
simpleperf: report a clear call chain end in protobuf output.

Bug: http://b/69382221
Test: run simpleperf_unit_test.
Change-Id: I37206e162f55acea047b1d2a5f6714eb00085d73

6 years agosimpleperf: Use CallChainJoiner.
Yabin Cui [Sun, 10 Dec 2017 21:09:07 +0000 (13:09 -0800)]
simpleperf: Use CallChainJoiner.

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

6 years agoMerge "simpleperf: fix two tests in test.py."
Yabin Cui [Mon, 11 Dec 2017 22:27:34 +0000 (22:27 +0000)]
Merge "simpleperf: fix two tests in test.py."

6 years agosimpleperf: fix two tests in test.py.
Yabin Cui [Sun, 10 Dec 2017 21:42:14 +0000 (13:42 -0800)]
simpleperf: fix two tests in test.py.

Bug: none.
Test: run python test.py.
Change-Id: I7c432f0244541016d5ddafb3ccd30b87b2c098c4

6 years agoMerge "simpleperf: Add CallChainJoiner."
Yabin Cui [Sat, 9 Dec 2017 18:58:55 +0000 (18:58 +0000)]
Merge "simpleperf: Add CallChainJoiner."

6 years agosimpleperf: Add CallChainJoiner.
Yabin Cui [Fri, 8 Dec 2017 21:12:34 +0000 (13:12 -0800)]
simpleperf: Add CallChainJoiner.

Add CallChainJoiner, which uses LRUCache to cache call chains in memory,
and extend a call chain if the (tid, ip, sp) tuple of its top nodes appears
in the cache.
It is added to break the 64K stack limit when recording dwarf based call graph.

Bug: http://b/69383534
Test: run simpleperf_unit_test.

Change-Id: I70f51e13c1e312170be6468ee6962e5e9a48faef

6 years agoMerge "mkf2fsuserimg.sh: support sload_f2fs"
Jaegeuk Kim [Fri, 8 Dec 2017 00:57:41 +0000 (00:57 +0000)]
Merge "mkf2fsuserimg.sh: support sload_f2fs"

6 years agomkf2fsuserimg.sh: support sload_f2fs
Jaegeuk Kim [Wed, 29 Nov 2017 03:41:30 +0000 (19:41 -0800)]
mkf2fsuserimg.sh: support sload_f2fs

Change-Id: I29619b034d3b0323ae2bda46ac4a0d0595871dec
Exempt-From-Owner-Approval: No owner listed
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
6 years agoMerge "inferno: fix zooming flamegraph."
Yabin Cui [Thu, 7 Dec 2017 22:41:35 +0000 (22:41 +0000)]
Merge "inferno: fix zooming flamegraph."

6 years agoMerge "simpleperf: fix excluding kernel callchains when --trace-offcpu is used."
Yabin Cui [Thu, 7 Dec 2017 21:36:27 +0000 (21:36 +0000)]
Merge "simpleperf: fix excluding kernel callchains when --trace-offcpu is used."

6 years agosimpleperf: fix excluding kernel callchains when --trace-offcpu is used.
Yabin Cui [Thu, 7 Dec 2017 20:01:06 +0000 (12:01 -0800)]
simpleperf: fix excluding kernel callchains when --trace-offcpu is used.

When recording with "-e cpu-cycles:u --trace-offcpu", the sched_switch
records are wrongly skipped.

Bug: None
Test: run python test.py TestExamplePureJavaTraceOffCpu
Test: run simpleperf_unit_test
Change-Id: I086e2f39b40be75146d52db68977053d7d75d8e9

6 years agoMerge "simpleperf: create tempfile in the same dir as recording file."
Yabin Cui [Thu, 7 Dec 2017 00:07:25 +0000 (00:07 +0000)]
Merge "simpleperf: create tempfile in the same dir as recording file."

6 years agoMerge "DO NOT MERGE: Merge Oreo MR1 into master"
Xin Li [Wed, 6 Dec 2017 23:18:27 +0000 (23:18 +0000)]
Merge "DO NOT MERGE: Merge Oreo MR1 into master"

6 years agosimpleperf: create tempfile in the same dir as recording file.
Yabin Cui [Wed, 6 Dec 2017 22:15:48 +0000 (14:15 -0800)]
simpleperf: create tempfile in the same dir as recording file.

perfprofd doesn't have permission to create file at /data/local/tmp.
So switch simpleperf record cmd to create temp file in the directory
storing recording file, where it should always have permission.

Bug: http://b/70232908
Test: run simpleperf_unit_test.

Change-Id: I982c1b6c1fcc6723a686fad60bac66756376e8f7

6 years agoDO NOT MERGE: Merge Oreo MR1 into master
Xin Li [Wed, 6 Dec 2017 19:52:22 +0000 (11:52 -0800)]
DO NOT MERGE: Merge Oreo MR1 into master

Exempt-From-Owner-Approval: Changes already landed internally
Change-Id: I38abbd41c4e1ba9cc98461e035c30464af6233c0

6 years agoMerge "simpleperf: allow more opened files."
Yabin Cui [Wed, 6 Dec 2017 21:38:27 +0000 (21:38 +0000)]
Merge "simpleperf: allow more opened files."

6 years agoMerge "mkf2fsuserimg.sh: add missing features"
Treehugger Robot [Wed, 6 Dec 2017 21:09:04 +0000 (21:09 +0000)]
Merge "mkf2fsuserimg.sh: add missing features"

6 years agosimpleperf: allow more opened files.
Yabin Cui [Wed, 6 Dec 2017 01:44:05 +0000 (17:44 -0800)]
simpleperf: allow more opened files.

Bug: none
Test: run simpleperf manually.
Change-Id: Ia173208753de41b225990ac5b15069d987f19392

6 years agoMerge changes I17c68573,Ic9096cf6
Andreas Gampe [Wed, 6 Dec 2017 03:34:51 +0000 (03:34 +0000)]
Merge changes I17c68573,Ic9096cf6
am: ce42c93b66

Change-Id: Ic87c6d8e9b50ab6349e62525fd2db0ac9c438dcf

6 years agoMerge "ext4_utils: copy mke2fs.conf to HOST_OUT_EXECUTABLES"
Jin Qian [Wed, 6 Dec 2017 02:57:41 +0000 (02:57 +0000)]
Merge "ext4_utils: copy mke2fs.conf to HOST_OUT_EXECUTABLES"
am: 1f567fabfd

Change-Id: Ie095b7a15da72dea9805549ad10936f8bfc309c9

6 years agoMerge changes I17c68573,Ic9096cf6
Treehugger Robot [Wed, 6 Dec 2017 00:52:07 +0000 (00:52 +0000)]
Merge changes I17c68573,Ic9096cf6

* changes:
  Perfprofd: Work around simpleperf temp dir expectations
  Perfprofd: Remove cutils dependencies