Linux Ftrace如何成为高效问题排查工具?
- 内容介绍
- 文章标签
- 相关推荐
本文共计5120个文字,预计阅读时间需要21分钟。
原文:本文地址:https://www.ebpf.top/post/ftrace_tools+TLDR,建议收藏,需要时查阅。如果您只需要快速使用工具进行问题排查,包括但不限于函数调用栈跟踪、函数调用子函数流程、函数返回等。
改写后:文章链接:https://www.ebpf.top/post/ftrace_tools+TLDR,推荐保存以便查阅。若需快速使用工具排查问题,如函数调用栈、子函数流程、函数返回等,可直接查看。
本文地址:www.ebpf.top/post/ftrace_tools
TLDR,建议收藏,需要时查阅。
如果你只是需要快速使用工具来进行问题排查,包括但不限于函数调用栈跟踪、函数调用子函数流程、函数返回结果,那么推荐你直接使用 BCC trace 或 Brendan Gregg 封装的 perf-tools 工具即可,本文尝试从手工操作 Ftrace 跟踪工具的方式展示在底层是如何通过 tracefs 实现这些能力的。如果你对某个跟踪主题感兴趣,建议直接跳转到相关的主题查看。
快速说明:
- kprobe 为内核中提供的动态跟踪机制,
/proc/kallsym中的函数几乎都可以用于跟踪,但是内核函数可能随着版本演进而发生变化,为非稳定的跟踪机制,数量比较多。 - uprobe 为用户空间提供的动态机制;
- tracepoint 是内核提供的静态跟踪点,为稳定的跟踪点,需要研发人员代码编写,数量有限;
- usdt 为用户空间提供的静态跟踪点
Ftrace 是 Linux 官方提供的跟踪工具,在 Linux 2.6.27 版本中引入。
本文共计5120个文字,预计阅读时间需要21分钟。
原文:本文地址:https://www.ebpf.top/post/ftrace_tools+TLDR,建议收藏,需要时查阅。如果您只需要快速使用工具进行问题排查,包括但不限于函数调用栈跟踪、函数调用子函数流程、函数返回等。
改写后:文章链接:https://www.ebpf.top/post/ftrace_tools+TLDR,推荐保存以便查阅。若需快速使用工具排查问题,如函数调用栈、子函数流程、函数返回等,可直接查看。
本文地址:www.ebpf.top/post/ftrace_tools
TLDR,建议收藏,需要时查阅。
如果你只是需要快速使用工具来进行问题排查,包括但不限于函数调用栈跟踪、函数调用子函数流程、函数返回结果,那么推荐你直接使用 BCC trace 或 Brendan Gregg 封装的 perf-tools 工具即可,本文尝试从手工操作 Ftrace 跟踪工具的方式展示在底层是如何通过 tracefs 实现这些能力的。如果你对某个跟踪主题感兴趣,建议直接跳转到相关的主题查看。
快速说明:
- kprobe 为内核中提供的动态跟踪机制,
/proc/kallsym中的函数几乎都可以用于跟踪,但是内核函数可能随着版本演进而发生变化,为非稳定的跟踪机制,数量比较多。 - uprobe 为用户空间提供的动态机制;
- tracepoint 是内核提供的静态跟踪点,为稳定的跟踪点,需要研发人员代码编写,数量有限;
- usdt 为用户空间提供的静态跟踪点
Ftrace 是 Linux 官方提供的跟踪工具,在 Linux 2.6.27 版本中引入。

