如何查找慢速方法

编辑

在诊断应用程序减速时,识别有问题的服务只是成功的一半。幸运的是,Elastic APM Java 代理提供了多种方法来获取代码的 方法级洞察。这可以帮助您诊断由于繁重的计算、低效的算法或类似与服务之间交互无关的问题而导致的缓慢请求。

如果您不知道要监控哪些方法……​

编辑
基于采样的分析器
编辑

通过定期使用基于采样的分析器记录正在运行的方法,找出导致应用程序变慢的代码部分。

绿色对勾 非常低的开销。
绿色对勾 无需更改代码。
红色叉号 不适用于 Windows 和 OpenJ9。
红色叉号 分析器推断的跨度的持续时间不是精确的测量值,只是估计值。

了解更多

如果您知道要监控哪些方法……​

编辑
API/代码
编辑

使用 API 或 OpenTracing 桥手动为感兴趣的方法创建跨度。

绿色对勾 最灵活。
红色叉号 API 使用不正确可能会导致无效的跟踪(范围泄漏)。

了解更多

注解
编辑

可以在方法顶部放置注解以自动为其创建跨度。

绿色对勾 比 API 更简单、更可靠。
红色叉号 单独使用灵活性较差,但可以与 API 结合使用。

了解更多

基于配置的
编辑

使用配置选项指定要检测的其他方法。

绿色对勾 无需修改源代码。
绿色对勾 可以监控第三方库中的代码。
绿色对勾 通过通配符匹配方法。
红色叉号 易于过度使用,从而影响运行时和启动性能。

了解更多