Распространение/продолжение трассировок от клиента, отправляющего трассировки через специальные заголовки в Springboot 3JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Распространение/продолжение трассировок от клиента, отправляющего трассировки через специальные заголовки в Springboot 3

Сообщение Anonymous »

У нас есть веб-сервис Springboot 3.4 с микрометром, обслуживающий трафик для двух клиентов.
Клиент один, нам повезло, также использует Springboot 3+. Как по волшебству, Springboot способен «распространять», «продолжать» трассировку от клиентской.
Мы можем увидеть что-то вроде этого:
Изображение

Однако есть еще и второй клиент. Они добавляют информацию для отслеживания в свой собственный заголовок.
В нашем серверном приложении мы можем видеть таможенные заголовки

Код: Выделить всё

headers.forEach((key, value) -> {
System.out.printf("Header '%s' = %s%n", key, value);
});

2024-12-10T00:00 [innertrace,,]  INFO 8110 --- [innertrace] [nio-8081-exec-2] [490bdd15c3a1337b6477c965883d1ced-34af6c6a1075a0c6] com.example.innertrace.HelloController   : How many header? 10
Header 'ot-custom-traceid' = 8f7ebd8a73f9a8f50e6a00a87a20952a
Header 'ot-custom-spanid' = 1b08f18b8858bb9a
Header 'content-type' = application/json
Однако, возможно, поскольку трассировки поступают из пользовательского заголовка, мы не можем «распространять» или «продолжать» трассировки.
Проблемы :
  • В этом примере клиент отправляет нам 8f7ebd8a73f9a8f50e6a00a87a20952a 1b08f18b8858bb9a, но мы не можем их получить.
  • Наше приложение создаст новые трассировки в журнале 490bdd15c3a1337b6477c965883d1ced 34af6c6a1075a0c6
  • мы не можем видеть трассировку клиента в наблюдаемости системах, но отслеживает только новые ошибки.
[img]https: //i.sstatic.net/kwrFxGb8.png[/img]

Хотя у нас есть сквозная информация о первом клиенте -> информация о трассировке сервера, мы теряем информацию для второго клиента. Для второго клиента мы видим только информацию со стороны сервера.
Поскольку мы используем Springboot 3.4+, нам хотелось бы, если это возможно, избежать добавления зависимостей от старого Spring Cloud Seuth.
Вопрос, как продолжить или распространить трассировки, отправленные из пользовательских заголовков, отправленных клиентом?

Подробнее здесь: https://stackoverflow.com/questions/792 ... headers-in
Ответить

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

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

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

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

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