Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ceb1d25a authored by Jeffrey Huang's avatar Jeffrey Huang
Browse files

Migrate pullCpuClusterTime

Test: No Cts Test: adb shell cmd stats pull-source 10017
Change-Id: Ica1f17dc3158df0f9fbe7032542d0c60c4f404c2
parent ccfcdf00
Loading
Loading
Loading
Loading
+0 −20
Original line number Diff line number Diff line
@@ -761,21 +761,6 @@ public class StatsCompanionService extends IStatsCompanionService.Stub {
        }
    }

    private void pullKernelUidCpuClusterTime(
            int tagId, long elapsedNanos, long wallClockNanos,
            List<StatsLogEventWrapper> pulledData) {
        mCpuUidClusterTimeReader.readAbsolute((uid, cpuClusterTimesMs) -> {
            for (int i = 0; i < cpuClusterTimesMs.length; i++) {
                StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos,
                        wallClockNanos);
                e.writeInt(uid);
                e.writeInt(i);
                e.writeLong(cpuClusterTimesMs[i]);
                pulledData.add(e);
            }
        });
    }

    private void pullWifiActivityInfo(
            int tagId, long elapsedNanos, long wallClockNanos,
            List<StatsLogEventWrapper> pulledData) {
@@ -2069,11 +2054,6 @@ public class StatsCompanionService extends IStatsCompanionService.Stub {
                break;
            }

            case StatsLog.CPU_CLUSTER_TIME: {
                pullKernelUidCpuClusterTime(tagId, elapsedNanos, wallClockNanos, ret);
                break;
            }

            case StatsLog.WIFI_ACTIVITY_INFO: {
                pullWifiActivityInfo(tagId, elapsedNanos, wallClockNanos, ret);
                break;
+0 −7
Original line number Diff line number Diff line
@@ -72,13 +72,6 @@ std::map<PullerKey, PullAtomInfo> StatsPullerManager::kAllPullAtomInfo = {
        {{.atomTag = android::util::ON_DEVICE_POWER_MEASUREMENT},
         {.puller = new PowerStatsPuller()}},

        // cpu_cluster_time
        // the throttling is 3sec, handled in
        // frameworks/base/core/java/com/android/internal/os/KernelCpuProcReader
        {{.atomTag = android::util::CPU_CLUSTER_TIME},
         {.additiveFields = {3},
          .puller = new StatsCompanionServicePuller(android::util::CPU_CLUSTER_TIME)}},

        // wifi_activity_energy_info
        {{.atomTag = android::util::WIFI_ACTIVITY_INFO},
         {.puller = new StatsCompanionServicePuller(android::util::WIFI_ACTIVITY_INFO)}},
+27 −3
Original line number Diff line number Diff line
@@ -638,6 +638,8 @@ public class StatsPullAtomService extends SystemService {
            new KernelCpuUidFreqTimeReader(false);
    private KernelCpuUidActiveTimeReader mCpuUidActiveTimeReader =
            new KernelCpuUidActiveTimeReader(false);
    private KernelCpuUidClusterTimeReader mCpuUidClusterTimeReader =
            new KernelCpuUidClusterTimeReader(false);

    private void registerCpuTimePerFreq() {
        int tagId = StatsLog.CPU_TIME_PER_FREQ;
@@ -757,11 +759,33 @@ public class StatsPullAtomService extends SystemService {
    }

    private void registerCpuClusterTime() {
        // No op.
        // the throttling is 3sec, handled in
        // frameworks/base/core/java/com/android/internal/os/KernelCpuProcReader
        int tagId = StatsLog.CPU_CLUSTER_TIME;
        PullAtomMetadata metadata = PullAtomMetadata.newBuilder()
                .setAdditiveFields(new int[] {3})
                .build();
        mStatsManager.registerPullAtomCallback(
                tagId,
                metadata,
                (atomTag, data) -> pullCpuClusterTime(atomTag, data),
                Executors.newSingleThreadExecutor()
        );
    }

    private int pullCpuClusterTime() {
        return 0;
    private int pullCpuClusterTime(int atomTag, List<StatsEvent> pulledData) {
        mCpuUidClusterTimeReader.readAbsolute((uid, cpuClusterTimesMs) -> {
            for (int i = 0; i < cpuClusterTimesMs.length; i++) {
                StatsEvent e = StatsEvent.newBuilder()
                        .setAtomId(atomTag)
                        .writeInt(uid)
                        .writeInt(i)
                        .writeLong(cpuClusterTimesMs[i])
                        .build();
                pulledData.add(e);
            }
        });
        return StatsManager.PULL_SUCCESS;
    }

    private void registerWifiActivityInfo() {