跟踪点tracepoints介绍

一 功能

用来对内核进行静态插桩,我们可以在内核函数的特定逻辑位置处,放置插桩点。这些插桩点及其回调函数会被编译到内核镜像中

二 添加tracepoints及使用

不同版本内核,有不同的方式,如:

(1)TRACE_EVNET

(2)DECLARE_TRACE

具体可以参考如下文档:

https://elixir.bootlin.com/linux/v4.17.18/source/Documentation/trace/tracepoints.rst

tracepoint-analysis.rst - Documentation/trace/tracepoint-analysis.rst - Linux source code (v4.17.18) - Bootlin

如何使用 TRACE_EVENT() 宏来创建跟踪点_u012849539的博客-CSDN博客

三 操作接口

(1) 基于Ftrace, 通过/sys/kernel/debug/tracing/events操作各个跟踪点

(2)perf_event_open

四  跟踪点为BCC/bpftrace/systemTap等提供内核的静态插桩支持

注意与kprobes动态内核插桩的区别

上一篇:统计输入[7:0]data_in中1的个数,要求优化资源的使用


下一篇:多功能挂历(电子万年历)相关资料汇总