Следуя документации 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, хотя.
Что мне здесь не хватает?