JENNIFER JAVA Agent

      JENNIFER Agent收集多种性能数据,并向JENNIFER Server传输这些数据。JENNIFER JAVA Agent收集的性能数据来自JAVA应用程序,通常来自于在WAS中运行的Web应用程序。

      因此,JENNIFER Agent与JAVA应用程序内部嵌套(embeded)后运行的。也就是说,JENNIFER Agent和JAVA应用程序在相同的JAVA虚拟机(JAVA VIrtual Machine,以下简称JVM)Process中运行。JENNIFER JAVA Agent内部包括三种模块,即由Instrumentation、Native、Base模块

  • • Instrumentation模块:需要在不修改JAVA Application Source Code情况下,把一些用于收集性能数据的Trace Code和Profile信息输出Code插入到JAVA Application Class中。Instrumentation模块负责这一任务,在JENNIFER中也称为LWST ((Light Weight StackTrace)模块。
  • • Native模块:利用JNI(JAVA Native Interface)调用的C Library。该模块收集安装了JENNIFER Agent的JAVA应用程序运行的硬件的CPU使用率及系统Memory使用量等信息。Native模块按照操作系统编译后,以so或dll文件形式放入JENNIFER包中。
  • • Base模块:收集多种性能数据并对收集到的性能数据进行一次加工后,向JENNIFER Server传输。