繁体   English   中英

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

[英]Java: Network Statistics of running Java App from inside App itself

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

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

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

有没有办法从Java程序本身内部监视网络流量?

有几种方法:

  1. 您可以监视套接字。 请参考以下文章 互联网上也有许多图书馆。
  2. 您可以将运行时编织与AspectJ一起使用,以拦截具有AOP的调用并计算统计信息。

仍然要记住,并不是所有的统计信息都可以从应用程序中收集到。 网络通信委托给OS,应用程序通常不了解传输详细信息。

传输字节

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

包数

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM