【发布时间】:2020-12-31 13:22:00
【问题描述】:
我按照https://www.kernel.org/doc/Documentation/trace/tracepoints.txt 的教程在内核核心中创建了一个自定义跟踪点(即不在可加载模块中)。
但是,我没有看到perf list 或tplist(来自密件抄送工具)的输出中列出的跟踪点。
所以,我不知道如何使用跟踪点。
问题:如何使跟踪点出现在perf list/tplist 输出中?
谢谢。
【问题讨论】:
-
对于它的价值,来自 bcc 的
tplist通过列出/sys/kernel/debug/tracing/events/下可用的跟踪点来列出跟踪点,然后从它们的“格式”中读取一些信息(例如来自/sys/kernel/debug/tracing/events/tcp/tcp_probe/format,参见@987654322 @. 也许你没有提供tplist可以用来转储跟踪点信息的格式信息?(不知道怎么做,看看我猜的其他跟踪点)。我没看perf做到了。 -
@Qeole 感谢您的洞察力!你是对的 - 我认为我没有为要列出的跟踪点提供足够的信息。因此,我按照问题链接中的说明在lwn.net/Articles/379903 使用
TRACE_EVENT()而不是DECLARE_TRACE()。这解决了我的问题:我可以在perf list和tplist输出中看到跟踪点。 -
酷,很高兴我能帮上忙!您应该将此作为答案并接受它。
标签: linux linux-kernel perf bcc-bpf tracepoint