Проблема трассировки микрометра Springboot 3JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Проблема трассировки микрометра Springboot 3

Сообщение Anonymous »

Мы используем Springboot 3.1.4, и я пытаюсь использовать подход на основе Micrometer для распределенной трассировки приложения. Я включил правильные зависимости build.gradle, но трассировки работают только для контрольных точек работоспособности и ничего больше. Посмотрев глубже, я заметил странное поведение. Я тестировал 2 потока:
Поток 1 -> REST-вызов службы 1 -> Метод JMS Publish to service 2
Поток 2 -> Вызов REST метода службы 2
В обоих случаях входящая служба получила PropagatedSpan с трассировкойFlags=00. В этом случае никакие трассировки/диапазоны не были записаны/отправлены.
({opentelemetry-trace-span-key=PropagatedSpan{ImmutableSpanContext {traceId=a2ea0716a45d02a490d7cef097acdb9a, spanId=adb8f982d4294b13, traceFlags=00, TraceState=ArrayBasedTraceState{entries=[]}, Remote=false, valid=true}}, opentelemetry-baggage-key={}, Контекст =ImmutableSpanContext{traceId=a2ea0716a45d02a490d7cef097acdb9a, spanId=adb8f982d4294b13, TraceFlags=00, TraceState=ArrayBasedTraceState{entries=[]}, Remote=false, valid=true}})
Однако, когда служба 2 получила запрос от службы 1 в потоке 1, она получила диапазон в виде SDKSpan с трассировкойFlags=01. Когда это происходит, я вижу захваченные трассировки/диапазоны для службы 2 (не службы 1).
({opentelemetry-baggage-key={}, opentelemetry-trace-span-key=SdkSpan{traceId=c92ee058c19d5288d6cc72d2bb9c2a3b, spanId=5797df5b5620f02d, родительскийSpanContext=ImmutableSpanContext{traceId=0000000000000000000000 0000000000, spanId=0000000000000000, TraceFlags=00, TraceState=ArrayBasedTraceState{entries=[]} , удаленное = ложь, допустимое = ложь}, имя =, вид = СЕРВЕР, атрибуты = нуль, статус = ImmutableStatusData {statusCode = UNSET, описание =}, totalRecordedEvents = 0, totalRecordedLinks = 0, startEpochNanos = 17272148999985765169, endEpochNanos = 0}, otelTraceContext=ImmutableSpanContext{traceId=c92ee058c19d5288d6cc72d2bb9c2a3b, spanId=5797df5b5620f02d, traceFlags=01, TraceState=ArrayBasedTraceState{entries=[]}, Remote=false, valid=true} Есть ли способ сделать входящую трассировку/диапазон, чтобы использовать SDKSpan вместо PropagatedSpan, который, кажется, блокирует даже созданные мной пользовательские диапазоны?
Любой другой способ решить эту проблему проблема? Заранее спасибо!
СГ

Подробнее здесь: https://stackoverflow.com/questions/790 ... cing-issue
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»