diff options
| author | 2020-01-13 15:59:16 -0800 | |
|---|---|---|
| committer | 2020-01-14 18:14:48 -0800 | |
| commit | a6e5a9ba585faf9376747c7419aa7c7f1569dc98 (patch) | |
| tree | 3b07d4c737abb6e65532606bdb130135e7757df2 | |
| parent | 2f2696676a65fc231391669ce865299f2734af54 (diff) | |
Migrate pullKernelWakelock
Test: atest HostAtomTests#testKernelWakelock
Test: atest AnomalyDetectionTests#testPulledAnomalyDetection
Test: adb shell cmd stats pull-source 10004
Change-Id: Ifbcb1097c8003ecf3f21a5a4d9c4b9a63175b01d
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; |