fuzhengwei / fuzhengwei/itstack-demo-agent
itstack-demo-agent-02-MyMonitorTransformer
- Dominant language
- Java
- Stars
- 115
- Forks
- 67
- PR merge metrics
- No merged PRs in 30d
Description
enhanceMethod方法中的字节码增强建议修改为CtBehavior.insert*方法 。 之前那种方式在增强方法中有调用其他类方法时,可能会有问题
// 前置增强: 打入时间戳
method.addLocalVariable("start", CtClass.longType);
method.insertBefore("start = System.nanoTime();");
final StringBuilder source = new StringBuilder();
// 保留原有的代码处理逻辑
// 后置增强,计算输出方法执行耗时
source
.append("System.out.print(\"method:[")
.append(methodName).append("]\");").append("\n")
.append("System.out.println(\" cost:[\" +(System.nanoTime() - start)+ \"ns]\");")
;
method.insertAfter(source.toString());
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.