BTrace是为Java定制的安全的,动态跟踪工具。
BTrace组件
Btrace接受使用Java编程语言编写的跟踪程序。BTrace编译trace 类为字节码,并且提交到运行在目标程序中的java.lang.instrument agent。Btrace agent被动态导入目标程序。
Btrace Client Tool:编译、验证、提交Btrace程序到BTrace VM agent,并且接受trace信息,打印到输出。
BTrace java.lang.instrment agent:对instrument编成字节码,并可以实现热插拔。当然agent也验证Btrace类的字节码
Wire Protocol:client和agent之间的协议
BTrace Packages
com.sun.btrace.agent:包含java.lang.instrument的类。使用简单的socket协议与Client通信。支持多个BTrace client。
com.sun.btrace.annotations:包含了标记和被Btrace使用的枚举类。这些类被bootstrap加载。