lttng内核事件的描述

lttng内核事件的描述,lttng,Lttng,我刚刚开始探索使用LTTng诊断网络性能问题,它看起来是一个很好的工具。我知道我可以用lttng list-k获取事件列表,但我找不到任何关于事件含义的文档 例如,由于我对应用程序的网络性能感兴趣,因此我似乎对以下事件感兴趣: net_dev_xmit (loglevel: TRACE_EMERG (0)) (type: tracepoint) net_dev_queue (loglevel: TRACE_EMERG (0)) (type: tracepoint) netif_rec

我刚刚开始探索使用LTTng诊断网络性能问题,它看起来是一个很好的工具。我知道我可以用lttng list-k获取事件列表,但我找不到任何关于事件含义的文档

例如,由于我对应用程序的网络性能感兴趣,因此我似乎对以下事件感兴趣:

  net_dev_xmit (loglevel: TRACE_EMERG (0)) (type: tracepoint)
  net_dev_queue (loglevel: TRACE_EMERG (0)) (type: tracepoint)
  netif_receive_skb (loglevel: TRACE_EMERG (0)) (type: tracepoint)
  netif_rx (loglevel: TRACE_EMERG (0)) (type: tracepoint)
我几乎可以凭直觉知道net\u dev\u xmitnet\u dev\u queue之间的区别是什么,但是netif\u receive\u skb意味着什么

这是Ubuntu12.04LTS


如果结果证明文档只是内核源代码,那么就这样吧——但是我不想深入研究,如果这方面的参考文献在某个地方,而我错过了它

我不知道您是否仍然感兴趣,但为了完整起见,netif\u receive\u skb tracepoint位于内核的函数中。它基本上用于通知内核已接收到一个数据包,并且该数据包位于套接字缓冲区中。它类似于netif_rx(),但应仅由符合NAPI的驱动程序使用。可以看到函数记录中的跟踪点。基本上,它只是来自sk_buff结构的一些相关内容。

恐怕这里唯一的文档就是源代码。内核开发人员是那些添加跟踪点的人,他们并不完全是那种编写漂亮的文档的人(除了文档中的一些gem/)。添加有问题的跟踪点的提交消息可能会解释为什么它有用或必要(git将是您的朋友)。