我正在将 Perf4J 集成到一个分布式应用程序中,其中一个任务可以在一个服务器上准备并在另一个服务器上执行。我们真的很希望能够跟踪这些任务的性能,包括进程间传输组件,但是标准的 Perf4J 实现似乎不能这样工作。
看起来您可以序列化一个 StopWatch 对象,但似乎只在工作数据包中传递一个开始时间值然后在接收端使用该开始时间初始化 StopWatch 会更有效(服务器的时钟是使用 NTP 同步)。我确实看到了一个 StopWatch 构造函数,它需要一个开始时间和一个经过时间,但 JavaDoc 说它“通常不应被第三方代码调用”。
有没有一种使用 Perf4J 或其他工具来跟踪从一个进程开始并在另一个进程完成的任务的性能的好方法?