【问题标题】:Same spanId of parent and child span in OpenTelemetry (Java)OpenTelemetry(Java)中父子跨度的相同跨度ID
【发布时间】:2020-03-03 06:29:55
【问题描述】:

我正在学习 OpenTelemetry (Java)。我创建了一个控制器。在控制器方法中,我创建了一个跨度。然后从中调用服务类的方法。我在服务方法中创建了另一个跨度。在控制台上打印两个 span 的上下文时,两个 span 的 traceId 相同(应该相同)但它们的 spanId 也相同。这是默认行为还是我做错了什么。

【问题讨论】:

    标签: telemetry opentracing distributed-tracing


    【解决方案1】:

    默认情况下,父跨度和子跨度将具有相同的 traceId 和 spanId。在您的“pom.xml”中添加任何出口商依赖项,例如JaegerExporterLoggerExporter 然后它将正常工作,即两个跨度的 traceId 将相同但 spanIds 将是唯一的。发生这种情况是因为默认情况下 TraceFlags{sampled = false} 的跨度,但添加任何导出器的依赖项会使 TraceFlags{sampled = true}。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-11
      • 2010-09-08
      • 2021-10-02
      • 2022-01-01
      • 2022-01-15
      • 2021-12-31
      • 2021-08-02
      • 2022-11-12
      相关资源
      最近更新 更多