加载中...

ftrace(function tracer)是 Linux 内核内置的追踪框架,由 Steven Rostedt 主导开发,自 2.6.27 起进入主线,能够在运行中的系统上记录内核函数调用、中断关闭时长、调度延迟与各类静态事件。
编译内核时在每个函数入口预留桩位,运行时按需把桩替换为跳转指令实现动态插桩,未开启时几乎零开销;tracepoint 静态探针则分布在调度、内存、块设备等关键路径上。
接口以 tracefs 文件系统(通常挂载于 /sys/kernel/tracing)暴露,echo 写入即可控制;常用追踪器包括 function、function_graph(带调用层级与耗时)、irqsoff、wakeup 等。命令行工具 trace-cmd 与图形界面 KernelShark 提供更友好的操作。
ftrace 与 perf、eBPF 并列为 Linux 三大观测手段,尤其擅长内核延迟问题定位,且无需安装额外软件即可使用。

登录 后参与讨论
暂无讨论,来发表第一条评论吧