summaryrefslogtreecommitdiff
path: root/src/com/android/loganalysis/parser/DumpsysParser.java
diff options
context:
space:
mode:
authoravellore <avellore@google.com>2015-03-11 18:01:39 -0700
committeravellore <avellore@google.com>2015-04-07 17:01:18 -0700
commitf11cbc4985b91b25d9e967cb7438fd8af80faa5c (patch)
treef04f746bdc24546e14ed63c8fcf746210c98e0cf /src/com/android/loganalysis/parser/DumpsysParser.java
parent3c61512f540ec74f0ebda2567725b445f7c873f5 (diff)
downloadloganalysis-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.java23
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));
}
}
}