我刚刚开始探索如何使用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)我几乎可以直觉地看出,netif_recieve_skb与net_dev_xmit和net_dev_queue之间的区别是什么?
这是与Ubuntu12.04 LTS。
如果结果证明文档只是内核源代码,那么就这样吧--但我不想深入研究,如果某个地方有这样的引用,而我却错过了它。
发布于 2014-10-28 18:51:04
我不知道您是否还感兴趣,但只是为了完成,netif_recieve_skb跟踪点在内核中的涅蒂夫函数中。它主要用于通知内核一个数据包已经被接收并且在套接字缓冲区中。它类似于netif_rx(),但应该只供符合NAPI的驱动程序使用。函数记录中的跟踪点可以看到这里。基本上,这只是一些来自sk_buff结构的相关内容。
https://stackoverflow.com/questions/21173670
复制相似问题