Есть ли способ включить трассировку zipkin в банке так, что, где бы он ни использовался, он по умолчанию инициализирует отдельный диапазон
Я создаю 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.