语境
当前状态
对于性能分析,我的公司对纳秒级分辨率很感兴趣。到目前为止,我们一直在使用硬件时间戳,并且纳秒的支持很快就被入侵到了 C libpcap库中。
似乎现在已经在库中添加了对纳秒的支持(请参阅此处的其他 Stack Overflow 答案),并且git 存储库上的最后一个版本使以下方法可用:
pcap_open_offline_with_tstamp_precision(pathname, PCAP_TSTAMP_PRECISION_NANO, errbuf);
未来
问题是,C 已经证明自己难以维护、难以扩展,而且由于我们仅将捕获用于分析,我们觉得我们可以从使用Java中受益。在性能分析方面,能够使用适当的 IDE、Maven、构建 Web 服务等似乎比执行速度更重要。
我最初希望能够使用jNetPcap,但我不知道如何使用 libpcap 的 Java 绑定支持纳秒级分辨率。
问题
jNetPcap
有谁知道使用 jNetPcap 以纳秒精度读取 Pcap 文件的简单方法?
更新:我刚刚发现TimestampResolution
在 jNetPcap 的 Javadoc 中提到了一个枚举。我将尝试使用它并稍后更新我的答案。
注意:我还直接在jNetPcap 的支持论坛上询问了纳秒分辨率,如果我在那方面得到任何答案,我会更新我的问题......
其他解决方案
有谁知道另一种从 Java 生态系统中获利的方法,同时仍然能够以纳秒级精度读取 PCap 文件?
谢谢!:)