如何查找慢速方法编辑

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

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

基于采样的分析器编辑

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

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

了解更多

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

API/代码编辑

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

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

了解更多

注释编辑

可以在方法顶部放置注释以自动为它们创建跨度。

绿色勾号 比 API 更容易且更健壮。
红色叉号 它本身的灵活性较低,但可以与 API 结合使用。

了解更多

基于配置的编辑

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

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

了解更多