微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SpanContext.createFromRemoteParent无法与opentelemetry-sdk_0.8.0

如何解决SpanContext.createFromRemoteParent无法与opentelemetry-sdk_0.8.0

获取解决方案{{之后,将 opentelemetry-api 0.5.0 升级 0.8.0 时,我面临着这个新问题3}}。我将 opentelemetry-api_0.8.0 替换为 opentelemetry-sdk_0.8.0 ,然后开始获得有效跨度。

但是开始在下面的代码中遇到一个新问题:-

import io.opentelemetry.OpenTelemetry
import io.opentelemetry.context.Scope
import io.opentelemetry.trace._

object Main5 extends App {
  val g: Tracer = OpenTelemetry.getTracer(getClass.getSimpleName)

  val a: TraceId = new TraceId(2213222698317498694L,4674116290206866847L)
  val b: SpanId = new SpanId(7766810830959241280L)
  val c: TraceFlags = TraceFlags.getDefault
  val d: TraceState = TraceState.getDefault
  val e: SpanContext = SpanContext.createFromremoteParent(a,b,c,d)

  val h: Span = g.spanBuilder("xyz").setParent(e).startSpan()
  val i: Scope = g.withSpan(h)

  val w: Span = TracingContextUtils.getCurrentSpan
  val x: SpanContext = w.getContext

  println(x.isValid)
  println(x.isRemote)
}

使用 opentelemetry-sdk_0.8.0 ,我得到的输出为:-

true
false

使用 opentelemetry-api_0.8.0 ,我得到的输出为:-

true
true

我正在创建 SpanContext.createFromremoteParent ,但仍然使用 opentelemetry-sdk_0.8.0 获取 x.isRemote 为假。

我尝试了以下 build.sbt 设置:-

name := "untitled3"
version := "0.1"
scalaVersion := "2.13.3"
libraryDependencies += "io.opentelemetry" % "opentelemetry-api" % "0.8.0"
libraryDependencies += "io.opentelemetry" % "opentelemetry-sdk" % "0.8.0"

并尝试了这个

name := "untitled3"
version := "0.1"
scalaVersion := "2.13.3"
libraryDependencies += "io.opentelemetry" % "opentelemetry-sdk" % "0.8.0"

他们都不提供给我结果,但是如果我将构建设置更改为此:-

name := "untitled3"
version := "0.1"
scalaVersion := "2.13.3"
libraryDependencies += "io.opentelemetry" % "opentelemetry-api" % "0.8.0"

我如上所述获得了预期的输出,但是开始面对 [This Question]

有人可以帮助我解决以下问题吗?

注意:-我正在使用:- scala -> 2.13.3, jvm -> 14, sbt -> 1.3.13

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。