Прослеживание микрометра: почему спанед является частью Traceid и 32 символа длиной вместо 16?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Прослеживание микрометра: почему спанед является частью Traceid и 32 символа длиной вместо 16?

Сообщение Anonymous »

AFAIK, spanId и TraceId, которые входят в MDC, представляют собой 16-символьные строки. Но в моем приложении я заметил, что spanId является частью 32-значного идентификатора трассировки. Ниже приведен пример того же самого.

2023-10-31, [[[traceId=6540ee3f2997f144f45483631005208e, spanId=f45483631005208e]]] [http-nio- 8085-exec-1] ИНФОРМАЦИЯ com.example.trace.Controller – Привет изнутри

Я использую микрометрическую трассировку v1.1.6 с Brave v5.15.1 в качестве поставщика. Ниже приведены мои свойства application.properties

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

server.port=8085
spring.application.name=exampleApp

logging.pattern.console=%d{yyyy-MM-dd }, [[[%mdc]]] [%thread] %-5level %logger{36} - %msg%n

management.tracing.sampling.probability=0.0
management.tracing.propagation.type=B3_MULTI

logging.level.root=info
Я попробовал разобраться в режиме отладки и нашел метод, который его генерирует:

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

static String toTraceIdString(long traceIdHigh, long traceId) {
if (traceIdHigh != 0) {
char[] result = RecyclableBuffers.parseBuffer();
writeHexLong(result, 0, traceIdHigh);
writeHexLong(result, 16, traceId);
return new String(result, 0, 32);
}
return toLowerHex(traceId);
}
Однако мне это не очень помогло.
Как мне добавить 16-значный идентификатор трассировки в MDC вместо 32 символ TraceId+spanId как TraceId?

Подробнее здесь: https://stackoverflow.com/questions/773 ... long-inste
Ответить

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

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

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

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

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