Probekit 是可编制脚本的字节码检测(BCI)框架,使用它能编写可以插入到程序中的 Java 代码段,从而在程序运行时提供有关该程序的信息。
Probekit 文件可以包含一个或多个探针,每个探针都可包含一个或多个探针段。可以指定想要在给定的程序上使用哪些探针以及想要探针段何时执行。
探针段被组装成一组 Java 方法,然后会编译这些方法。编译了探针之后,探针代码段与标准样板文件组合在一起,并且会生成新类的 Java 源代码。从探针段生成的函数作为生成的探针类的静态方法出现。
当应用探针时,BCI 引擎会参阅探针及其目标模式的列表,并将对探针段方法的调用插入到目标程序中。将调用语句插入到目标方法中的过程称为“检测”。探针段请求的数据项(例如,方法名称和自变量)作为自变量来传递。此系统的一个优点是使用很少的开销就可以将探针插入到大量目标方法中。
如果一个类中的任何方法都满足过滤规则并且可供检测,则该类称为“被探测类”。
上级主题:使用用户定义的探针收集运行时数据
相关信息
基本样本探针