Istio request tracing for vert.x event bus messages

7/1/2018

Vert.x and kubernetes go hand in and hand. If I am using istio as a service mesh will Zipkin's request tracing be able to track communication done via the event bus?

client ->[rest/http1]-> service-A ->[eventbus]-> service-B

Will istio be able to trace requests done over the eventbus?

The tracing page says that headers need to be propagated through in http or grpc - but the eventbus sends messages via tcp -- does that mean that istio will not be able to trace requests and show the visualisation tools [waterfall graph and visualisation of all the services]

Vertx main page

Eventbus-Vertx page

-- Asad Awadia
istio
kubernetes
microservices
vert.x
zipkin

1 Answer

7/2/2018

tracing in your example would work only for requests made to service-A via HTTP protocol. Istio at the moment traces only HTTP requests.

You can trace event bus messages manually by creating spans inside message producers and receivers. IIRC vert.x event bus does not support headers per message:

https://vertx.io/docs/apidocs/io/vertx/core/eventbus/MessageProducer.html https://vertx.io/docs/apidocs/io/vertx/core/eventbus/DeliveryOptions.html

so you would have to encode tracing IDs into the message body and deserialize it correctly on the receiver side.

-- Pavol Loffay
Source: StackOverflow