BTrace

在 Java 应用性能分析与故障诊断领域,工具生态丰富多样。从动态追踪工具如 Btrace、Arthas 的 retransform 能力,到 JDB 调试,再到 JDK 内置的 VisualVM、JFR,以及 JProfiler、MAT 等性能分析工具,还有分布式监控工具、火焰图等,它们共同助力开发者高效定位问题、优化系统性能。

BTrace的 wiki:

https://github.com/btraceio/btrace/wiki

例子

测试代码

图片

btrace程序

图片

启动 btrace

图片

也可以用 arthas 实现 将 OrderProcessor 内容改一下:

图片

重新编译一下,然后 arthas retransform 加载:

图片

可以用 jad 反编译检查一下

再看原先的程序,打印的内容变了

图片

官网的一些例子:

· https://github.com/btraceio/btrace/tree/master/btrace-dist/src/main/resources/samples

图片

对比一下

· arthas 使用了:Instrumentation.retransformClasses(),会替换整个类,风险高

· btrace 使用了:java.lang.instrument,只是在关键函数中注入了额外信息,风险低

----------------------------------------

jdb 的一个例子

编译的时候需要加 -g

图片

使用 jdb 跟踪

图片

进入之后,输入 help,会列出所有调试命令
打断点做调试

图片

其他一些分析工具

分布式监控

  • Prometheus

  • Grafana

  • ELK Stack

  • Zipkin

  • Jaeger

Arthas

  • monitor、watch、trace 等很好用的工具

  • 还有 jad、dashborad、getstatic、ognl

  • profiler 记录火焰图

  • jfr,jfr 记录

JDK 内置工具

  • jstack、jinfo、jps、jmap

  • jstat、jconsole、jcmd、jhat

  • jdb

  • Mission Control

监控工具

  • visualvm

  • JFR

  • YourKit

  • JProfiler

  • Async Profiler

内存 dump分析

  • Elicpse MAT

  • NetBeans Profiler

APM 工具

  • New Relic

  • AppDynamics

  • Datadog APM

其他

  • strace

  • Perf (Linux) + async-profiler

参考

  • btrace github

  • btrace-learning

  • 通过jdb命令连接远程调试的方法

  • btrace使用入门

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值