skywalking(https://github.com/apache/skywalking)是一个分布式系统的链路追踪系统,提供应用程序的调用连追踪,应用程序性能监控。由agent,oap, admin ui三部分组成,存储部分使用ES。agent提供了无侵入的数据收集,其原理就是使用buddy对指定的类进行了增强,下图是skywalking提供的插件。
可以看到针对常用的框架都提供了适配。具体到某一个框架
可以看到*Instrumentation类提供了拦截器说明:要拦截哪些类,哪些方法,用哪个类去增强。*Interceptor类描述了要如何增强: 调用前要如何做,调用后要如何做。
如果目前官方的插件还没有覆盖到,可以自己定义插件。
我的注解版: