如何防止在Systrace或atrace内核日志输出中修剪任务/进程名称?

时间:2015-07-03 16:38:50

标签: android linux-kernel strace systrace ftrace

如何确保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 

0 个答案:

没有答案