From 882f99a836b02a8118ad3df28799465c7ddbe2d5 Mon Sep 17 00:00:00 2001 From: Jeffrey Huang Date: Tue, 14 Jan 2020 14:33:52 -0800 Subject: [PATCH] Migrate pullSystemElapsedRealtime Test: atest ValueMetricTests Test: No cts test. Ran adb shell cmd pull-source 10014 Change-Id: I89c673cb2337405dbe1aa4e3a5756bdf9410927a --- .../server/stats/StatsCompanionService.java | 13 ----------- .../src/external/StatsPullerManager.cpp | 7 ------ .../stats/pull/StatsPullAtomService.java | 23 ++++++++++++++++--- 3 files changed, 20 insertions(+), 23 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 5e0b52a22ce96..7e0333ca1a677 100644 --- a/apex/statsd/service/java/com/android/server/stats/StatsCompanionService.java +++ b/apex/statsd/service/java/com/android/server/stats/StatsCompanionService.java @@ -714,14 +714,6 @@ public class StatsCompanionService extends IStatsCompanionService.Stub { } } - private void pullSystemElapsedRealtime( - int tagId, long elapsedNanos, long wallClockNanos, - List pulledData) { - StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos); - e.writeLong(SystemClock.elapsedRealtime()); - pulledData.add(e); - } - // read high watermark for section private long readProcStatsHighWaterMark(int section) { try { @@ -1158,11 +1150,6 @@ public class StatsCompanionService extends IStatsCompanionService.Stub { long wallClockNanos = SystemClock.currentTimeMicro() * 1000L; switch (tagId) { - case StatsLog.SYSTEM_ELAPSED_REALTIME: { - pullSystemElapsedRealtime(tagId, elapsedNanos, wallClockNanos, ret); - break; - } - case StatsLog.PROC_STATS: { pullProcessStats(ProcessStats.REPORT_ALL, tagId, elapsedNanos, wallClockNanos, ret); break; diff --git a/cmds/statsd/src/external/StatsPullerManager.cpp b/cmds/statsd/src/external/StatsPullerManager.cpp index 4ff29d6a4d29b..d04d1f53e276f 100644 --- a/cmds/statsd/src/external/StatsPullerManager.cpp +++ b/cmds/statsd/src/external/StatsPullerManager.cpp @@ -68,13 +68,6 @@ std::map StatsPullerManager::kAllPullAtomInfo = { {{.atomTag = android::util::ON_DEVICE_POWER_MEASUREMENT}, {.puller = new PowerStatsPuller()}}, - // system_elapsed_realtime - {{.atomTag = android::util::SYSTEM_ELAPSED_REALTIME}, - {.coolDownNs = NS_PER_SEC, - .puller = new StatsCompanionServicePuller(android::util::SYSTEM_ELAPSED_REALTIME), - .pullTimeoutNs = NS_PER_SEC / 2, - }}, - // remaining_battery_capacity {{.atomTag = android::util::REMAINING_BATTERY_CAPACITY}, {.puller = new ResourceHealthManagerPuller(android::util::REMAINING_BATTERY_CAPACITY)}}, diff --git a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java index 24c49fcbeb6d5..c5a957f3a9d67 100644 --- a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java +++ b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java @@ -989,12 +989,29 @@ public class StatsPullAtomService extends SystemService { return StatsManager.PULL_SUCCESS; } + private static final long NS_PER_SEC = 1000000000; + private void registerSystemElapsedRealtime() { - // No op. + int tagId = StatsLog.SYSTEM_ELAPSED_REALTIME; + PullAtomMetadata metadata = PullAtomMetadata.newBuilder() + .setCoolDownNs(NS_PER_SEC) + .setTimeoutNs(NS_PER_SEC / 2) + .build(); + mStatsManager.registerPullAtomCallback( + tagId, + metadata, + (atomTag, data) -> pullSystemElapsedRealtime(atomTag, data), + BackgroundThread.getExecutor() + ); } - private void pullSystemElapsedRealtime() { - // No op. + private int pullSystemElapsedRealtime(int atomTag, List pulledData) { + StatsEvent e = StatsEvent.newBuilder() + .setAtomId(atomTag) + .writeLong(SystemClock.elapsedRealtime()) + .build(); + pulledData.add(e); + return StatsManager.PULL_SUCCESS; } private void registerSystemUptime() {