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
diff --git a/src/traced/probes/BUILD.gn b/src/traced/probes/BUILD.gn
index fd01252..17fe4db 100644
--- a/src/traced/probes/BUILD.gn
+++ b/src/traced/probes/BUILD.gn
@@ -39,6 +39,7 @@
"../../tracing:ipc",
"../../tracing:tracing",
"filesystem",
+ "power",
"ps",
"sys_stats",
]