Добавление пользовательского «идентификатора трассировки с альфа-числовыми значениями и выкладывание его в журнал приложения» - PullRequest
0 голосов
/ 07 октября 2019

Я использую Sleuth 2.1.3. Я хочу добавить пользовательский «идентификатор трассировки» в качестве «идентификатора корреляции» с буквенно-цифровым значением и хочу плюнуть в журналы с идентификатором spanid и родителя. Если я использую ниже реализацию для создания нового пользовательского идентификатора трассировки. он печатается в журналах?

Я пробовал нижеприведенную реализацию, но не вижу никаких пользовательских трассировок в журнале https://github.com/openzipkin/zipkin-aws/blob/release-0.11.2/brave-propagation-aws/src/main/java/brave/propagation/aws/AWSPropagation.java

Tracing.newBuilder().propagationFactory(
  ExtraFieldPropagation.newFactoryBuilder(B3Propagation.FACTORY)
                       .addField("x-vcap-request-id")
                       .addPrefixedFields("x-baggage-", Arrays.asList("country-code", "user-id"))
                       .build()
);

Я пробовал с приведенным выше кодом из https://cloud.spring.io/spring-cloud-sleuth/reference/html/#propagationно в журнале

не было идентификатора трассировки

Ответы [ 2 ]

0 голосов
/ 17 октября 2019

Один из способов, который работал для меня, - это использование ExtraFieldPropagation и добавление этих ключей в свойства Sleuth под ключами распространения и ключами из белого списка

пример кода '@Autowired Tracer tracer;

Span currentSpan = tracer.nextSpan().start();
ExtraFieldPropagation.set(
      "customkey", "customvalue");
sleuth:
    log:
      slf4j:
        whitelisted-mdc-key : customkey
propagation:
      tag:
        enabled: true
    propagation-keys : customkey '
0 голосов
/ 07 октября 2019

Вы передали B3Propagation.FACTORY как реализацию фабрики распространения, так что вы явно заявляете, что хотите использовать заголовки B3 по умолчанию. Вы сказали, что хотите, чтобы распространялось и другое буквенно-цифровое поле. Затем в инструменте синтаксического анализа журнала вы можете определить, что вы хотите использовать свое настраиваемое поле в качестве идентификатора трассировки, но это не означает, что поле X-B3-TraceId по умолчанию будет изменено. Если вы хотите использовать свое настраиваемое поле в качестве идентификатора трассировки, который понимает Sleuth, вам нужно изменить формат ведения журнала и внедрить другой фабричный компонент распространения.

...