opentracing с использованием opentracing-spring-web-autoconfigure не работает - PullRequest
0 голосов
/ 06 мая 2019

pom.xml

<dependency>
         <groupId>io.opentracing.contrib</groupId>
         <artifactId>opentracing-spring-web-autoconfigure</artifactId>
        </dependency>
        <dependency>
            <groupId>com.uber.jaeger</groupId>
            <artifactId>jaeger-core</artifactId>
            <version>0.18.0</version>
        </dependency>

        <dependency>
            <groupId>io.zipkin.reporter</groupId>
            <artifactId>zipkin-sender-okhttp3</artifactId>
            <version>0.10.0</version>
        </dependency>

        <dependency>
            <groupId>io.opentracing.brave</groupId>
            <artifactId>brave-opentracing</artifactId>
            <version>0.20.0</version>
        </dependency>

трассирующий компонент:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;

import com.uber.jaeger.Configuration;
import com.uber.jaeger.samplers.ProbabilisticSampler;

import brave.Tracing;
import brave.opentracing.BraveTracer;
import brave.sampler.Sampler;
import zipkin.Span;
import zipkin.reporter.AsyncReporter;
import zipkin.reporter.Encoding;
import zipkin.reporter.okhttp3.OkHttpSender;



@SpringBootApplication
public class JaegerTracerBean {

      //  @Bean
        public io.opentracing.Tracer jaegerTracer() {
            return new Configuration("spring-boot", new Configuration.SamplerConfiguration(ProbabilisticSampler.TYPE, 1),
                    new Configuration.ReporterConfiguration())
                    .getTracer();
    }


    @Bean
    public io.opentracing.Tracer zipkinTracer() {
        OkHttpSender okHttpSender = OkHttpSender.builder()
                .encoding(Encoding.JSON)
                .endpoint("http://localhost:9411/api/v1/spans")
                .build();
        AsyncReporter<Span> reporter = AsyncReporter.builder(okHttpSender).build();
        Tracing braveTracer = Tracing.newBuilder()
                .localServiceName("spring-boot")
                .reporter(reporter)
                .traceId128Bit(true)
                .sampler(Sampler.ALWAYS_SAMPLE)
                .build();
        return BraveTracer.create(braveTracer);
    }



    public static void main(String[] args) {
    SpringApplication.run(JaegerTracerBean.class, args);

}

}

Ручная настройка работала нормально, однако автоматическая конфигурация не работает.Даже имя службы не создается. Работающий сервер jaeger с помощью Docker на Mac.

Используемые команды:

для zipkin:

запуск Docker --rm -it -p 9411: 9411 openzipkin / zipkin

для all-in-один:

docker run -d --name jaeger \
  -e COLLECTOR_ZIPKIN_HTTP_PORT=9411 \
  -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:1.11

Что кажется неправильным?Как мне это исправить?

...