summaryrefslogtreecommitdiff
path: root/src/com/android/loganalysis/parser/CompactMemInfoParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/loganalysis/parser/CompactMemInfoParser.java')
-rw-r--r--src/com/android/loganalysis/parser/CompactMemInfoParser.java46
1 files changed, 39 insertions, 7 deletions
diff --git a/src/com/android/loganalysis/parser/CompactMemInfoParser.java b/src/com/android/loganalysis/parser/CompactMemInfoParser.java
index 788cd8b..263cdf1 100644
--- a/src/com/android/loganalysis/parser/CompactMemInfoParser.java
+++ b/src/com/android/loganalysis/parser/CompactMemInfoParser.java
@@ -37,10 +37,12 @@ import java.util.regex.Pattern;
*
*/
public class CompactMemInfoParser implements IParser {
- private static final Pattern PROC_PREFIX = Pattern.compile(
- "proc,(\\w+),([a-zA-Z_0-9\\.]+),(\\d+),(\\d+),((\\S+),)?(.*)");
- private static final Pattern LOST_RAM_PREFIX = Pattern.compile(
- "lostram,(.+)");
+ private static final Pattern PROC_PATTERN =
+ Pattern.compile("proc,(\\w+),([a-zA-Z_0-9\\.]+),(\\d+),(\\d+),((\\S+),)?(.*)");
+ private static final Pattern LOST_RAM_PATTERN = Pattern.compile("lostram,(\\d+)");
+ private static final Pattern RAM_PATTERN = Pattern.compile("ram,(\\d+),(\\d+),(\\d+)");
+ private static final Pattern ZRAM_PATTERN = Pattern.compile("zram,(\\d+),(\\d+),(\\d+)");
+ private static final Pattern TUNING_PATTERN = Pattern.compile("tuning,(\\d+),(\\d+),(\\d+).*");
/**
* Parse compact meminfo log. Output a CompactMemInfoItem which contains
@@ -50,7 +52,7 @@ public class CompactMemInfoParser implements IParser {
public CompactMemInfoItem parse(List<String> lines) {
CompactMemInfoItem item = new CompactMemInfoItem();
for (String line : lines) {
- Matcher m = PROC_PREFIX.matcher(line);
+ Matcher m = PROC_PATTERN.matcher(line);
if (m.matches()) {
String type = m.group(1);
String name = m.group(2);
@@ -69,9 +71,8 @@ public class CompactMemInfoParser implements IParser {
}
}
- m = LOST_RAM_PREFIX.matcher(line);
+ m = LOST_RAM_PATTERN.matcher(line);
if (m.matches()) {
- String name = "Lost RAM";
try {
long lostRam = Long.parseLong(m.group(1));
item.setLostRam(lostRam);
@@ -80,6 +81,37 @@ public class CompactMemInfoParser implements IParser {
// ignore exception
}
}
+
+ m = RAM_PATTERN.matcher(line);
+ if (m.matches()) {
+ try {
+ item.setFreeRam(Long.parseLong(m.group(2)));
+ continue;
+ } catch (NumberFormatException nfe) {
+ // ignore exception
+ }
+ }
+
+ m = ZRAM_PATTERN.matcher(line);
+ if (m.matches()) {
+ try {
+ item.setTotalZram(Long.parseLong(m.group(1)));
+ item.setFreeSwapZram(Long.parseLong(m.group(3)));
+ continue;
+ } catch (NumberFormatException nfe) {
+ // ignore exception
+ }
+ }
+
+ m = TUNING_PATTERN.matcher(line);
+ if (m.matches()) {
+ try {
+ item.setTuningLevel(Long.parseLong(m.group(3)));
+ continue;
+ } catch (NumberFormatException nfe) {
+ // ignore exception
+ }
+ }
}
return item;
}