Идентификатор трассы Kamon теряется при регистрации значений задач Monix - PullRequest
0 голосов
/ 27 января 2020

Я регистрирую запрос SQL и использую StrictLogging com.typesafe.scalalogging версии 3.9.2. Запрос SQL получен из Quill (io.getQuill). У него есть метод, который дает запрос SQL в форме monix.eval.Task [String]. Я пытаюсь зарегистрировать запрос, используя

for {
  // some code 
 q <- ctx.translate(queryObject) //  gives a Task[String] 


_ = logger.info(q)

 //some code 

, и регистрирую идентификатор трассировки, используя

Kamon.currentSpan()

Но для приведенного выше фрагмента кода currentSpan теряет идентификатор трассировки и «» регистрируется вместо traceID. У меня есть другой кусок кода, который дает val taskDelay = Task {Thread.sleep (2000) «ТЕСТОВАЯ ЗАДАЧА ДЛЯ ЗАДАЧИ КВИЛЛА»}… yield, а затем выполнить аналогичное для for {

//ONLY FOR TESTING IF TASK is the reason for trace ID to disappear

t <- taskDelay
_ = logger.info("TESTING TASK::::" + t)
// some code 

} yield ……

, но для этого, «TESTING TASK ::::» регистрируется с правильным идентификатором трассировки. Может ли кто-нибудь помочь выяснить, в чем разница между двумя? Мои зависимости

 Seq(
   "io.kamon"                   %% "kamon-core"         % "1.1.5",

  "io.kamon"                   %% "kamon-scala-future" % "1.0.0",
  "io.kamon"                   %% "kamon-zipkin"       % "1.0.1",
  "io.kamon"                   %% "kamon-logback"      % "1.0.5",
  "com.typesafe.scala-logging" %% "scala-logging"      % “3.9.2
)
...