Java:从App内部运行Java App的网络统计信息

时间:2017-10-21 17:21:04

标签: java networking benchmarking

有没有办法从java程序本身内部监控网络流量(传输的字节数,数据包数)?

我想对第三方应用程序(IBM Domino DIIOP)进行基准测试。无法将自定义网络套接字等传递给库。基准测试应用程序在Windows / Linux上运行。现在我正在使用Wireshark进行监控,但这很复杂且耗时。 Wireshark对网络性能产生负面影响,因此它不是基准测试的最佳选择。

是否有适用于Windows和/或Linux的纯Java解决方案?

1 个答案:

答案 0 :(得分:0)

  

有没有办法监控java程序本身内部的网络流量?

有几种方法:

  1. 您可以监控套接字。请参阅以下article。互联网上还有许多图书馆。
  2. 您可以使用AspectJ运行时编织来拦截使用AOP的调用并计算统计信息。
  3. 仍然应该记住,并非所有统计数据都可以从应用程序中收集。网络通信被委托给操作系统,应用程序通常不知道传输详细信息。

      传输

    字节

    您可以计算应用程序读取和写入的字节数,但不能计算通过网络传输的实际字节数。

      

    包计数

    应用程序无法提供数据包计数,因为网络协议驱动程序负责形成和传送数据包。