Istio, gRP C, не получает трассировок серверного промежутка - PullRequest
0 голосов
/ 19 февраля 2020

У меня кластер Kubernetes с несколькими Java службами, развернутыми в AWS с Istio. Я построил ServerInterceptor, где у меня были необходимые заголовки B3 для Istio для контекста gRP C. Затем я реализовал ClientInterceptor, где я анализирую эти заголовки из контекста gRP C и вставляю их в исходящие заголовки.

Я также реализовал OpenTracing Server и Client Tracing Interceptors по: https://github.com/opentracing-contrib/java-grpc

Когда я просматриваю следы в пользовательском интерфейсе Jaeger, все, что я вижу, - это пролеты, сообщаемые коляской. Они правильно связаны, так как он вызывается из сервиса в сервис, но они всегда имеют тип «клиент». Я не вижу ни одного пролета с момента, когда я вызываю базу данных. Кажется, контекст не перенесен из машины в мое приложение. Только с коляски на коляску с коляской, и т. Д. c.

Когда я запускаю стек локально в простой конфигурации docker compose (без kubernetes и istio), я вижу, что серверные промежутки создаются и сообщаются.

Как заставить мой сервер Java gRP C расширяться на пролеты, создаваемые боковыми автомобилями Istio?

...