记录:添加trace_event埋点并调用
1. 环境
基于如下环境添加测试:
- Android P
- kernel 4.9.118
- ftrace 功能打开
2. 添加trace_test_entry
kernel中所有支持的trace接口,都定义在如下目录:
kernel-4.9/include/trace/events
所以我们只需要参照其中实现方法,将所需要的内容添加进去即可:
#undef TRACE_SYSTEM
#define TRACE_SYSTEM my_test //确保定义为我们添加的trace,注意这里的name需要与xxx.h保持一致
#if !defined(_TRACE_MYTEST_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_MYTEST_H
#include <linux/tracepoint.h>
DECLARE_EVENT_CLASS(test_class,//这里定义一个模板类,参数相同,处理相同的trace_api可以使用
TP_PROTO(const char *name, int count),
TP_ARGS(name, count),//name、proto、args这三个参数会在tracepoint解析时使用;
TP_STRUCT__entry(//name、entry、assign、printk是traceevent解析时使用;