OpenTracing с Spring Boot 2.0.2 не дает никаких следов в Jaeger - PullRequest
0 голосов
/ 28 ноября 2018

Я борюсь с настройкой OpenTracing / Jaeger для приложения Spring Boot 2.0.2.Начиная с рабочего, но самого образца Spring Boot 1.5.3, я перешел к Spring Boot 2.0.2 - который правильно отправлял трассировки.Но используемые там зависимости были смехотворно стары (например, 0.0.4 для opentracing-spring-web-autoconfigure, который теперь доступен в 0.3.2).

Поэтому я перенес приложение на последние зависимости, что привело кследов больше нет в Jaeger.

Я загрузил свои тесты в https://gitlab.com/ceedee_/opentracing-spring-boot. Ветви выглядят следующим образом:

  1. master -> Spring 1.5.3 реализация (работает)
  2. spring-boot-2-0-2-RELEASE -> реализация Spring 2.0.2 (работает с устаревшими файлами)
  3. spring-boot-2-0-2-RELEASE-latest-deps -> реализация Spring 2.0.2 (не работает!)

Отличия от 2. до 3. следующие:

  1. Обновлен pom.xml дляобновлены зависимости.
  2. bean-компонент jaegerTracer использует конструктор (Const-Sampler больше не настроен, должен быть по умолчанию)
  3. application.properties активирует Const-Sampler (закомментировано, поскольку ничего не улучшает)

Кто-нибудь знает, что я делаюнеправильно, чтобы правильно поставить следы в егере?Советы по отладке OpenTracing / Jaeger также приветствуются!

С уважением, cd_

1 Ответ

0 голосов
/ 29 ноября 2018

Проблема заключалась в том, что экземпляр отчета использовал NoopSender - таким образом, игнорируя настройки соединения.

Использование

    <dependency>
        <groupId>io.jaegertracing</groupId>
        <artifactId>jaeger-thrift</artifactId>
        <version>0.32.0</version>
    </dependency>

в вашем POM предоставит соответствующего отправителя для используемого SenderFactoryпо методу SenderResolver :: resol: Jaeger.

Это решило мою проблему.

...