Приложение с Spring Cloud Sleuth, которое сообщает Jaeger с OpenTracing, не использует BraveTracer - PullRequest
0 голосов
/ 26 апреля 2020

Следуя документации Spring Cloud Sleuth, я настроил приложение Spring Boot с клиентом Zipkin:

Конфигурация Gradle:

"org.springframework.cloud:spring-cloud-starter-sleuth",
"org.springframework.cloud:spring-cloud-starter-zipkin"

С этим я запускаю экземпляр Zipkin Server:

docker run -d -p 9411:9411 openzipkin/zipkin

И я получаю следы у Зипкина. Пока все хорошо.

Затем я переключаюсь на сервер Jaeger:

docker run -d -e COLLECTOR_ZIPKIN_HTTP_PORT=9411 --name jaeger -p 5775:5775/udp -p 6831:6831/udp -p 6832:6832/udp -p 5778:5778 -p 16686:16686 -p 14268:14268 -p 9411:9411 jaegertracing/all-in-one:latest

И без каких-либо изменений в моем приложении я вижу эти следы в Jaeger. Отлично.

Документы Sleuth Docs:

15.1. OpenTracing

Spring Cloud Sleuth совместим с OpenTracing. Если у вас есть OpenTracing на пути к классам, мы автоматически регистрируем компонент OpenTracing Tracer. Если вы хотите отключить это sh, установите для параметра spring.sleuth.opentracing.enabled значение false

. После этого я добавил зависимость Open Tracing:

"io.opentracing.brave:brave-opentracing",

Во время запуска OpentracingAutoConfiguration создает BraveTracer.

Дело в том, что я установил точку останова в таких методах, как scopeManager(), activeSpan(), activateSpan(), buildSpan() из этого BraveTracer, и ни один из них не вызывается во время выполнения применение; следы продолжают появляться в Jaeger, хотя.

Что мне здесь не хватает?

...