【问题标题】:New Relic @Trace vs. Segment in JavaJava 中的新 Relic @Trace 与 Segment
【发布时间】:2018-01-29 13:36:22
【问题描述】:

我已尝试查找此内容,但没有找到任何适当的答案。

@Trace注释方法和用NewRelic.getAgent().getTransaction().startSegment()segment.end()包装方法的内容有什么区别?

嵌套的@Traces和嵌套的Segments呢?

如果method1 调用method2 并且两者都有@Trace/Segment,并且method1 总共需要100 毫秒,而method2 需要70 毫秒。

将如何报告? method1 是 100 毫秒还是 30 毫秒?

最后,如果两者混在一起呢?

【问题讨论】:

    标签: java newrelic newrelic-platform


    【解决方案1】:

    嵌套跟踪是可能的并且非常有用。如果您只注解控制器,则无法控制被调用的嵌套方法。

    使用 @Trace(dispatcher = true) 注释的方法将显示为“父级”,而嵌套注释在 NewRelic 仪表板中的此父级下聚合。

    在您的示例中,方法 1 将显示为 100 毫秒。

    您可以在https://docs.newrelic.com/docs/apm/transactions/transaction-traces/transaction-trace-details 上找到有关@Trace 和分段的更多信息

    【讨论】:

    • 感谢您的回复。我也这么认为,但我注意到在 New Relic(我有类似的设置)中,包装方法(方法 1)显示的时间比方法 2 少。也知道两者之间有什么区别吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-07
    • 1970-01-01
    • 2022-12-04
    • 1970-01-01
    • 2014-02-09
    • 2023-04-06
    • 1970-01-01
    相关资源
    最近更新 更多