文档在
android/kernel/Documentation/trace/
目录下
什么是Ftrace
Ftrace is an internal tracer designed to help out developers and designers of systems to find what is going on inside the kernel. It can be used for debugging or analyzing latencies and performance issues that take place outside of user-space.
如何抓取Ftrace
配置debugfs(通常, android系统默认已配置)
Ftrace使用debugfs文件系统来控制tracing参数以及trace结果文件
1. Android内核使能debugfs(CONFIG_DEBUG_FS)
2. mount -t debugfs nodev /sys/kernel/debug
设置trace events
为了简便,我们只需使能所有的事件。
echo *:* > /sys/kernel/debug/tracing/set_event
使能trace
echo 1 > /sys/kernel/debug/tracing/tracing_on
结束trace
echo 0 > /sys/kernel/debug/tracing_on
获取trace文件
最终得到的trace以特定的格式存放在/sys/kernel/debug/tracing/trace中
adb pull /sys/kernel/debug/tracing/trace trace.txt
脚本
echo 0 > /sys/kernel/debug/tracing/tracing_on &&
echo > /sys/kernel/debug/tracing/trace &&
echo 51200 > /sys/kernel/debug/tracing/buffer_size_kb &&
echo *:* > /sys/kernel/debug/tracing/set_event &&
sleep 2 &&
echo 1 > /sys/kernel/debug/tracing/tracing_on &&
sleep 10 &&
echo 1 > /sys/kernel/debug/tracing/tracing_on &
分析Ftrace
打开chrome浏览器,在地址栏输入chrome://tracing
,在打开的页面中点击load按钮加载得到trace.txt,这样chrome浏览器以html显示trace。请参考systrace分析。
网友评论