From 8c5bfebdc84d97577af389d3a636b16f36839c7a Mon Sep 17 00:00:00 2001 From: Mat Bevilacqua Date: Fri, 23 Oct 2020 17:02:13 -0700 Subject: [PATCH] Add dumpsys to PowerStatsService Bug: 170761574 Test: atest FrameworksServicesTests:PowerStatsServiceTest Change-Id: I56dea1ec6ade394ca823699675c37792459c478d --- .../server/powerstats/PowerStatsService.java | 11 +++++++++++ .../server/powerstats/ProtoStreamUtils.java | 14 ++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/services/core/java/com/android/server/powerstats/PowerStatsService.java b/services/core/java/com/android/server/powerstats/PowerStatsService.java index c8b30ced14365..bf3919e7344f7 100644 --- a/services/core/java/com/android/server/powerstats/PowerStatsService.java +++ b/services/core/java/com/android/server/powerstats/PowerStatsService.java @@ -18,6 +18,7 @@ package com.android.server.powerstats; import android.annotation.Nullable; import android.content.Context; +import android.hardware.power.stats.ChannelInfo; import android.os.Binder; import android.os.Environment; import android.os.UserHandle; @@ -28,6 +29,8 @@ import com.android.internal.util.DumpUtils; import com.android.server.SystemService; import com.android.server.powerstats.PowerStatsHALWrapper.IPowerStatsHALWrapper; import com.android.server.powerstats.PowerStatsHALWrapper.PowerStatsHALWrapperImpl; +import com.android.server.powerstats.ProtoStreamUtils.ChannelInfoUtils; +import com.android.server.powerstats.ProtoStreamUtils.EnergyConsumerIdUtils; import java.io.File; import java.io.FileDescriptor; @@ -106,6 +109,14 @@ public class PowerStatsService extends SystemService { } else if ("meter".equals(args[1])) { mPowerStatsLogger.writeMeterDataToFile(fd); } + } else if (args.length == 0) { + pw.println("PowerStatsService dumpsys: available ChannelInfos"); + ChannelInfo[] channelInfo = mPowerStatsHALWrapper.getEnergyMeterInfo(); + ChannelInfoUtils.dumpsys(channelInfo, pw); + + pw.println("PowerStatsService dumpsys: available EnergyConsumerIds"); + int[] energyConsumerId = mPowerStatsHALWrapper.getEnergyConsumerInfo(); + EnergyConsumerIdUtils.dumpsys(energyConsumerId, pw); } } } diff --git a/services/core/java/com/android/server/powerstats/ProtoStreamUtils.java b/services/core/java/com/android/server/powerstats/ProtoStreamUtils.java index df70e22d79dd4..43afeed8b925e 100644 --- a/services/core/java/com/android/server/powerstats/ProtoStreamUtils.java +++ b/services/core/java/com/android/server/powerstats/ProtoStreamUtils.java @@ -27,6 +27,7 @@ import android.util.proto.WireTypeMismatchException; import java.io.ByteArrayInputStream; import java.io.IOException; +import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; @@ -60,6 +61,13 @@ public class ProtoStreamUtils { + ", ChannelName = " + channelInfo[i].channelName); } } + + public static void dumpsys(ChannelInfo[] channelInfo, PrintWriter pw) { + for (int i = 0; i < channelInfo.length; i++) { + pw.println("ChannelId = " + channelInfo[i].channelId + + ", ChannelName = " + channelInfo[i].channelName); + } + } } static class EnergyMeasurementUtils { @@ -172,6 +180,12 @@ public class ProtoStreamUtils { Slog.d(TAG, "EnergyConsumerId = " + energyConsumerId[i]); } } + + public static void dumpsys(int[] energyConsumerId, PrintWriter pw) { + for (int i = 0; i < energyConsumerId.length; i++) { + pw.println("EnergyConsumerId = " + energyConsumerId[i]); + } + } } static class EnergyConsumerResultUtils {