操作ftrace的debugfs接口
ftrace的用户界面是在debugfs这个特殊的文件系统上生成的。debugfs多数情况下在标准配置中是未挂接的,因此多数情况下需要手动挂载到/sys/kernel/debug(相关追踪人员为了打字方便,多数会创建/debug目录来挂接,这里使用的是内核标准的挂接位置)。
[~]#mount-t debugfs debugfs/sys/kernel/debug
ftrace的目录为/sys/kernel/debug/tracing。在这个目录下有ftrace的相关特殊文件。这里介绍一些具有代表性的文件(见表8-4~表8-6)。
表8-4中有控制向追踪缓冲区写入的tracing_on和控制插件追踪器的tracing_enabled这两个文件。这个文件的值的组合情况如表8-7所示。这些看起来不太容易发现运行的不同之处,因此tracing_enabled在最新的内核(Linux 2.6.39以后)中成为废弃(deprecated)对象。今后将只使用tracing_on。
显示表8-4中的available_tracers,可以看出存在多个插件追踪器。ftrace中可以使用的代表性插件追踪器如表8-8所示。
下面使用这些接口尝试实际使用ftrace。