arthas
arthas copied to clipboard
Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas
通过编译参数-Xpkginfo:always来强制编译package-info.java以实现增量构建的目的 据说package-info.java中没有注解的话默认是不会编译 而useIncrementalCompilation发现java源文件没编译会触发重新编译 可通过加-X参数后在maven构建输出中查找“Stale source detected"和”Changes detected“来排查哪些文件导致无法增量构建 ``` org.apache.maven.plugins maven-compiler-plugin 3.8.0 -Xpkginfo:always ```
主分支中4a48a7b0增加了numberOfLimit,但没实现原PR: #1291 主旨:尽快响应用户请求,避免误操作产生较大CPU和内存消耗 之前numberOfLimit的功能是查询处理结束后,再给出用户已提示这样做实际意义不大。 要做到fail-fast:应该是重构search内部实现,当匹配到目标限制时直接退出,列出结果。 当匹配结果>=numberOfLimit时给出提示
fixed when $MIRROR is false but allways use mirror addr
GC command 调用jstat -gcutil命令,获取当前jvm的gc情况,包括新生代eden SO S1,年老代 O等的百分占比,还包括YGC,fullgcZ执行次数,执行总耗时等,gc优化的一个重要的参考指标
com.taobao.arthas.bytekit.utils.AgentUtils 好像是用于单元测试,应该移动到test目录下。 此类中依赖了ByteBuddyAgent,这个依赖应该不是必须的,修改为test scope。
Add delegation implementation for invokeOrigin, related issue https://github.com/alibaba/arthas/issues/1261 . 1) copy and rename origin method, renamed to xxx_origin_hashcode 2) replace InstrumentApi.invokeOrigin() invoke with renamed method invoke 3) insert apm method...
Improve ByteKit invoke binding process: 1. save invoke stack on demand 2. restore stack saver of on invoke before, fix invoke constructor arg error 3. Fix problem: repeatedly inserting invoke...
初始化命令对象的时候 不再需要硬编码 只需要保证在command包下并且继承`AnnotatedCommand`就会自动添加,并且会排除已经标记`@Deprecated`的class 无论是main方法测试 还是打包成脚本测试都通过 如果有哪里不满意的请跟我说下~ 我自己发现了一个问题就是 自动扫描的 命令顺序不可控 和 原来硬编码的不相同(如果有需要的话可以改成按照首字母排序,或者自定义的权重 或者 把命令归类 然后 每一个分类中 按字母排序)
* init http api buffer pool on demand, reduce side effects * rename ThreadModel.threadStats to ThreadModel.threads
* Decompose the original ObjectView rendering: first generate the `ObjectVO` model, and then render it with `ObjectRenderer`. * Keep the original ObjectView rendering in telnet, and get the extended object...