summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jeffrey Huang <jeffreyhuang@google.com> 2020-01-13 15:59:16 -0800
committer Jeffrey Huang <jeffreyhuang@google.com> 2020-01-14 18:14:48 -0800
commita6e5a9ba585faf9376747c7419aa7c7f1569dc98 (patch)
tree3b07d4c737abb6e65532606bdb130135e7757df2
parent2f2696676a65fc231391669ce865299f2734af54 (diff)
Migrate pullKernelWakelock
Test: atest HostAtomTests#testKernelWakelock Test: atest AnomalyDetectionTests#testPulledAnomalyDetection Test: adb shell cmd stats pull-source 10004 Change-Id: Ifbcb1097c8003ecf3f21a5a4d9c4b9a63175b01d
-rw-r--r--apex/statsd/service/java/com/android/server/stats/StatsCompanionService.java22
-rw-r--r--cmds/statsd/src/external/StatsPullerManager.cpp4
-rw-r--r--services/core/java/com/android/server/stats/StatsPullAtomService.java29
3 files changed, 26 insertions, 29 deletions
diff --git a/apex/statsd/service/java/com/android/server/stats/StatsCompanionService.java b/apex/statsd/service/java/com/android/server/stats/StatsCompanionService.java
index 41347cc51d1e..89c57f7f9900 100644
--- a/apex/statsd/service/java/com/android/server/stats/StatsCompanionService.java
+++ b/apex/statsd/service/java/com/android/server/stats/StatsCompanionService.java
@@ -744,23 +744,6 @@ public class StatsCompanionService extends IStatsCompanionService.Stub {
return null;
}
- private void pullKernelWakelock(
- int tagId, long elapsedNanos, long wallClockNanos,
- List<StatsLogEventWrapper> pulledData) {
- final KernelWakelockStats wakelockStats =
- mKernelWakelockReader.readKernelWakelockStats(mTmpWakelockStats);
- for (Map.Entry<String, KernelWakelockStats.Entry> ent : wakelockStats.entrySet()) {
- String name = ent.getKey();
- KernelWakelockStats.Entry kws = ent.getValue();
- StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
- e.writeString(name);
- e.writeInt(kws.mCount);
- e.writeInt(kws.mVersion);
- e.writeLong(kws.mTotalTime);
- pulledData.add(e);
- }
- }
-
private void pullWifiActivityInfo(
int tagId, long elapsedNanos, long wallClockNanos,
List<StatsLogEventWrapper> pulledData) {
@@ -2034,11 +2017,6 @@ public class StatsCompanionService extends IStatsCompanionService.Stub {
long wallClockNanos = SystemClock.currentTimeMicro() * 1000L;
switch (tagId) {
- case StatsLog.KERNEL_WAKELOCK: {
- pullKernelWakelock(tagId, elapsedNanos, wallClockNanos, ret);
- break;
- }
-
case StatsLog.WIFI_ACTIVITY_INFO: {
pullWifiActivityInfo(tagId, elapsedNanos, wallClockNanos, ret);
break;
diff --git a/cmds/statsd/src/external/StatsPullerManager.cpp b/cmds/statsd/src/external/StatsPullerManager.cpp
index e37a54920b43..549ca67f7c53 100644
--- a/cmds/statsd/src/external/StatsPullerManager.cpp
+++ b/cmds/statsd/src/external/StatsPullerManager.cpp
@@ -60,10 +60,6 @@ const int64_t NO_ALARM_UPDATE = INT64_MAX;
std::map<PullerKey, PullAtomInfo> StatsPullerManager::kAllPullAtomInfo = {
- // kernel_wakelock
- {{.atomTag = android::util::KERNEL_WAKELOCK},
- {.puller = new StatsCompanionServicePuller(android::util::KERNEL_WAKELOCK)}},
-
// subsystem_sleep_state
{{.atomTag = android::util::SUBSYSTEM_SLEEP_STATE},
{.puller = new SubsystemSleepStatePuller()}},
diff --git a/services/core/java/com/android/server/stats/StatsPullAtomService.java b/services/core/java/com/android/server/stats/StatsPullAtomService.java
index 45dee98dd14a..cf887b30d245 100644
--- a/services/core/java/com/android/server/stats/StatsPullAtomService.java
+++ b/services/core/java/com/android/server/stats/StatsPullAtomService.java
@@ -622,12 +622,35 @@ public class StatsPullAtomService extends SystemService {
return StatsManager.PULL_SUCCESS;
}
+ private final KernelWakelockReader mKernelWakelockReader = new KernelWakelockReader();
+ private final KernelWakelockStats mTmpWakelockStats = new KernelWakelockStats();
+
private void registerKernelWakelock() {
- // No op.
+ int tagId = StatsLog.KERNEL_WAKELOCK;
+ mStatsManager.registerPullAtomCallback(
+ tagId,
+ /* PullAtomMetadata */ null,
+ (atomTag, data) -> pullKernelWakelock(atomTag, data),
+ Executors.newSingleThreadExecutor()
+ );
}
- private void pullKernelWakelock() {
- // No op.
+ private int pullKernelWakelock(int atomTag, List<StatsEvent> pulledData) {
+ final KernelWakelockStats wakelockStats =
+ mKernelWakelockReader.readKernelWakelockStats(mTmpWakelockStats);
+ for (Map.Entry<String, KernelWakelockStats.Entry> ent : wakelockStats.entrySet()) {
+ String name = ent.getKey();
+ KernelWakelockStats.Entry kws = ent.getValue();
+ StatsEvent e = StatsEvent.newBuilder()
+ .setAtomId(atomTag)
+ .writeString(name)
+ .writeInt(kws.mCount)
+ .writeInt(kws.mVersion)
+ .writeLong(kws.mTotalTime)
+ .build();
+ pulledData.add(e);
+ }
+ return StatsManager.PULL_SUCCESS;
}
private KernelCpuSpeedReader[] mKernelCpuSpeedReaders;