Есть ли способ включить трассировку zipkin в банке так, что, где бы он ни использовался, он по умолчанию инициализирует отдельный диапазон - PullRequest
1 голос
/ 12 апреля 2019

Я создаю клиентский sdk с модифицированными вызовами к услуге, упакованный как отдельный jar.Я должен включить zipkin tracer / tracing в этот jar-файл, чтобы любое приложение, использующее этот jar-файл для связи со службой, получало отдельный диапазон для каждого вызова службы.Есть ли реальное решение моей проблемы?

Я пытался решить проблему, используя библиотеку "io.zipkin.brave: brave-instrumentation-okhttp3".Я также добавил зависимость "org.springframework.cloud:spring-cloud-starter-sleuth", чтобы идентификатор трассировки создавался по умолчанию.Но добавление этого фляги в проект, который использует kafka-streams и зависимость "io.zipkin.brave: brave-instrumentation-kafka-streams", автоматически не инициализирует новый диапазон.

    Retrofit.Builder builder = new Retrofit.Builder()
        .baseUrl(baseUrl)
        .addConverterFactory(JacksonConverterFactory.create())
        .addCallAdapterFactory(UnwrappedCallAdapterFactory.create());

    // Enable zipking tracing
    HttpTracing httpTracing = HttpTracing.create(tracing).clientOf(client);
    httpClient.dispatcher(new Dispatcher(
        httpTracing.tracing().currentTraceContext()
            .executorService(new Dispatcher().executorService())

    )).addNetworkInterceptor(TracingInterceptor.create(httpTracing));
    Retrofit retrofit = builder.build();

ЧтоЯ ожидаю, что приложения, использующие этот jar, по умолчанию имеют отдельный диапазон для каждого вызова дооснащения, который они делают через этот jar.

...