我目前正在使用 LTTng 来解决此类性能问题,我也想使用TRACEPOINT_EVENT_CLASS
and TRACEPOINT_EVENT_INSTANCE
。
但我不明白 2.10 版本的文档。我想知道为什么我们需要TP_ARGS
在每个事件实例中定义以及在事件类中定义它。因为我们不能修改TP_FIELDS
来改变任何字段的类型,或者由许多参数组成。
a的TP_ARGS()
部分TRACEPOINT_EVENT_INSTANCE
用于验证每个实例是否与TRACEPOINT_EVENT_CLASS
. 有关更多上下文,请参见 ust-tracepoint-event.h。
我建议您在我们的邮件列表/irc 频道上重新发布您的问题,以便我们可以对此进行实际讨论。作为 lttng-ust 和 lttng-modules 的维护者,Compudj肯定会提供更多的上下文,甚至可能愿意引入一个新的宏,允许在没有该TP_ARGS()
部分的情况下声明事件实例。