Идентификаторы Zipkin Trace исчезают при выполнении параллельных вызовов - PullRequest
0 голосов
/ 05 ноября 2019

У меня несколько звонков на разные сервисы. Я планирую запустить их параллельно. Вывод каждого метода имеет тип Monix Task. пусть есть 2 объекта двумя разными методами. method1 и method2 вызывают разные конечные точки REST.

output1 = obj1.method1(param1)
output2 = obj1.method2(param2)

output1 и output2 бывают разных типов.

Я пытаюсь использовать метод parZip2 в Monixвыполнить output1 и output2 параллельно. Когда я печатаю диапазон Kamon над первой строкой кода, у меня появляются значения Trace ID, Span ID и т. Д. Но когда параллельное выполнение происходит, идентификатор трассы как-то исчезает, и когда я проверяю Zipkin, я несм. трассировки.

Я попытался написать что-то вроде этого вокруг блока, где я обрабатываю два вызова параллельно.

 val span = Kamon.currentSpan()
 Kamon.withSpan(span) {
      // do some logic for parallel processing
  }

, но все же вызовы конечных точек имеют идентификатор трассировки пустой. Есть ли способ решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...