Откройте трассировку с помощью StackDriver в приложении Apache Streams - PullRequest
0 голосов
/ 11 февраля 2020

Какой будет правильный шаблон для использования OpenTracing в приложении Apache Streams? Вся документация, которую я прочитал, предполагает трассировку по HTTP-запросу. В моем случае TraceId и SpanId распространяются в каждом сообщении Kafka.

Я пытался (после https://cloud.google.com/trace/docs/setup/java) обернуть мои функции объединения потоков в

SpanContext spanContext = SpanContext.create(TraceId.fromLowerBase16(traceId), SpanId.fromLowerBase16(parentSpanId),TraceOptions.DEFAULT, Tracestate.builder().build())

try (spanBuilderWithRemoteParent("join-trace", spanContext).setSampler(Samplers.probabilitySampler(1)).startScopedSpan()) {
... // join logic
}

С простой настройкой как

StackdriverTraceExporter.createAndRegister(StackdriverTraceConfiguration.builder().setProjectId(traceProjectId).build());

и использованием io.opencensus:opencensus-xxx:0.24.0 библиотек

Во-первых, в StackDriver ничего не появляется (без ошибок), но что еще более важно, я начинает задаваться вопросом, если это правильный подход. Пользовательский интерфейс StackDriver, по-видимому, также принимает http, есть фильтры для методов http, et c.

...