Мы используем 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
Проблема трассировки микрометра Springboot 3 ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1727218443
Anonymous
Мы используем Springboot 3.1.4, и я пытаюсь использовать подход на основе Micrometer для распределенной трассировки приложения. Я включил правильные зависимости build.gradle, но трассировки работают только для контрольных точек работоспособности и ничего больше. Посмотрев глубже, я заметил странное поведение. Я тестировал 2 потока:
Поток 1 -> REST-вызов службы 1 -> Метод JMS Publish to service 2
Поток 2 -> Вызов REST метода службы 2
В обоих случаях входящая служба получила [b]PropagatedSpan с трассировкойFlags=00[/b]. В этом случае [b]никакие трассировки/диапазоны не были записаны/отправлены[/b].
({opentelemetry-trace-span-key=[b]PropagatedSpan[/b]{ImmutableSpanContext {traceId=a2ea0716a45d02a490d7cef097acdb9a, spanId=adb8f982d4294b13, [b]traceFlags=00[/b], 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, она получила диапазон в виде [b]SDKSpan с трассировкойFlags=01[/b]. Когда это происходит, я вижу [b]захваченные трассировки/диапазоны[/b] для службы 2 (не службы 1).
({opentelemetry-baggage-key={}, opentelemetry-trace-span-key=[b]SdkSpan[/b]{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, [b]traceFlags=01[/b], TraceState=ArrayBasedTraceState{entries=[]}, Remote=false, valid=true} Есть ли способ сделать входящую трассировку/диапазон, чтобы использовать SDKSpan вместо PropagatedSpan, который, кажется, блокирует даже созданные мной пользовательские диапазоны?
Любой другой способ решить эту проблему проблема? Заранее спасибо!
СГ
Подробнее здесь: [url]https://stackoverflow.com/questions/79020551/springboot-3-micrometer-tracing-issue[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия