如何确保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输出,其中任务/进程名称将被修剪。但是,所有计算机都会向我提供具有修剪的任务/进程名称的atrace报告。
如何确保不会修剪任务/进程名称?
背景
我使用两种方法在Android 5.1手机上提取内核日志:Systrace和atrace。我正在使用atrace,因为我的理解是Systrace只是atrace的python前端。我使用atrace的另一个原因是因为我trying to get async tracing start and stop of the tracing working。
使用Systrace时的命令:
python systrace.py -t 10 -o trace.html gfx am shed
使用atrace时的命令:
adb shell atrace -t 10 gfx am shed > trace.txt