铿然架构 | 作者 / 铿然一叶
这是铿然架构的第 4 篇原创文章
相关阅读:
JAVA编程思想(三)去掉别扭的if,自注册策略模式优雅满足开闭原则
JAVA编程思想(四)Builder模式经典范式以及和工厂模式如何选?
一、Javaagent
网上关于Javaagent的介绍很多,请找度娘和谷兄。唯一提的一点是字节码注入比较好用的是bytebuddy,封装度很高,使用简单。
二、代码样例
以下为关键代码样例,可以依样画瓢自行改造。
1.编写agent入口
1 | java复制代码package com.javashizhan.trace; |
2.拦截器类TraceInterceptor.java
1 | java复制代码package com.javashizhan.trace.interceptor; |
3.AbstractJunction.java
1 | java复制代码package com.javashizhan.trace.interceptor; |
4.ProtectiveShieldMatcher.java
1 | java复制代码package com.javashizhan.trace.interceptor; |
三、pom文件
1 | xml复制代码<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
四、在Java应用中添加启动参数
1.先将agent工程打成jar包
2.在要使用agent的Java应用中添加如下VM启动参数
1 | diff复制代码-javaagent:D:\MyApp\apache-skywalking-apm-bin\agent\chain-0.0.1-SNAPSHOT.jar |
注意自行替换jar包路径。
end.
本文转载自: 掘金