上传者: 42122306
|
上传时间: 2021-12-30 08:26:57
|
文件大小: 1.13MB
|
文件类型: -
dy-agent
基于Bytebuddy字节码增强技术及Java Agent实现的无侵入式AOP框架
借鉴skywalking的设计原理开发,只保留最基本的match功能
代码简单,容易直接上手二次开发
架构设计
dy-agent-core:核心功能代码,代码量不大,有兴趣可以瞧一瞧。
dy-agent-log4j:为了不与目标应用的日志框架产生冲突,自己实现的log4j。
如何添加新的拦截器
继承AbstractMethodInterceptor类,需要override两个方法: focusOn 以及 match。
focusOn
在focusOn中定义需要拦截的特定类,目前的matcher有NameMatch和MultiNameOrMatch。可自己实现更多Matcher。
match
对类中的相应方法进行拦截。也可直接返回true,表示拦截所有方法。
Demo
参考DemoInter