diff options
author | avellore <avellore@google.com> | 2015-03-11 18:01:39 -0700 |
---|---|---|
committer | avellore <avellore@google.com> | 2015-04-07 17:01:18 -0700 |
commit | f11cbc4985b91b25d9e967cb7438fd8af80faa5c (patch) | |
tree | f04f746bdc24546e14ed63c8fcf746210c98e0cf /src/com/android/loganalysis/parser/DumpsysParser.java | |
parent | 3c61512f540ec74f0ebda2567725b445f7c873f5 (diff) | |
download | loganalysis-f11cbc4985b91b25d9e967cb7438fd8af80faa5c.tar.gz |
Battery drain investigator
Initial version of the battery drain investigator. It parses the bugreport
for power specific sections and returns the analysis in JSON format
Change-Id: I56c1e010666892b1296272942cc5edcc5072c731
Diffstat (limited to 'src/com/android/loganalysis/parser/DumpsysParser.java')
-rw-r--r-- | src/com/android/loganalysis/parser/DumpsysParser.java | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/com/android/loganalysis/parser/DumpsysParser.java b/src/com/android/loganalysis/parser/DumpsysParser.java index e950341..d8941e0 100644 --- a/src/com/android/loganalysis/parser/DumpsysParser.java +++ b/src/com/android/loganalysis/parser/DumpsysParser.java @@ -15,8 +15,10 @@ */ package com.android.loganalysis.parser; -import com.android.loganalysis.item.DumpsysBatteryInfoItem; + +import com.android.loganalysis.item.DumpsysBatteryStatsItem; import com.android.loganalysis.item.DumpsysItem; +import com.android.loganalysis.item.DumpsysProcStatsItem; import java.util.List; @@ -24,10 +26,14 @@ import java.util.List; * A {@link IParser} to handle the output of the dumpsys section of the bugreport. */ public class DumpsysParser extends AbstractSectionParser { - private static final String BATTERY_INFO_SECTION_REGEX = "DUMP OF SERVICE batteryinfo:"; + + private static final String BATTERY_STATS_SECTION_REGEX = "^DUMP OF SERVICE batterystats:$"; + private static final String PROC_STATS_SECTION_REGEX = "^DUMP OF SERVICE procstats:"; private static final String NOOP_SECTION_REGEX = "DUMP OF SERVICE .*"; - private DumpsysBatteryInfoParser mBatteryInfoParser = new DumpsysBatteryInfoParser(); + private DumpsysBatteryStatsParser mBatteryStatsParser = new DumpsysBatteryStatsParser(); + private DumpsysProcStatsParser mProcStatsParser = new DumpsysProcStatsParser(); + private DumpsysItem mDumpsys = null; /** @@ -53,7 +59,8 @@ public class DumpsysParser extends AbstractSectionParser { * Sets up the parser by adding the section parsers. */ protected void setup() { - addSectionParser(mBatteryInfoParser, BATTERY_INFO_SECTION_REGEX); + addSectionParser(mBatteryStatsParser, BATTERY_STATS_SECTION_REGEX); + addSectionParser(mProcStatsParser, PROC_STATS_SECTION_REGEX); addSectionParser(new NoopParser(), NOOP_SECTION_REGEX); } @@ -64,10 +71,12 @@ public class DumpsysParser extends AbstractSectionParser { protected void commit() { // signal EOF super.commit(); - + if (mDumpsys == null) { + mDumpsys = new DumpsysItem(); + } if (mDumpsys != null) { - mDumpsys.setBatteryInfo( - (DumpsysBatteryInfoItem) getSection(mBatteryInfoParser)); + mDumpsys.setBatteryInfo((DumpsysBatteryStatsItem) getSection(mBatteryStatsParser)); + mDumpsys.setProcStats((DumpsysProcStatsItem) getSection(mProcStatsParser)); } } } |