Statsd pulls on-device power measurements
Pulls power rail measurements into statslog.
Bug: 119034725
Test: cts-tradefed run cts-dev -m CtsStatsdHostTestCases -t android.cts.statsd.atom.HostAtomTests
(after enabling OPTINAL_TESTS_ENABLED)
Change-Id: If083ae50160d508a9d180f748f9515557d35d8a1
diff --git a/cmds/statsd/src/atoms.proto b/cmds/statsd/src/atoms.proto
index 5620184..21e7203 100644
--- a/cmds/statsd/src/atoms.proto
+++ b/cmds/statsd/src/atoms.proto
@@ -190,6 +190,7 @@
ProcessCpuTime process_cpu_time = 10035;
NativeProcessMemoryState native_process_memory_state = 10036;
CpuTimePerThreadFreq cpu_time_per_thread_freq = 10037;
+ OnDevicePowerMeasurement on_device_power_measurement = 10038;
}
// DO NOT USE field numbers above 100,000 in AOSP.
@@ -2262,6 +2263,27 @@
}
/**
+ * Pulls on-device power measurement information.
+ * Data defined by hardware/interfaces/power/stats/1.0/types.hal.
+ * Pulled from:
+ * frameworks/base/cmds/statsd/src/external/PowerStatsPuller.cpp
+ */
+message OnDevicePowerMeasurement {
+ // Name of the subsystem (to which the rail belongs).
+ optional string subsystem_name = 1;
+
+ // Rail name. The rail lies within the subsystem.
+ optional string rail_name = 2;
+
+ // Time (in ms since boot) at which the rail energy value was measured.
+ // This may differ slightly from the time that statsd logs this information.
+ optional uint64 measurement_timestamp_millis = 3;
+
+ // Accumulated energy used via the rail since device boot in uWs.
+ optional uint64 energy_microwatt_secs = 4;
+}
+
+/**
* Pulls Cpu time per frequency.
* Pulls the time the cpu spend on the frequency index. Frequency index
* starts from highest to lowest. The value should be monotonically