summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorNingyuan Wang <nywang@google.com>2016-05-02 16:45:00 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-05-02 16:45:00 +0000
commit0d491e5bf120b31534e03c5ec7c187ae4cf00fff (patch)
treea93cb44ed63664f6f02090166214cbe6146bf6f0 /service
parent12cf770141cd8223809fbb69223dafb631ca4352 (diff)
parent37e073350c5e3bdac08d4fa2a0cc9f37190d1173 (diff)
Merge "Optimize logcat fetching by using logcat -t option" into nyc-dev
Diffstat (limited to 'service')
-rw-r--r--service/java/com/android/server/wifi/WifiLogger.java22
1 files changed, 9 insertions, 13 deletions
diff --git a/service/java/com/android/server/wifi/WifiLogger.java b/service/java/com/android/server/wifi/WifiLogger.java
index f46440c10..755bbf1c4 100644
--- a/service/java/com/android/server/wifi/WifiLogger.java
+++ b/service/java/com/android/server/wifi/WifiLogger.java
@@ -234,7 +234,7 @@ class WifiLogger extends BaseWifiLogger {
byte[] mDriverStateDump;
byte[] alertData;
LimitedCircularArray<String> kernelLogLines;
- LimitedCircularArray<String> logcatLines;
+ ArrayList<String> logcatLines;
void clearVerboseLogs() {
fwMemoryDump = null;
@@ -509,7 +509,7 @@ class WifiLogger extends BaseWifiLogger {
}
}
- report.logcatLines = getOutput("logcat -d", 127);
+ report.logcatLines = getLogcat(127);
report.kernelLogLines = getKernelLog(127);
if (captureFWDump) {
@@ -564,28 +564,24 @@ class WifiLogger extends BaseWifiLogger {
return result;
}
- private LimitedCircularArray<String> getOutput(String cmdLine, int maxLines) {
- LimitedCircularArray<String> lines = new LimitedCircularArray<String>(maxLines);
+ private ArrayList<String> getLogcat(int maxLines) {
+ ArrayList<String> lines = new ArrayList<String>(maxLines);
try {
- if (DBG) Log.d(TAG, "Executing '" + cmdLine + "' ...");
- Process process = Runtime.getRuntime().exec(cmdLine);
+ Process process = Runtime.getRuntime().exec(String.format("logcat -t %d", maxLines));
BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
- lines.addLast(line);
+ lines.add(line);
}
reader = new BufferedReader(
new InputStreamReader(process.getErrorStream()));
while ((line = reader.readLine()) != null) {
- lines.addLast(line);
+ lines.add(line);
}
process.waitFor();
- if (DBG) Log.d(TAG, "Lines added for '" + cmdLine + "'.");
- } catch (InterruptedException e) {
- Log.e(TAG, "Could not wait for '" + cmdLine + "': " + e);
- } catch (IOException e) {
- Log.e(TAG, "Could not open '" + cmdLine + "': " + e);
+ } catch (InterruptedException|IOException e) {
+ Log.e(TAG, "Exception while capturing logcat" + e);
}
return lines;
}