diff options
author | Ningyuan Wang <nywang@google.com> | 2016-05-02 16:45:00 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-05-02 16:45:00 +0000 |
commit | 0d491e5bf120b31534e03c5ec7c187ae4cf00fff (patch) | |
tree | a93cb44ed63664f6f02090166214cbe6146bf6f0 /service | |
parent | 12cf770141cd8223809fbb69223dafb631ca4352 (diff) | |
parent | 37e073350c5e3bdac08d4fa2a0cc9f37190d1173 (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.java | 22 |
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; } |