fuzhengwei / fuzhengwei/itstack-demo-agent

itstack-demo-agent-02-MyMonitorTransformer

Open
#3 0 comments 0 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.