转自:Java高级架构狮  链接:https://www.jianshu.com/p/5c62b71fd882 一. 前提 很早之前就了解到目前主流的APM开源框架如Pinpoint、SkyWalking等等都是通过java.lang.instrument包提供的字节码增强功能来实现的。趁着对这块的热情还没消退,抽时间分析一下java.lang.instrument包的使用方式,记录下来写成一个系列的文章。本系列博文针对的是JDK11,其他版本的JDK可能不适合。 二. instrument简介 java…

2021/04/22 0条评论 1521点热度 0人点赞 阅读全文

项目地址:https://github.com/yxkong/agent 目前已实现对线程池、jvm的监控; 主要是在线程池创建时,对线程池进行增强,将线程池强引用到bootstrap-load-client-0.1.jar中的ThreadPoolMonitorData里。 使用此包的前提是线程池是固定资源,启动后不会销毁,如果动态创建线程池并销毁,需要调用shutdown或者shutdowNow,这块已实现对对强引用的解除,否则因为这块强引用导致资源无法释放,没法被gc回收 bootstrap-load…

2021/04/21 0条评论 1089点热度 2人点赞 阅读全文