如何确保 Systrace/atrace 的内核日志输出中的任务名称/进程名称不会被修剪或切断?我想查看任务/流程名称的全名,而不会缩短它。
以下是未修剪任务名称/进程名称的 Systrace 输出示例:
com.google.android.youtube-15500 (-----) [002] ...1 45565.756759: tracing_mark_write: B|15500|activityPause\n\
com.google.android.youtube-15500 (-----) [002] ...1 45565.764622: tracing_mark_write: E\n\
com.google.process.gapps-2028 (-----) [003] ...1 45572.446779: tracing_mark_write: B|2028|serviceStop\n\
com.google.process.gapps-2028 (-----) [003] ...1 45572.446876: tracing_mark_write: E\n\
下面是 Systrace/atrace 输出,其中任务名称/进程名称被修剪:
android.youtube-28439 (28439) [003] ...1 18976.475357: tracing_mark_write: B|28439|serviceBind
android.youtube-28439 (28439) [001] ...1 18976.475896: tracing_mark_write: E
e.process.gapps-20011 (20011) [003] ...1 18976.490724: tracing_mark_write: B|20011|serviceCreate
e.process.gapps-20011 (20011) [003] ...1 18976.490968: tracing_mark_write: E
我已经在多台计算机上使用 Systrace/atrace 进行了测试:Windows 和 Linux。除了最新更新的 Ubuntu Linux 计算机外,所有其他计算机都会提供 Systrace 输出,其中任务/进程名称会被修剪。但是,所有的计算机都会给我一个带有修剪过的任务/进程名称的跟踪报告。
如何确保任务/流程名称不会被修剪?
背景
我正在使用两种方法在 Android 5.1 手机上提取内核日志:Systrace 和 atrace。我使用 atrace 是因为我理解 Systrace 只是 atrace 的 python 前端。我使用 atrace 的另一个原因是因为我试图让异步跟踪开始和停止跟踪工作。
使用 Systrace 时的命令:
python systrace.py -t 10 -o trace.html gfx am shed
使用atrace时的命令:
adb shell atrace -t 10 gfx am shed > trace.txt