commit | b86e9cacbd47e7bf8d50de9fc2f2551019dd50be | [log] [tgz] |
---|---|---|
author | Primiano Tucci <primiano@google.com> | Mon Dec 03 20:20:11 2018 +0100 |
committer | Primiano Tucci <primiano@google.com> | Tue Dec 04 07:10:32 2018 +0000 |
tree | 0ceffa033daffe5823acd2d64a031f4ba0deef9a | |
parent | 676f0cca7d933f3aef00d3f1920b7934c97d25a4 [diff] |
Add data source to poll IHealth (battery counters) service This CL adds a new "power" data source to poll battery counters (AKA Coulomb counters) from the perfetto traced_probes service. Doing so requires making HWBinder transactions on the Android IHealth service. This has two drawbacks: (1) the IHealth svc and hwbinder are internal only and not part of the NDK; (2) using hwbinder requires pulling 6 .so(s), which adds 150 KB of private dirty memory due to linker relocations. Both aspects are solved as follows: 1) libperfetto_android_internal.so is loaded/unloaded dynamically to access the the hwbinder, loading recursively libhwbinder.so etc. 3) In standalone builds, libperfetto_android_internal.so will not be found and the power data source will gracefully fail. This CL depends on SELinux CL aosp/838610. Bug: 113076327 Change-Id: Ice56c79bb1c8eec051f6c5d0afec01570a76a0a4
Perfetto is an open-source project for performance instrumentation and tracing of Linux/Android/Chrome platforms and user-space apps.
See www.perfetto.dev for docs.